void UpdateState() { if (!this.render.enabled) { return; } var inputState = controls.GetInputStateOnItem(this.render); bool canUse = itemCountManager.CanUse(); if (!canUse) { this.CurrentState = State.Inactive; return; } if (canUse && new[] { State.Normal, State.Hover }.Contains(this.CurrentState)) { if (inputState.IsUsingMainAction) { this.inventory.ActivateItem(this.ReferenceName); return; } if (inputState.IsHovering) { this.CurrentState = State.Hover; } else { this.CurrentState = State.Normal; } } }