Example #1
0
    public void InitializeGame()
    {
        ICharactersManager player1 = new HumanCharactersManager(1);
        ICharactersManager player2 = new AICharactersManager(2);

        battleStateController = new BattleStateController(player1, player2);

        battleField = Instantiate(environment);

        List <ICharacter> player1Characters = player1.GetCharacters();
        List <ICharacter> player2Characters = player2.GetCharacters();

        GameObject emptyGameObject = new GameObject();

        emptyGameObject.name = "BattleHandler";

        PlayerManagerProvider player1ManagerProvider = Instantiate(playerManagerPrefab);
        PlayerManagerProvider player2ManagerProvider = Instantiate(enemyManagerPrefab);

        GameController.Instance.AddPlayer(player1, player1ManagerProvider);
        GameController.Instance.AddPlayer(player2, player2ManagerProvider);

        player1ManagerProvider.Initialize(player1, CreatePlayersCharactersView(player1Characters, playerPrefab));
        player2ManagerProvider.Initialize(player2, CreatePlayersCharactersView(player2Characters, enemyPrefab));

        battleProvider = emptyGameObject.AddComponent <GameViewProvider>();
        battleProvider.Initialize(battleStateController, player1ManagerProvider, player2ManagerProvider);

        //battleProvider.AddSyncronizedObject(player1ManagerProvider);
        //battleProvider.AddSyncronizedObject(player2ManagerProvider);

        battleStateController.SetStartPlanningState();
    }
Example #2
0
    public void Initialize(BattleStateController _battleStateController, PlayerManagerProvider _player1, PlayerManagerProvider _player2)
    {
        stateController = _battleStateController;
        player1         = _player1;
        player2         = _player2;

        AddSyncronizedObject(player1);
        AddSyncronizedObject(player2);

        stateController.changeStateDelegate += Synchronize;
        stateController.intermediateMessage += RecieveintermediateMessage;
        stateController.checkRoundResult    += CheckRoundResult;
        stateController.roundFinishedEvent  += FreezeCharacters;
        stateController.gameFinished        += SetEndGame;
    }
Example #3
0
 public void AddPlayer(ICharactersManager controller, PlayerManagerProvider view)
 {
     playersView.Add(controller, view);
 }