/* * 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); } } } }
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(); }