예제 #1
0
        public bool AddEquip(NEquipInfo equipInfo)
        {
            if (Equips.ContainsKey(equipInfo.Id))
            {
                return(false);
            }
            Equip equip = new Equip(equipInfo);

            Equips.Add(equip.ID, equip);
            Debug.Log($"Add Equip {equip.ID}");
            return(true);
        }
예제 #2
0
 public void GetEquipInfos(List <NEquipInfo> equips)
 {
     foreach (var item in this.Equips)
     {
         NEquipInfo info = new NEquipInfo()
         {
             Id         = item.Value.Id,
             Property   = item.Value.Property,
             templateId = item.Value.TemplateId
         };
         equips.Add(info);
     }
 }
예제 #3
0
        public Result SellEquip(NetConnection <NetSession> sender, NEquipInfo equipInfo)
        {
            Equip equip;

            if (!sender.Session.Character.equipManager.GetEquip(equipInfo.Id, out equip))
            {
                return(Result.Failed);
            }
            if (!sender.Session.Character.equipManager.RemoveEquip(equipInfo.Id))
            {
                return(Result.Failed);
            }
            ApplyCurrency(sender.Session.Character, equip.Define);
            return(Result.Success);
        }
예제 #4
0
        public Result SellEquip(NetConnection <NetSession> sender, NEquipInfo equipInfo)
        {
            EquipDefine itemDefine;

            if (!DataManager.Instance.Equips.TryGetValue(equipInfo.Id, out itemDefine))
            {
                return(Result.Failed);
            }
            if (!sender.Session.Character.equipManager.HasEquip(equipInfo.Id))
            {
                return(Result.Failed);
            }
            sender.Session.Character.equipManager.RemoveEquip(equipInfo.Id);
            ApplyCurrency(sender.Session.Character, itemDefine);
            return(Result.Success);
        }
예제 #5
0
 private bool OnEquipStatusNotify(NStatus nStatus)
 {
     if (nStatus.Action == StatusAction.Add)
     {
         NEquipInfo nEquipInfo = new NEquipInfo()
         {
             Id         = nStatus.Id,
             templateId = nStatus.Value,
             Property   = nStatus.Param
         };
         User.Instance.CurrentCharacter.Equips.Add(nEquipInfo);
         return(AddEquip(nEquipInfo));
     }
     else if (nStatus.Action == StatusAction.Delete)
     {
         return(RemoveEquip(nStatus.Id));
     }
     return(false);
 }