public PlayerProcessor( IGameSessionController sessionController, IPlayerGambitRuleProvider ruleProvider, IGambitGenerator engineGenerator, IGambitRuleGenerator ruleGenerator) { this.sessionController = sessionController; this.ruleProvider = ruleProvider; this.engineGenerator = engineGenerator; this.ruleGenerator = ruleGenerator; }
public void InitView(IGameSessionController gameSessionController, IBoardWorldPosition boardWorldPosition, ICommandsConverter commandsConverter) { this.gameSessionController = gameSessionController; this.gameSession = gameSessionController.GameSession; this.boardWorldPosition = boardWorldPosition; this.commandsConverter = commandsConverter; BoardSize_X = gameSession.Board.FigureItemsTable.GetLength(0); BoardSize_Y = gameSession.Board.FigureItemsTable.GetLength(1); prev_selected = new Vector2Int(-1, 0); curr_selected = new Vector2Int(-1, 0); playerAction = PlayerAction.Nothing; queue_max_length = 0; }
public void InitBoard(int size_x, int size_y) { #if UNITY_EDITOR DestroyImmediate(GameObject.Find(ConstantNames.BoardItems)); DestroyImmediate(GameObject.Find(ConstantNames.FigureItems)); DestroyImmediate(GameObject.Find(ConstantNames.Board)); #else Destroy(GameObject.Find(ConstantNames.BoardItems)); Destroy(GameObject.Find(ConstantNames.FigureItems)); Destroy(GameObject.Find(ConstantNames.Board)); #endif this.board = new GameObject(ConstantNames.Board); boardItemsParent = new GameObject(ConstantNames.BoardItems); figureItemsParent = new GameObject(ConstantNames.FigureItems); trash = new GameObject(ConstantNames.Trash); StartCoroutine(SetParents( boardItemsParent.transform, figureItemsParent.transform, this.board.transform)); #if UNITY_EDITOR DestroyImmediate(GameObject.Find(ConstantNames.GameSessionView)); camera = FindObjectOfType <Camera>(); #else Destroy(GameObject.Find("GameSessionView")); camera = Camera.main; #endif var preload = FindObjectOfType <_preload>(); IBoardFactory boardFactory = new DefaultBoardFactory(); var board = boardFactory.Create(size_x, size_y); IFigureItemsInstancerFactory figureItemsInstancerFactory = new DefaultFigureItemsInstancerFactory(); var figureItemsInstancer = figureItemsInstancerFactory.Create(); IGameSessionFactory gameSessionFactory = new DefaultGameSessionFactory(); gameSession = gameSessionFactory.Create(board, figureItemsInstancer); var gameSessionView_obj = new GameObject(ConstantNames.GameSessionView); gameSessionView = gameSessionView_obj.AddComponent <DefaultGameSessionView>(); gameSessionController = new DefaultGameSessionController(gameSession, gameSessionView); IBoardWorldPosition boardWorldPosition = new DefaultBoardWorldPosition( gameSession.Board.BoardSize_X, gameSession.Board.BoardSize_Y, preload.delta_bottom_coeff, preload.delta_top_coeff, camera); ICommandsConverter commandsConverter = new DefaultCommandsConverter(); gameSessionView.InitView(gameSessionController, boardWorldPosition, commandsConverter); gameSessionView.InitBoard(); }