private void MeMorphingBegin() { PlayerObj actor = CoreEntry.gActorMgr.MainPlayer; if (null == actor) { return; } Vector3 prePos = actor.transform.position; //var isWild = TaskMgr.IsWildTask; //var isAuto = AutoAIRunner.IsInAutoMode_Ex; //AutoAIRunner.StopAll(); if (PlayerData.Instance.RideData.RideState == 1) { //PlayerData.Instance.RideData.mRideState = 0; PlayerData.Instance.RideData.SendChangeRideStateRequest(0); CoreEntry.gActorMgr.MainPlayer.GetDownHorse(); } CoreEntry.gActorMgr.RemoveActor(actor); GameObject obj = CoreEntry.gSceneLoader.LoadPlayer(morphModelID); if (null != obj) { obj.transform.position = prePos; obj.transform.eulerAngles = actor.transform.eulerAngles; obj.transform.localScale = new Vector3(Scale, Scale, Scale); } //if (isAuto) //{ // AutoAIRunner.Init(); // TaskMgr.IsWildTask = isWild; // AutoAIRunner.SetAutoFight(true, null); //} //else if (TaskMgr.LastClickTaskID > 0) //{ // AutoAIRunner.Init(); // AutoAIRunner.SetAutoTask(true); //} actor.RecycleObj(); actor.HideBlobShadow(); //ReSetSkills(0); CoreEntry.gActorMgr.MainPlayer.ReBindSkill(); CoreEntry.gActorMgr.MainPlayer.RebindSkillButton(); GameObject mEffectObj = CoreEntry.gGameObjPoolMgr.Instantiate(mUIEffectPath); if (null != mEffectObj) { SceneEfxPool efx = mEffectObj.GetComponent <SceneEfxPool>(); if (efx == null) { efx = mEffectObj.AddComponent <SceneEfxPool>(); } if (efx != null) { efx.Init(transform.position, 2.0f); } PanelBase mainPanel = MainPanelMgr.Instance.GetPanel("UIMain"); if (mainPanel != null) { mEffectObj.transform.SetParent(mainPanel.transform); mEffectObj.transform.localPosition = Vector3.zero; mEffectObj.transform.localScale = Vector3.one; } } mEffectObj = CoreEntry.gGameObjPoolMgr.Instantiate(mPlayerEffectPath); if (null != mEffectObj) { SceneEfxPool efx = mEffectObj.GetComponent <SceneEfxPool>(); if (efx == null) { efx = mEffectObj.AddComponent <SceneEfxPool>(); } if (efx != null) { efx.Init(transform.position, 2.0f); } if (null != obj) { mEffectObj.transform.position = obj.transform.position; } } PlayerObj mainObj = CoreEntry.gActorMgr.MainPlayer; if (null != mainObj) { //mainObj.ChangeWeapon(PlayerData.Instance.GetWeaponModelID()); StateParameter param = new StateParameter(); param.state = ACTOR_STATE.AS_ENTER; mainObj.RequestChangeState(param); } }