Exemplo n.º 1
0
        public TheGameObjectManager()
        {
            marios                                  = new IMario[Players];
            blockList                               = new Collection <IGameObject>();
            itemList                                = new Collection <IGameObject>();
            enemyList                               = new Collection <IGameObject>();
            pipeList                                = new Collection <IGameObject>();
            spawnerList                             = new Collection <IGameObject>();
            fireBallList                            = new Collection <IGameObject>();
            fireBallList2                           = new Collection <IGameObject>();
            backgroundList                          = new Collection <IGameObject>();
            animationList                           = new Collection <IAnimationInGame>();
            collisionHandler                        = new AllCollisionHandler();
            isSinglePlayerGame                      = true;
            curShape                                = new MarioState.MarioShapeEnums[Players];
            nextShape_                              = new MarioState.MarioShapeEnums[Players];
            titleDisplayPanel                       = new TitleDisplayPanel();
            marioLifeDisplayPanel                   = new MarioLifeDisplayPanel();
            gameOverDisplayPanel                    = new GameOverDisplayPanel();
            headsUpDisplayPanel                     = new HeadsUpDisplayPanel();
            competitivePreparingDisplayPanel        = new CompetitivePreparingDisplayPanel();
            competitiveHeadsUpDisplayPanel          = new CompetitiveHeadsUpDisplayPanel();
            competitiveEndingDisplayPanel           = new CompetitiveEndingDisplayPanel();
            player1NameDisplayPanel                 = new PlayerNameDisplayPanel();
            player1NameDisplayPanel.PlayerName.Text = "P1";
            player2NameDisplayPanel                 = new PlayerNameDisplayPanel();
            player2NameDisplayPanel.PlayerName.Text = "P2";

            spawnManager = new SpawnManager();
        }
Exemplo n.º 2
0
        public BuildAction(StructureDefinition.StructureType structureType, IFaction owner)
        {
            _structureType = structureType;
            _owner         = owner;

            _spawnManager = Locator.Instance.Find <ISpawnManager>();
            _structureDefinitionManager = Locator.Instance.Find <IStructureDefinitionManager>();
        }
Exemplo n.º 3
0
        public Board(int width, int height, ISpawnManager spawnManager)
        {
            _width  = width;
            _height = height;
            _cells  = new ICell[_width, _height];

            _spawnManager = spawnManager;

            Initial();
        }
Exemplo n.º 4
0
 public MasterManager(ICoroutiner coroutiner, IUpdateManager updateManager, INotifier gameplayNotifier,
                      INotifier uiNotifier, IObjectStorage objectStorage, ISpawnManager spawnManager)
 {
     Coroutiner       = coroutiner;
     UpdateManager    = updateManager;
     GameplayNotifier = gameplayNotifier;
     UINotifier       = uiNotifier;
     ObjectStorage    = objectStorage;
     SpawnManager     = spawnManager;
 }
Exemplo n.º 5
0
 public GameplayController(
     ISpawnManager spawnManager,
     IStatisticsManager statisticsManager,
     ISoundManager soundManager,
     IControllerFactory controllerFactory) : base(controllerFactory)
 {
     _spawnManager      = spawnManager;
     _statisticsManager = statisticsManager;
     _soundManager      = soundManager;
 }
Exemplo n.º 6
0
    public bool RegisterSpawnManager(ISpawnManager s, bool replaceExisting = false)
    {
        if (this.spawnManager != null && !replaceExisting)
        {
            return(false);
        }

        this.spawnManager = s;
        return(true);
    }
Exemplo n.º 7
0
        public Board(int width, int height, ISpawnManager spawnManager, ICheckManager checkManager, ICellRegistrator cellRegistrator)
        {
            _width           = width;
            _height          = height;
            _spawnManager    = spawnManager;
            _checkManager    = checkManager;
            _cellRegistrator = cellRegistrator;
            _cells           = new ICell[_width, _height];

            _checkManager.Board = this;
        }
