void CreatRoleMode(PvpRoleInfo Char, int VocationID, Transform point) { var pvpConfigData = PlayerDataManager.Instance.GetPVPItemData(VocationID); Char.pvpConfigData = pvpConfigData; Char.playerGenerateConfigData = PlayerDataManager.Instance.GetUIItemData((byte)VocationID); if (Char.playerGenerateConfigData.PlayerId == 1) { if (Char.RoleMode_Char01 == null) { Char.RoleMode_Char01 = RoleGenerate.GenerateRole(Char.playerGenerateConfigData.PlayerName, Char.playerGenerateConfigData.DefaultAvatar, true); Char.RoleMode_Char01.transform.parent = point; Char.RoleMode_Char01.transform.localPosition = Vector3.zero; Char.RoleMode_Char01.transform.localEulerAngles = new Vector3(0, 180, 0); RoleGenerate.AttachAnimation(Char.RoleMode_Char01, pvpConfigData.PlayerName, pvpConfigData.DefaultAnim, pvpConfigData.Animations); Char.RoleControl = Char.RoleMode_Char01.AddComponent <PvpRoleControl>(); } else { Char.RoleMode_Char01.SetActive(true); Char.RoleControl = Char.RoleMode_Char01.GetComponent <PvpRoleControl>(); } Char.currentRoleMode = Char.RoleMode_Char01; } else { if (Char.RoleMode_Char04 == null) { Char.RoleMode_Char04 = RoleGenerate.GenerateRole(Char.playerGenerateConfigData.PlayerName, Char.playerGenerateConfigData.DefaultAvatar, true); Char.RoleMode_Char04.transform.parent = point; Char.RoleMode_Char04.transform.localPosition = Vector3.zero; Char.RoleMode_Char04.transform.localEulerAngles = new Vector3(0, 180, 0); RoleGenerate.AttachAnimation(Char.RoleMode_Char04, pvpConfigData.PlayerName, pvpConfigData.DefaultAnim, pvpConfigData.Animations); Char.RoleControl = Char.RoleMode_Char04.AddComponent <PvpRoleControl>(); } else { Char.RoleMode_Char04.SetActive(true); Char.RoleControl = Char.RoleMode_Char04.GetComponent <PvpRoleControl>(); } Char.currentRoleMode = Char.RoleMode_Char04; } }
/// <summary> /// Plaies the animation. /// </summary> /// <param name="roleInfo">Role info.</param> /// <param name="isopening">只有在show方法中isopening=true <c>true</c> isopening.</param> void PlayAnimation(PvpRoleInfo roleInfo, bool isopening) { if (PvpDataManager.Instance.CurrentViewState == PVPViewState.InPage) { var Config = roleInfo.pvpConfigData; switch (PvpDataManager.Instance.CurrentMatchState) { case PVPMatchState.defult: roleInfo.RoleControl.PlayAnimation(Config.In_WeaponPos, Config.In_Ani, Config.In_Eff, Config.NotAdapIdle_WeaponPos, Config.NotAdapIdle_Ani, Config.NotAdapIdle_Eff); break; case PVPMatchState.Team: if (isopening) { roleInfo.RoleControl.PlayAnimation(null, null, null, Config.NotAdapIdle_WeaponPos, Config.NotAdapIdle_Ani, Config.NotAdapIdle_Eff); } else { roleInfo.RoleControl.PlayAnimation(Config.EnterGroup_WeaponPos, Config.EnterGroup_Ani, Config.EnterGroup_Eff, Config.NotAdapIdle_WeaponPos, Config.NotAdapIdle_Ani, Config.NotAdapIdle_Eff); } break; case PVPMatchState.Match: if (isopening) { roleInfo.RoleControl.PlayAnimation(null, null, null, Config.AdapIdle_WeaponPos, Config.AdapIdle_Ani, Config.AdapIdle_Eff); } else { roleInfo.RoleControl.PlayAnimation(Config.AdapStar_WeaponPos, Config.AdapStar_Ani, Config.AdapStar_Eff, Config.AdapIdle_WeaponPos, Config.AdapIdle_Ani, Config.AdapIdle_Eff); } break; } } }