Esempio n. 1
0
    /*
     * memilih token yang akan digunakan,
     * pada array selected dan playerTypes
     * selected.Length == playerTypes.Length
     */
    public void Init(
        WaypointManager waypointManager, HomeBaseManager hbManager,
        Token.TokenType[] selected, Token.TokenPlayer[] playerTypes)
    {
        if (selected.Length == playerTypes.Length && selected.Length <= 4)
        {
            this.waypointManager = waypointManager;
            this.homeBaseManager = hbManager;

            tokens = new Dictionary <Token.TokenType, Token[]> ();

            for (int i = 0; i < selected.Length; i++)
            {
                CreateTokens(selected[i], playerTypes[i]);
            }

            tokenComps = new List <Token> ();
            foreach (KeyValuePair <Token.TokenType, Token[]> entry in tokens)
            {
                for (int i = 0; i < entry.Value.Length; i++)
                {
                    Token token = entry.Value [i];
                    token.onStateChanged  += TokenStateChanged;
                    token.onTokenSelected += TokenSelected;
                    tokenComps.Add(token);
                }
            }
        }
    }
Esempio n. 2
0
    void Start()
    {
        GameMaster gm = GameMaster.instance;

        DiceManager        diceManager     = GetComponent <DiceManager> ();
        TokenManager       tokenManager    = GetComponent <TokenManager> ();
        TurnManager        turnManager     = GetComponent <TurnManager> ();
        WaypointManager    waypointManager = GetComponent <WaypointManager> ();
        HomeBaseManager    hbManager       = GetComponent <HomeBaseManager> ();
        OpponentController opponentCtrl    = GetComponent <OpponentController> ();
        BoardHighlighter   highlighter     = GameObject.Find("Board").GetComponent <BoardHighlighter> ();

        diceManager.Init(gm.SelectedTokens);
        opponentCtrl.DiceManager = diceManager;

        tokenManager.Init(waypointManager, hbManager, gm.SelectedTokens, gm.SelectedTokenPlayers);
        turnManager.Init(tokenManager, diceManager, opponentCtrl, highlighter);

        turnManager.StartFirstTurn();
    }