private void OtherMorphFinish(long serverID) { OtherPlayer player = CoreEntry.gActorMgr.GetPlayerActorByServerID(serverID) as OtherPlayer; if (null == player) { return; } MsgData_sSceneObjectEnterHuman humanStruct = CoreEntry.gSceneObjMgr.GetEntityData(serverID) as MsgData_sSceneObjectEnterHuman; if (null == humanStruct) { return; } Vector3 pos = player.transform.position; Vector3 angle = player.transform.eulerAngles; CoreEntry.gActorMgr.RemoveActor(player); player.RecycleObj(); humanStruct.ChangeID = 0; var other = CoreEntry.gSceneLoader.LoadOtherPlayer(humanStruct); other.transform.position = pos; other.transform.eulerAngles = angle; }
private void OtherMorphingBegin(long serverID, int changeID, float scale) { OtherPlayer player = CoreEntry.gActorMgr.GetPlayerActorByServerID(serverID) as OtherPlayer; if (null == player) { return; } player.transform.localScale = Vector3.one; Vector3 pos = player.transform.position; Vector3 angle = player.transform.eulerAngles; MsgData_sSceneObjectEnterHuman humanStruct = CoreEntry.gSceneObjMgr.GetEntityData(serverID) as MsgData_sSceneObjectEnterHuman; if (null == humanStruct) { return; } //���� humanStruct.Ride = 0; CoreEntry.gActorMgr.RemoveActor(player); player.RecycleObj(); humanStruct.ChangeID = changeID; var other = CoreEntry.gSceneLoader.LoadOtherPlayer(humanStruct); other.transform.localScale = new Vector3(scale, scale, scale); other.transform.position = pos; other.transform.eulerAngles = angle; }