protected void RemoveLastConditionEffect() { if (PlayerConditionState.Any()) { PlayerConditionState.Remove(PlayerConditionState.ElementAt(PlayerConditionState.Count - 1)); } }
protected void ApplyConditionEffect(ICondition condition) { var conditionToApply = new PlayerConditionState() { ActiveCondition = condition }; if (!PlayerConditionState.Contains(conditionToApply)) { PlayerConditionState.Add(conditionToApply); } }
protected void RemoveConditionEffect(ICondition condition) { if (!PlayerConditionState.Any()) { Debug.Log(ErrorMessages.NoConditionToRemove); return; } var conditionToRemove = PlayerConditionState.ToList().SingleOrDefault(x => x.ActiveCondition == condition); if (conditionToRemove != default(PlayerConditionState)) { PlayerConditionState.Remove(conditionToRemove); } }
private void Start() { _playerCondition = GetComponent <PlayerConditionState>(); }