コード例 #1
0
 public bool TryAddItem(WafclastItem item, int quantidade = 1)
 {
     switch (item)
     {
     case WafclastItemNormal win:
         EspacoAtual += quantidade;
         if (EspacoAtual > EspacoMax)
         {
             return(false);
         }
         else
         {
             var itemigual = Itens.Find(x => x.ItemId == win.ItemId);
             if (itemigual != null)
             {
                 itemigual.Quantidade += quantidade;
             }
             else
             {
                 Itens.Add(new Item(win.ItemId, quantidade));
             }
             return(true);
         }
     }
     return(false);
 }
コード例 #2
0
        public bool TryEquiparItem(WafclastItem item)
        {
            switch (item)
            {
            case WafclastItemArma wia:
                if (TryGetEquipamento(wia.Slot, out var _))
                {
                    return(false);
                }
                var habForca  = (WafclastProficienciaForca)GetHabilidade(Forca);
                var habAtaque = (WafclastProficienciaAtaque)GetHabilidade(Ataque);
                wia.CalcularDanoArma();
                wia.CalcularPrecisao();

                habForca.DanoExtra      += wia.DanoMax;
                habAtaque.PrecisaoExtra += wia.Precisao;
                Equipamentos.Add(wia.Slot, wia);
                return(true);
            }
            return(false);
        }
コード例 #3
0
 public Task ReplaceItemAsync(WafclastItem item)
 => Itens.ReplaceOneAsync(x => x.ItemId == item.ItemId, item, new ReplaceOptions {
     IsUpsert = true
 });
コード例 #4
0
 public bool TryGetEquipamento(EquipamentoType equipamentoType, out WafclastItem item)
 => Equipamentos.TryGetValue(equipamentoType, out item);