private void OnAction(CharacterActionEvent action) { _allAction.Add(action); _actionQueue.Add(action); }
private void ActionHandler(CharacterActionEvent action) { switch (action.Act) { case CharacterActionEvent.Action.Experience: switch (action.ActExperience.ExperienceEnum) { case CharacterActionEvent.ActionExperience.Attack: _experiences[action.ActExperience.FromWhom].AddAttack(action.ActExperience.Value); break; case CharacterActionEvent.ActionExperience.Armor: _experiences[action.ActExperience.FromWhom].AddArmor(action.ActExperience.Value); break; case CharacterActionEvent.ActionExperience.Heal: _experiences[action.ActExperience.FromWhom].AddHeal(action.ActExperience.Value); break; case CharacterActionEvent.ActionExperience.Health: _experiences[action.ActExperience.FromWhom].AddHealth(action.ActExperience.Value); break; } break; case CharacterActionEvent.Action.NoTarget: switch (action.ActNoTarget.NoTargetEnum) { case CharacterActionEvent.ActionNoTarget.Create: break; case CharacterActionEvent.ActionNoTarget.Dead: RemoveQueue(action.ActNoTarget.FromWhom); break; } break; case CharacterActionEvent.Action.OnTarget: switch (action.ActOnTarget.OnTargetEnum) { case CharacterActionEvent.ActionOnTarget.Attack: action.ActOnTarget.AboutWhom.TakeAction(action); break; case CharacterActionEvent.ActionOnTarget.Heal: action.ActOnTarget.AboutWhom.TakeAction(action); break; case CharacterActionEvent.ActionOnTarget.AttackResult: action.ActOnTarget.FromWhom.TakeAction(action); break; case CharacterActionEvent.ActionOnTarget.HealResult: action.ActOnTarget.FromWhom.TakeAction(action); break; } break; case CharacterActionEvent.Action.System: switch (action.ActSystem.SystemEnum) { case CharacterActionEvent.ActionSystem.StartFight: break; case CharacterActionEvent.ActionSystem.EndRaund: AddQueueNumber(); break; case CharacterActionEvent.ActionSystem.EndGame: _isFinishGame = true; break; } break; } }
private void ActionHandler(CharacterActionEvent action) { switch (action.Act) { case CharacterActionEvent.Action.Experience: switch (action.ActExperience.ExperienceEnum) { case CharacterActionEvent.ActionExperience.Attack: break; case CharacterActionEvent.ActionExperience.Armor: break; case CharacterActionEvent.ActionExperience.Heal: break; case CharacterActionEvent.ActionExperience.Health: break; } break; case CharacterActionEvent.Action.NoTarget: switch (action.ActNoTarget.NoTargetEnum) { case CharacterActionEvent.ActionNoTarget.Create: break; case CharacterActionEvent.ActionNoTarget.Dead: break; } break; case CharacterActionEvent.Action.OnTarget: switch (action.ActOnTarget.OnTargetEnum) { case CharacterActionEvent.ActionOnTarget.Attack: _characterViews[action.ActOnTarget.FromWhom].SetAnimation(FightCharacterView.State.Attack); _characterViews[action.ActOnTarget.AboutWhom].SetAnimation(FightCharacterView.State.TakeDamage); break; case CharacterActionEvent.ActionOnTarget.Heal: if (action.ActOnTarget.FromWhom != action.ActOnTarget.FromWhom) { _characterViews[action.ActOnTarget.FromWhom].SetAnimation(FightCharacterView.State.Attack); } _characterViews[action.ActOnTarget.AboutWhom].SetAnimation(FightCharacterView.State.TakeHeal); break; case CharacterActionEvent.ActionOnTarget.AttackResult: break; case CharacterActionEvent.ActionOnTarget.HealResult: break; } break; case CharacterActionEvent.Action.ChancgedInfo: _characterViews[action.ActChengedInfo.FromWhom].ChangeCharacteristic(action.ActChengedInfo.Characteristic); break; case CharacterActionEvent.Action.System: switch (action.ActSystem.SystemEnum) { case CharacterActionEvent.ActionSystem.StartFight: _timer = 1f; break; case CharacterActionEvent.ActionSystem.EndRaund: _timer = 1f; break; case CharacterActionEvent.ActionSystem.EndGame: _panelFightFinish.gameObject.SetActive(true); break; } break; } }