public void Init(GDSKit.SkillConfig skillConfig, Transform rootTf) { mSkillConfig = skillConfig; GameMain.Instance.ResMgr.LoadResourceAsync(this, "jostickSkillOpe", typeof(GameObject), delegate(UnityEngine.Object prefab) { mObj = GameObject.Instantiate <GameObject>(prefab as GameObject); mObj.transform.SetParent(rootTf); mObj.transform.Reset(); mJostickControl = new JostickController(); mJostickControl.Init(mObj.transform, null, delegate() { UpdateAreaEffectState(); UpdateCastDisEffectState(); }, delegate() { UpdateAreaEffectState(); UpdateAreaEffect(); UpdateCastDisEffectState(); OperatorManager.Instance.UseAreaSkill(mSkillConfig.id, mJostickControl.movementVector); } ); }, delegate(string errorCode) { }); CreateAreaEffect(); CreateCastDisEffect(); TimerManager.Instance.RepeatCall(ulong.MaxValue, UpdateAreaEffect); TimerManager.Instance.RepeatCall(ulong.MaxValue, UpdateCastDisEffect); }
public override void OnOpend(object openParam) { base.OnOpend(openParam); mJostickController = new JostickController(); mJostickController.Init(PrefabTf.Find("SimpleTouchJoystick"), delegate() { mIsDirty = true; }, delegate() { mIsDirty = true; }, delegate() { mIsDirty = true; }); mTimerId = TimerManager.Instance.RepeatCall(ulong.MaxValue, delegate() { if (!mIsDirty) { return; } if (mJostickController.touchPresent) { GameBattle.LogicLayer.OperatorManager.Instance.MoveJoystick(mJostickController.movementVector); } else { GameBattle.LogicLayer.OperatorManager.Instance.StopMove(); } mIsDirty = false; }); }