Exemplo n.º 8
0
        public static IBoard CreateBoard(int width, int height)
        {
            IMasterManager masterManager = CreateMasterManager();

            ISpawnManager    spawnManager    = masterManager.SpawnManager;
            INotifier        notifier        = masterManager.GameplayNotifier;
            IUpdateManager   updateManager   = masterManager.UpdateManager;
            ICheckManager    checkManager    = new CheckManager();
            ICellRegistrator cellRegistrator = new CellRegistrator(notifier, updateManager);

            IBoard board = new Board(width, height, spawnManager, checkManager, cellRegistrator);

            return(board);
        }
        public IEnumerator Cell_SwapAndUndo(SwapTypes swapType)
        {
            #region Create Managers

            IMasterManager masterManager = ObjectsCreator.CreateMasterManager();

            ISpawnManager    spawnManager    = masterManager.SpawnManager;
            INotifier        notifier        = masterManager.GameplayNotifier;
            IUpdateManager   updateManager   = masterManager.UpdateManager;
            ICellRegistrator cellRegistrator = new CellRegistrator(notifier, updateManager);

            #endregion

            #region Create Cell

            Vector3 position = new Vector3(1, 1, 0);
            ICell   cellA    = spawnManager.SpawnRandomNormalCell(position);
            cellRegistrator.RegistrateNormalCell(cellA as NormalCell);

            #endregion

            #region SetUp UpdateManager

            updateManager.AddUpdatable(cellA as IUpdatable);
            updateManager.IsUpdate = true;

            #endregion

            yield return(new WaitForSeconds(0.3f));

            #region Swap Cell and do Undo

            ICommand swapCommand = TestHelper.GetSwapCommand(swapType, cellA);
            swapCommand.Execute();

            yield return(new WaitForSeconds(0.5f));

            swapCommand.Undo();

            #endregion

            #region Remove From Scene

            yield return(new WaitForSeconds(0.5f));

            GameObject.Destroy(cellA.CurrentGameObject);

            #endregion
        }
Exemplo n.º 10
0
    private void LoadPlayerSpawner()
    {
        playerSpawnManager = FindObjectOfType <PlayerSpawnManager>().gameObject;

        if (playerSpawnManager == null)
        {
            PlayerSettings playerSettings = gameManager.playerSettings;
            playerSpawnManager = Instantiate(playerSettings.playerSpawnManager, transform.position, Quaternion.identity);
        }

        ISpawnManager spawnManager = playerSpawnManager.GetComponent <ISpawnManager>();

        spawnManager.InitialiseSpawner();
        print("Scene Controller >> Loaded Player Spawn Manager");
    }
Exemplo n.º 11
0
        public void Create()
        {
            _updateManager = new GameObject(StringsAndConst.UPDATE_MANAGER).AddComponent <UpdateManager>();
            _logicManager  = new GameObject(StringsAndConst.LOGIC_MANAGER).AddComponent <LogicManager>();
            GameObject empty = new GameObject("---------------");

            _notifier = new Notifier();

            _objectStorage = new ObjectStorage();
            _objectSetter  = new ObjectSetter(_updateManager, _notifier);

            _inputManager = new InputManager(_notifier);
            _spawnManager = new SpawnManager(_objectStorage, _objectSetter);
            _checkManager = new CheckManager();

            _board = new Board(width, height, _spawnManager);
        }
Exemplo n.º 12
0
        public override void Initialize()
        {
            _factionManager = Locate <IFactionManager>();
            _playerFaction  = _factionManager.GetPlayerFaction();
            _factionManager.OnTurnStarted += FactionManager_OnTurnStarted;
            _spawnManager = Locate <ISpawnManager>();

            _currentPlayerLabel = GetComponentInChildren <CurrentPlayerLabel>();
            _currentPlayerLabel.Hide();

            _drawView = GetComponentInChildren <DrawView>();
            HideDrawView();
            _endTurnButton = GetComponentInChildren <EndTurnButton>();

            RadialMenuManager = new RadialMenuManager(_spawnManager, transform);
            MessageManager    = new MessageManager(_spawnManager, transform);
        }
Exemplo n.º 13
0
        private void Start()
        {
            _coroutiner    = new GameObject(Strings.COROUTINER).AddComponent <Coroutiner>();
            _updateManager = new GameObject(Strings.UPDATE_MANAGER).AddComponent <UpdateManager>();

            _gameplayNotifier = new Notifier();
            _uiNotifier       = new Notifier();

            _objectStorage = new ObjectStorage();

            _spawnManager = new SpawnManager(_objectStorage);

            IMasterManager masterManager = new MasterManager(_coroutiner, _updateManager, _gameplayNotifier,
                                                             _uiNotifier, _objectStorage, _spawnManager);

            INavigationManager navigationManager = new NavigationManager(masterManager);

            navigationManager.Navigate(SceneTypesEnum.BootstrapperScene, SceneTypesEnum.StartScreenScene, null);
        }
