public virtual bool UseItem(PlayerController player) { if (LastUse + Cooltime > Time.time) { return(false); } LastUse = Time.time; if (player.Stamina < RequiredStamina) { UIStatusManager.GetInstance()?.AddText("You need to take a rest!", 1.0f); return(false); } player.Stamina -= RequiredStamina; if (IsConsumed) { for (var i = 0; i < player.Inventory.MaxItems; i++) { if (player.Inventory.Get(i) != this) { continue; } Count--; player.Inventory.Set(i, (Count == 0) ? null : this); break; } } OnUseItem(player); return(true); }
public void ExecuteEvents(PlayerController player) { var date = player.GameManager.DayCounter; if (date <= _lastDate) { return; } _lastDate = date; var letterCount = player.Inventory.GetCount(ItemLetter.Id); if (letterCount > 0) { UIStatusManager.GetInstance()?.AddText("Your outdated letters have been disposed!", 1f); player.Inventory.RemoveItem(new ItemLetter(letterCount)); } var dialog = _dialogManager.OpenIfNoneOpened(DialogKey.Note, _dialogManager.note); dialog.GetComponent <UINote>().SetDay(player.GameManager.DayCounter); if (!_eventTable.TryGetValue(date, out var todayInfo)) { todayInfo = _defaultEvent; } foreach (var todayEvent in todayInfo.Events) { todayEvent.OnExecute(player); } }
public void Start() { Craft = new CraftManager(this); GameManager = gameManager.GetComponent <GameManager>(); World = GameManager.World; _statusManager = GameObject.FindGameObjectWithTag("StatusManager") .GetComponent <UIStatusManager>(); Entities = GameObject.FindGameObjectWithTag("EntityManager") .GetComponent <EntityManager>(); Controller = GetComponent <CharacterController>(); _animator = GetComponent <Animator>(); _animMove = Animator.StringToHash("Move"); _animAttack = Animator.StringToHash("IsAttack"); }
public override void OnInteract(PlayerController player) { base.OnInteract(player); var result = EventManager.GetInstance().ClaimItem( player, transform.position + new Vector3(0, 4f, 0), out var count ); if (result) { return; } if (count > 0) { UIStatusManager.GetInstance()?.AddText("There were no letters but something came out", 2.5f); return; } UIStatusManager.GetInstance()?.AddText("The postbox is empty.", 1.0f); }