namespace ExitGames.Demos.DemoPunVoice
{

	// [TypeInfo RVA: 0x0]
	public class OrthographicController : ThirdPersonController
	{
		public float smoothing; // 0x54
		private UnityEngine.Vector3 offset; // 0x58

		// RVA: 0x3282AEC VA: 0x781896DAEC
		protected override void Init();
		/*
		 *   void *pvVar1;
		 *   undefined1 *puVar2;
		 *
		 *   BaseController.Init((BaseController *)this);
		 *   pvVar1 = UnityEngine.Camera.get_main();
		 *   puVar2 = &this.field_0x20;
		 *   *(void **)puVar2 = pvVar1;
		 *   if (iRam00000000077785f0 != 0) {
		 *     func_0x032ed0c0(1L << ((ulong)puVar2 >> 0xc & 0x3f),
		 *                     ((ulong)puVar2 >> 0x12 & 0x7fff) * 8 + 0x75ac5c8);
		 *   }
		 *   return;
		 */
		// RVA: 0x3282B18 VA: 0x781896DB18
		protected override void SetCamera();
		/*
		 *   void *this_00;
		 *   UnityEngine_Vector3 UVar1;
		 *   UnityEngine_Vector3 UVar2;
		 *
		 *   BaseController.SetCamera((BaseController *)this);
		 *   if (*(void **)&this.field_0x38 != null) {
		 *     UVar1 = UnityEngine.Transform.get_position(*(void **)&this.field_0x38);
		 *     this_00 = UnityEngine.Component.get_transform(this);
		 *     if (this_00 != null) {
		 *       UVar2 = UnityEngine.Transform.get_position(this_00);
		 *       (this.offset).x = UVar1.x - UVar2.x;
		 *       (this.offset).y = UVar1.y - UVar2.y;
		 *       (this.offset).z = UVar1.z - UVar2.z;
		 *       return;
		 *     }
		 *   }
		 *   IL2CPP.ThrowNullReferenceException();
		 */
		// RVA: 0x3282B8C VA: 0x781896DB8C
		protected override void Move(float h, float v);
		/*
		 *   void *pvVar1;
		 *   long lVar2;
		 *
		 *   ThirdPersonController.Move((ThirdPersonController *)this,h,v)
		 *   ;
		 *   pvVar1 = UnityEngine.Component.get_transform(this);
		 *   if (pvVar1 != null) {
		 *     UnityEngine.Transform.get_position(pvVar1);
		 *     pvVar1 = *(void **)&this.field_0x38;
		 *     if (pvVar1 != null) {
		 *       UnityEngine.Transform.get_position(pvVar1);
		 *       UnityEngine.Time.get_deltaTime();
		 *       if ((bRam000000000755ff19 & 1) == 0) {
		 *         func_0x031fdc8c(PTR_DAT_0714f6d0,0);
		 *         bRam000000000755ff19 = 1;
		 *       }
		 *       if (pvVar1 != null) {
		 *         lVar2 = *(long *)((long)pvVar1 + 0x10);
		 *         if (lVar2 == 0) {
		 *           UnityEngine.Bindings.ThrowHelper.ThrowNullReferenceException(pvVar1);
		 *         }
		 *         if (pcRam000000000755ff50 == null) {
		 *           pcRam000000000755ff50 = (code *)func_0x031fdc50(&UNK_01396672);
		 *         }
		 *         (*pcRam000000000755ff50)(lVar2,&stack0xffffffffffffffd4);
		 *         return;
		 *       }
		 *       IL2CPP.ThrowNullReferenceException();
		 *     }
		 *   }
		 *   IL2CPP.ThrowNullReferenceException();
		 */
		// RVA: 0x3282D20 VA: 0x781896DD20
		private void CameraFollow();
		/*
		 *   void *pvVar1;
		 *   long lVar2;
		 *
		 *   pvVar1 = UnityEngine.Component.get_transform(this);
		 *   if (pvVar1 != null) {
		 *     UnityEngine.Transform.get_position(pvVar1);
		 *     pvVar1 = *(void **)&this.field_0x38;
		 *     if (pvVar1 != null) {
		 *       UnityEngine.Transform.get_position(pvVar1);
		 *       UnityEngine.Time.get_deltaTime();
		 *       if ((bRam000000000755ff19 & 1) == 0) {
		 *         func_0x031fdc8c(PTR_DAT_0714f6d0,0);
		 *         bRam000000000755ff19 = 1;
		 *       }
		 *       if (pvVar1 != null) {
		 *         lVar2 = *(long *)((long)pvVar1 + 0x10);
		 *         if (lVar2 == 0) {
		 *           UnityEngine.Bindings.ThrowHelper.ThrowNullReferenceException(pvVar1);
		 *         }
		 *         if (pcRam000000000755ff50 == null) {
		 *           pcRam000000000755ff50 = (code *)func_0x031fdc50(&UNK_01396672);
		 *         }
		 *         (*pcRam000000000755ff50)(lVar2,&stack0xffffffffffffffd4);
		 *         return;
		 *       }
		 *       IL2CPP.ThrowNullReferenceException();
		 *     }
		 *   }
		 *   IL2CPP.ThrowNullReferenceException();
		 */
		// RVA: 0x3282DF8 VA: 0x781896DDF8
		public void .ctor();
		/*
		 *   undefined *puVar1;
		 *
		 *   *(undefined8 *)&this.field_0x50 = _UNK_0134da58;
		 *   *(undefined4 *)&this.field_0x48 = 0x40a00000;
		 *   puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
		 *   if ((bRam000000000755f76f & 1) == 0) {
		 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8,0);
		 *     bRam000000000755f76f = 1;
		 *   }
		 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
		 *     func_0x031fde08();
		 *   }
		 *   return;
		 */
	}
}