Exemplo n.º 14
0
        private void Initial()
        {
            _updateManager        = _NavigationManager.MasterManager.UpdateManager;
            _gameplayLogicManager = new GameObject("Gameplay Logic Manager").AddComponent <GameplayLogicManager>();
            GameObject empty = new GameObject("---------------");

            _gameplayNotifier = _NavigationManager.MasterManager.GameplayNotifier;
            _uiNotifier       = _NavigationManager.MasterManager.UINotifier;
            _taskNotifier     = new Notifier();

            _inputManager = new InputManager(_gameplayNotifier);
            _spawnManager = _NavigationManager.MasterManager.SpawnManager;
            _checkManager = new CheckManager();
            _taskManager  = new TaskManager(_level.LevelTasks);

            _uiManager      = new UIGameplayLevelManager(_level);
            _buttonsManager = new ButtonsGameplaySceneManager(_uiNotifier);

            _cellRegistrator = new CellRegistrator(_gameplayNotifier, _updateManager);

            _board = new Board(_level.BoardWidth, _level.BoardHeight, _spawnManager, _checkManager, _cellRegistrator);
        }
Exemplo n.º 15
0
        private void LoadPanel()
        {
            if (!Locator.Instance.ServicesReady(typeof(ISpawnManager), typeof(IFactionManager)))
            {
                return;
            }

            _spawnManager  = Locator.Instance.Find <ISpawnManager>();
            _playerFaction = Locator.Instance.Find <IFactionManager>().GetPlayerFaction();

            if (_playerFaction == null)
            {
                return;
            }

            _labelLookup = new Dictionary <ResourceType, TMP_Text>();

            foreach (var resourceType in Enum.GetValues(typeof(ResourceType)))
            {
                SpawnResourceLabel((ResourceType)resourceType, 0);
            }

            _ready = true;
        }
Exemplo n.º 16
0
 protected override void Awake()
 {
     spawnManager = GameObject.Find("SpawnManager").GetComponent <MultiPlayerSpawnManager>();
     base.Awake();
 }
Exemplo n.º 17
0
 public MessageManager(ISpawnManager spawnManager, Transform parent)
 {
     _spawnManager = spawnManager;
     _parent       = parent;
 }
Exemplo n.º 18
0
        public IEnumerator PowerUp_UseTwoPowerUp_Review(PowerUpTypesEnum powerUpTypeEnumA, PowerUpTypesEnum powerUpTypeEnumB)
        {
            #region Create Managers

            IMasterManager        masterManager;
            ICellRegistrator      cellRegistrator;
            IBoard                board                = ObjectsCreator.CreateBoard(9, 9, out masterManager, out cellRegistrator);
            IUpdateManager        updateManager        = masterManager.UpdateManager;
            IGameplayLogicManager gameplayLogicManager = ObjectsCreator.CreateGameplayLogicManager();
            INotifier             gameplayNotifier     = masterManager.GameplayNotifier;
            ISpawnManager         spawnManager         = masterManager.SpawnManager;
            IInputManager         inputManager         = new InputManager(gameplayNotifier);
            ICheckManager         checkManager         = new CheckManager();

            #endregion

            #region Create And SetUp Cells with PowerUp

            IList <ICell> cellsWithPowerUp = new List <ICell>();

            IList <Vector3> positions = new List <Vector3>();

            switch (powerUpTypeEnumA)
            {
            case PowerUpTypesEnum.Bomb:
                positions.Add(new Vector2(4, 4));
                positions.Add(new Vector2(2, 4));
                break;

            case PowerUpTypesEnum.Vertical:
                positions.Add(new Vector2(3, 3));
                positions.Add(new Vector2(3, 6));
                break;

            case PowerUpTypesEnum.Horizontal:
                positions.Add(new Vector2(3, 3));
                positions.Add(new Vector2(6, 3));
                break;
            }

            for (int i = 0; i < 2; i++)
            {
                ICell   cell         = new NormalCell((int)positions[i].x, (int)positions[i].y);
                Vector3 cellPosition = new Vector2((int)positions[i].x, (int)positions[i].y);
                cell.CurrentGameObject =
                    spawnManager.SpawnPowerPrefab(i == 0 ? powerUpTypeEnumA : powerUpTypeEnumB, positions[i]);
                cellRegistrator.RegistrateNormalCell(cell as NormalCell);
                board.Cells[cell.TargetX, cell.TargetY] = cell;
                cellsWithPowerUp.Add(cell);
            }

            #endregion

            yield return(new WaitForSeconds(0.1f));

            #region SetUp Board and Managers

            board.Initial();

            checkManager.Board = board;

            gameplayLogicManager.Board        = board;
            gameplayLogicManager.CheckManager = checkManager;
            gameplayLogicManager.SpawnManager = spawnManager;
            gameplayLogicManager.Notifier     = new Notifier();

            inputManager.AddSubscriber(gameplayLogicManager);
            updateManager.AddUpdatable(inputManager as IUpdatable);

            updateManager.IsUpdate = true;

            #endregion

            yield return(new WaitForSeconds(0.3f));

            #region Try Use PowerUp

            int swipeCount = 2;
            gameplayLogicManager.TryCheckSwipedCells(cellsWithPowerUp[0], swipeCount);

            #endregion

            #region Remove From Scene

            yield return(new WaitForSeconds(2f));

            updateManager.IsUpdate = false;
            foreach (var cell in board.Cells)
            {
                GameObject.Destroy(cell.CurrentGameObject);
            }

            #endregion
        }
