/// <summary> /// В случае смерти персонажа отписываем от всех методов, меняем коллекцию статусов /// </summary> private void CharacterDeathStatus() { if (ConditionsUpdateEvent != null) { foreach (var item in ConditionsUpdateEvent.GetInvocationList()) { ConditionsUpdateEvent -= item as ConditionsUpdate; } } Conditions = new ConditionsCollection { new Condition("Alive", false) }; }
/// <summary> /// Запускает выполнение всех активных статусов /// </summary> /// <param name="spec">Модель данных противника</param> /// <param name="deltaTime">Время</param> public void ConditionsUpdateStart(BaseCharacterModel CharacterModel, ref EnemySpecifications enemySpecifications, float deltaTime) { ConditionsUpdateEvent?.Invoke(CharacterModel, ref enemySpecifications, deltaTime); }