using System; using System.Collections; using System.Collections.Generic; using BITFALL.Player.Inventory; using BITKit; using BITKit.Entities; using UnityEngine; namespace BITFALL.Player.Survival { public class PlayerEatService : EntityComponent { private IPlayerSurvivalService _survival; private IPlayerInventory _inventory; public override void OnStart() { base.OnStart(); _inventory = entity.Get(); _inventory.OnUseItem += OnUseItem; _survival = entity.Get(); } private bool OnUseItem(IBasicItem arg) { var used = false; { if (arg.GetAssetable().TryGetProperty(out var addHunger) && _survival.Elements.TryGetAny(x => x is PlayerSurvivalHunger, out var element)) { element.Value += addHunger.Value; used = true; } if (arg.GetAssetable().TryGetProperty(out var addThirst) && _survival.Elements.TryGetAny(x => x is PlayerSurvivalThirst, out element)) { element.Value += addThirst.Value; used = true; } } return used; } } }