Exemplo n.º 19
0
        public IEnumerator PowerUp_UseOnePowerUp_Review(PowerUpTypesEnum powerUpTypeEnum)
        {
            #region Create Managers

            IMasterManager        masterManager;
            ICellRegistrator      cellRegistrator;
            IBoard                board                = ObjectsCreator.CreateBoard(9, 9, out masterManager, out cellRegistrator);
            IUpdateManager        updateManager        = masterManager.UpdateManager;
            IGameplayLogicManager gameplayLogicManager = ObjectsCreator.CreateGameplayLogicManager();
            INotifier             gameplayNotifier     = masterManager.GameplayNotifier;
            ISpawnManager         spawnManager         = masterManager.SpawnManager;
            IInputManager         inputManager         = new InputManager(gameplayNotifier);
            ICheckManager         checkManager         = new CheckManager();


            #endregion

            #region Create And SetUp Cell with PowerUp

            ICell   cellWithPowerUp = new NormalCell(4, 4);
            Vector3 cellPosition    = new Vector2(4, 4);
            cellWithPowerUp.CurrentGameObject = spawnManager.SpawnPowerPrefab(powerUpTypeEnum, cellPosition);
            cellRegistrator.RegistrateNormalCell(cellWithPowerUp as NormalCell);
            board.Cells[cellWithPowerUp.TargetX, cellWithPowerUp.TargetY] = cellWithPowerUp;

            #endregion

            yield return(new WaitForSeconds(0.1f));

            #region SetUp Board and Managers

            board.Initial();

            checkManager.Board = board;

            gameplayLogicManager.Board        = board;
            gameplayLogicManager.CheckManager = checkManager;
            gameplayLogicManager.SpawnManager = spawnManager;
            gameplayLogicManager.Notifier     = new Notifier();

            inputManager.AddSubscriber(gameplayLogicManager);
            updateManager.AddUpdatable(inputManager as IUpdatable);

            updateManager.IsUpdate = true;

            #endregion

            yield return(new WaitForSeconds(0.3f));

            #region Try Use PowerUp

            int swipeCount = 2;
            gameplayLogicManager.TryCheckSwipedCells(cellWithPowerUp, swipeCount);

            #endregion

            #region Remove From Scene

            yield return(new WaitForSeconds(2f));

            updateManager.IsUpdate = false;
            foreach (var cell in board.Cells)
            {
                GameObject.Destroy(cell.CurrentGameObject);
            }

            #endregion
        }
Exemplo n.º 20
0
 public RadialMenuManager(ISpawnManager spawnManager, Transform parent)
 {
     _spawnManager = spawnManager;
     _parent       = parent;
 }
Exemplo n.º 21
0
 public SceneObjectsMananger()
 {
     SpawnManager    = new SpawnManager();
     AppearanceHooks = new ObjectAppearanceHooks();
 }
