Example #1
0
 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;
        }
Example #3
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();
        }