//Public Methods public void Init(List <BtlCtrlCharacter> playerCharacters, List <BtlCtrlCharacter> aiCharacters, string playerName, string aiName, List <long> turns, BattleControllerType type, int turnTime = 0, BattleSceneType sceneType = BattleSceneType.Tutorial_Hell) { _parties = new BtlCtrlParty[2]; _parties[0] = new BtlCtrlParty(); _parties[0].Init(playerCharacters, TeamTypes.Player, playerName); _parties[1] = new BtlCtrlParty(); _parties[1].Init(aiCharacters, TeamTypes.Enemy, aiName); ListenToPartiesAndCharactersEvents(); _turnOrders = turns; _turnTime = turnTime; _type = type; _sceneType = sceneType; _currentState = States.WaitToStartFight; _currentTurnIndex = -1; _currentActionsStack = new Stack <ActionData>(); _currentActiveSpells = new List <BtlCtrlSpell>(); _externalLogic = null; SetExternalLogic(); _secretController = new BtlCtrlSecretController(); _secretController.Event_ActionGenerated += OnActionGenerated; _fakeServer = FakeServer.instance; _fakeServer.Event_OnMove += OnMove; _fakeServer.Event_OnReadyCome += OnReadyCome; }
public static BattleController Build(BattleControllerType type) { IBtlCtrlBuilder espcialBuilder = null; switch (type) { case BattleControllerType.Tutorial_MiniBoss: espcialBuilder = new BtlCtrlBuilder_TutMiniBoss(); break; case BattleControllerType.Tutorial_Zahak: espcialBuilder = new BtlCtrlBuilder_TutZahak(); break; } BattleController battleController = espcialBuilder.Build(); BattleLogic battleLogic = MakeBattleLogic(battleController); battleController.SetBattleLogic(battleLogic); return(battleController); }