Exemplo n.º 22
0
        public IEnumerator Cells_TryCheck(int equalsCellsCount, bool isVertical)
        {
            #region Create Managers And Board

            IMasterManager        masterManager;
            ICellRegistrator      cellRegistrator;
            IBoard                board                = ObjectsCreator.CreateBoard(equalsCellsCount + 3, equalsCellsCount + 3, out masterManager, out cellRegistrator);
            IUpdateManager        updateManager        = masterManager.UpdateManager;
            IGameplayLogicManager gameplayLogicManager = ObjectsCreator.CreateGameplayLogicManager();
            INotifier             gameplayNotifier     = masterManager.GameplayNotifier;
            ISpawnManager         spawnManager         = masterManager.SpawnManager;
            IInputManager         inputManager         = new InputManager(gameplayNotifier);
            ICheckManager         checkManager         = new CheckManager();

            #endregion

            #region Create Cells

            int   startX     = 2;
            int   startY     = 2;
            ICell swipedCell = null;

            for (int i = 0; i < equalsCellsCount; i++)
            {
                int x = startX;
                int y = startY;

                if (isVertical)
                {
                    if (i == Mathf.Floor(equalsCellsCount / 2))
                    {
                        x = startX + 1;
                    }
                    else
                    {
                        x = startX;
                    }

                    y = startY + i;
                }
                else
                {
                    if (i == Mathf.Floor(equalsCellsCount / 2))
                    {
                        y = startY + 1;
                    }
                    else
                    {
                        y = startY;
                    }

                    x = startX + i;
                }

                ICell cell = new NormalCell(x, y);
                cell.CurrentGameObject = spawnManager.SpawnPrefab(GameElementTypesEnum.RedCircle, new Vector3(x, y, 0));
                cellRegistrator.RegistrateNormalCell(cell as NormalCell);
                board.Cells[cell.TargetX, cell.TargetY] = cell;

                if (i == Mathf.Floor(equalsCellsCount / 2))
                {
                    swipedCell = board.Cells[cell.TargetX, cell.TargetY];
                }
            }

            #endregion

            yield return(new WaitForSeconds(1f));

            #region SetUp Board And Managers

            board.Initial();

            checkManager.Board = board;

            gameplayLogicManager.Board        = board;
            gameplayLogicManager.CheckManager = checkManager;
            gameplayLogicManager.SpawnManager = spawnManager;
            gameplayLogicManager.Notifier     = masterManager.UINotifier;

            inputManager.AddSubscriber(gameplayLogicManager);
            updateManager.AddUpdatable(inputManager as IUpdatable);

            updateManager.IsUpdate = true;

            #endregion

            yield return(new WaitForSeconds(1f));

            #region Create And SetUp MacroCommand to use swap cells

            ICommand[] commands;

            if (isVertical)
            {
                commands = new ICommand[]
                {
                    new SwipeLeftCommand(swipedCell),
                    new SwipeRightCommand(board.Cells[swipedCell.TargetX - 1, swipedCell.TargetY]),
                };
            }
            else
            {
                commands = new ICommand[]
                {
                    new SwipeDownCommand(swipedCell),
                    new SwipeUpCommand(board.Cells[swipedCell.TargetX, swipedCell.TargetY - 1]),
                };
            }

            ICommand macroCommand = new MacroCommand(commands);

            gameplayLogicManager.MacroCommand = macroCommand;

            #endregion

            #region Try Swap Cells and get Check

            gameplayLogicManager.MacroCommand.Execute();

            yield return(new WaitForSeconds(1f));

            gameplayLogicManager.TryCheckSwipedCells(swipedCell);

            #endregion

            #region Remove From Scene

            yield return(new WaitForSeconds(0.2f));

            updateManager.IsUpdate = false;
            foreach (var boadrdCell in board.Cells)
            {
                updateManager.RemoveUpdatable(boadrdCell as IUpdatable);
            }
            foreach (var cell in board.Cells)
            {
                GameObject.Destroy(cell.CurrentGameObject);
            }

            #endregion
        }
Exemplo n.º 23
0
 public RemoveAction()
 {
     _factionManager = Locator.Instance.Find <IFactionManager>();
     _spawnManager   = Locator.Instance.Find <ISpawnManager>();
 }