//itemskill fun public RandomItemObj TryGetItemskill(Vector3 pos, float percent = 1.0f) { System.Random rand = new System.Random(); List <List <ItemAsset.MaterialItem> > ItemsMasters = new List <List <ItemAsset.MaterialItem> >(); //List<ItemAsset.MaterialItem> ItemsMaster; if (m_curNpcAblitys == null) { return(null); } foreach (NpcAbility Ablity in m_curNpcAblitys) { if (Ablity.IsGetItem()) { //ItemsMaster = Ablity.GetItem(percent); ItemsMasters.Add(Ablity.GetItem(percent)); //break; } } if (ItemsMasters == null) { return(null); } List <int> _Items = new List <int>(); for (int i = 0; i < ItemsMasters.Count; i++) { if (ItemsMasters[i] != null && ItemsMasters[i].Count > 0) { foreach (ItemAsset.MaterialItem masrerItem in ItemsMasters[i]) { if (masrerItem.count > 0) { _Items.Add(masrerItem.protoId); _Items.Add(masrerItem.count); } } } } if (_Items == null || _Items.Count <= 0) { return(null); } return(new RandomItemObj(pos + new Vector3((float)rand.NextDouble() * 0.15f, 0, (float)rand.NextDouble() * 0.15f), _Items.ToArray())); }
private void GetAblityInfos() { AblityInfos.Clear(); foreach (NpcAbility Ablity in m_curNpcAblitys) { if (Ablity == null) { return; } if (Ablity.IsTalent()) { AblityInfo info = new AblityInfo(); Ablity.CalculateCondtion(); info._Percent = GetValueById(Ablity.id); info._ProtoIds = GetProtoIDs(Ablity.id); info.IsTalent = true; info._type = Ablity.Type; info._Correctrate = Ablity.Correctrate; info.DecsId = Ablity.desc; info._icon = Ablity.icon; info._level = Ablity.level; AblityInfos[Ablity.id] = info; } else if (Ablity.Isskill()) { AblityInfo info = new AblityInfo(); info.IsSkill = true; Ablity.CalculateCondtion(); info.SkillId = Ablity.skillId; info._Skill_R = Ablity.SkillRange; info._Percent = Ablity.SkillPerCent; info._type = Ablity.Type; info.DecsId = Ablity.desc; info._icon = Ablity.icon; info._level = Ablity.level; AblityInfos[Ablity.id] = info; } else if (Ablity.IsBuff()) { AblityInfo info = new AblityInfo(); info.IsBuff = true; info.BuffId = Ablity.buffId; info._type = Ablity.Type; info.DecsId = Ablity.desc; info._icon = Ablity.icon; info._level = Ablity.level; AblityInfos[Ablity.id] = info; } if (Ablity.IsGetItem()) { AblityInfo info = new AblityInfo(); info.IsGetItem = true; info._Items = Ablity.GetItem(1.0f); info._type = Ablity.Type; info.DecsId = Ablity.desc; info._level = Ablity.level; AblityInfos[Ablity.id] = info; } } return; }