/// <summary> 初始化主角 </summary> public void InitMainPlayer() { if (m_IsMainPlayerInit) { return; } if (GlobalInit.Instance.PlayerInfo != null) { GameObject mainPlayerObj = Object.Instantiate(GlobalInit.Instance.JobDic[GlobalInit.Instance.PlayerInfo.JobId]); Object.DontDestroyOnLoad(mainPlayerObj); GlobalInit.Instance.CurrPlayer = mainPlayerObj.GetComponent <RoleCtrl>(); GlobalInit.Instance.CurrPlayer.Init(RoleType.MainPlayer, GlobalInit.Instance.PlayerInfo, new RoleMainPlayerCityAI(GlobalInit.Instance.CurrPlayer)); JobEntity entity = JobDBModel.Instance.Get(GlobalInit.Instance.PlayerInfo.JobId); for (int j = 0; j < entity.WeaponPath.Length; j++) { GameObject weaponObj = AssetBundleManager.Instance.Load(string.Format("Download/Model/{0}/{1}.assetbundle", entity.WeaponFloader, entity.WeaponPath[j]), entity.WeaponPath[j]); Object.Instantiate(weaponObj, mainPlayerObj.transform.GetChild(0).Find(entity.WeaponParent[j])); } int[] phySkillIdArray = entity.PhyAttackIdArray; for (int i = 0; i < phySkillIdArray.Length; i++) { RoleSkillInfo info = new RoleSkillInfo(); info.SkillId = phySkillIdArray[i]; info.SkillLevel = 1; info.SlotsNode = 0; GlobalInit.Instance.PlayerInfo.PhySkillDic[i] = info; } } m_IsMainPlayerInit = true; }
public void AddUseSkillInfo(RoleSkillInfo info, string key) { CacheUseSkillInfo dict = GetCacheSkillInfo(); if (dict != null) { if (dict.roleSkillInfo.Count > 30) { string first = string.Empty; var iter = dict.roleSkillInfo.GetEnumerator(); while (iter.MoveNext()) { first = iter.Current.Key; break; } iter.Dispose(); if (!string.IsNullOrEmpty(first) && dict.roleSkillInfo.ContainsKey(first)) { dict.roleSkillInfo.Remove(first); } } dict.roleSkillInfo.Add(key, info); } }
public RoleTransferAttackInfo(RoleCtrl attackRole, RoleCtrl beAttackRole, RoleSkillInfo skillInfo) { AttackRoleCtrl = attackRole; BeAttackRoleCtrl = beAttackRole; SkillInfo = skillInfo; }