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); }
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); }
public Task ReplaceItemAsync(WafclastItem item) => Itens.ReplaceOneAsync(x => x.ItemId == item.ItemId, item, new ReplaceOptions { IsUpsert = true });
public bool TryGetEquipamento(EquipamentoType equipamentoType, out WafclastItem item) => Equipamentos.TryGetValue(equipamentoType, out item);