예제 #1
0
        public void Execute()
        {
            // Kimboko aCombinar

            // Kimboko combinador
            // TENEMOS QUE ELIMINAR LA UNIDAD ACTUAL DE LA LISTA DE UNIDADES DEL PLAYER
            spawnInfo.spawnerPlayer.RemoveUnit(combiner);
            // DEBERIAMOS DESOCUPAR LA TILE DONDE ESTA EL KIMBOKO ACTUAL YA QUE VA A PASAR A SER UNO NUEVO
            spawnInfo.spawnTile.Vacate();
            // DEBERIAMOS DESOCUPAR EL BOARD MANAGER ACTUAL
            game.board2DManager.RemoveOccupierPosition(combiner);

            // Kimboko combinado
            // CREAMOS EL KIMBOKO COMBINADO CON SUS NUEVOS STATS
            CombineAbilityEventInfo cmbInfo = new CombineAbilityEventInfo(combiner, spawnedKimboko, spawnInfo.spawnerPlayer, spawnInfo.spawnIndexID);

            finalCombinedKimboko = GetCombinedKimboko(cmbInfo);

            // DEBEMOS OCUPAR LA TILE CON LA NUEVA UNIDAD COMBINADA
            spawnInfo.spawnTile.OcupyTile(finalCombinedKimboko);
            // DEBEMOS AGREGARLE AL PLAYER EL NUEVO KIMBOKO COMBINADO
            spawnInfo.spawnerPlayer.AddUnit(finalCombinedKimboko);
            // DEBEMOS AGREGARLE AL BOARD MANAGER LA NUEVA UNIDAD COMBINADA
            PositionerDemo.Position pos = new PositionerDemo.Position(spawnInfo.spawnTile.position.posX, spawnInfo.spawnTile.position.posY);
            game.board2DManager.AddModifyOccupierPosition(finalCombinedKimboko, pos);
            finalCombinedKimboko.SetPosition(pos);

            executionState = COMMANDEXECUTINSTATE.FINISH;
        }
예제 #2
0
        public void Execute()
        {
            kimboko = GetNewKimboko(spawnInfo);
            kimboko.SetGoAnimContainer(new GameObjectAnimatorContainer(kimbokoGO, kimbokoGO.GetComponent <Animator>()));
            spawnInfo.spawnTile.OcupyTile(kimboko);
            spawnInfo.spawnerPlayer.AddUnit(kimboko);

            PositionerDemo.Position pos = new PositionerDemo.Position(spawnInfo.spawnTile.position.posX, spawnInfo.spawnTile.position.posY);
            game.board2DManager.AddModifyOccupierPosition(kimboko, pos);
            kimboko.SetPosition(pos);
            executionState = COMMANDEXECUTINSTATE.FINISH;
        }
예제 #3
0
        public void Unexecute()
        {
            spawnInfo.spawnTile.Vacate();
            spawnInfo.spawnerPlayer.RemoveUnit(finalCombinedKimboko);
            finalCombinedKimboko.goAnimContainer.DestroyPrefab();
            game.board2DManager.RemoveOccupierPosition(finalCombinedKimboko);
            spawnedKimboko.goAnimContainer.DestroyPrefab();


            spawnInfo.spawnTile.OcupyTile(combiner);
            spawnInfo.spawnerPlayer.AddUnit(combiner);
            PositionerDemo.Position pos = new PositionerDemo.Position(spawnInfo.spawnTile.position.posX, spawnInfo.spawnTile.position.posY);
            game.board2DManager.AddModifyOccupierPosition(combiner, pos);
            combiner.SetPosition(pos);
        }
예제 #4
0
        public void Execute()
        {
            // Kimboko aCombinar
            // TENEMOS QUE ELIMINAR LA UNIDAD ACTUAL DE LA LISTA DE UNIDADES DEL PLAYER QUE SE VA A COMBINAR
            combInfo.player.RemoveUnit(combInfo.kimbokoToCombine);

            // TENEMOS QUE SACARLO DE SU TILE Y DESOCUPARLA
            fromTile = game.board2DManager.GetUnitPosition(combInfo.kimbokoToCombine);
            fromTile.Vacate();
            game.board2DManager.RemoveOccupierPosition(combInfo.kimbokoToCombine);

            // Kimboko combinador
            // TENEMOS QUE ELIMINAR LA UNIDAD ACTUAL DE LA LISTA DE UNIDADES DEL PLAYER
            combInfo.player.RemoveUnit(combInfo.combiner);

            // DEBERIAMOS DESOCUPAR LA TILE DONDE ESTA EL KIMBOKO ACTUAL YA QUE VA A PASAR A SER UNO NUEVO
            // DONDE VOY A COMBINAR
            combineTile = game.board2DManager.GetUnitPosition(combInfo.combiner);
            combineTile.Vacate();

            // DEBERIAMOS DESOCUPAR EL BOARD MANAGER ACTUAL
            game.board2DManager.RemoveOccupierPosition(combInfo.combiner);

            // Kimboko combinado
            // CREAMOS EL KIMBOKO COMBINADO CON SUS NUEVOS STATS
            finalCombinedKimboko = GetCombinedKimboko(combInfo);

            // DEBEMOS OCUPAR LA TILE CON LA NUEVA UNIDAD COMBINADA
            combineTile.OcupyTile(finalCombinedKimboko);
            // DEBEMOS AGREGARLE AL PLAYER EL NUEVO KIMBOKO COMBINADO
            combInfo.player.AddUnit(finalCombinedKimboko);
            // DEBEMOS AGREGARLE AL BOARD MANAGER LA NUEVA UNIDAD COMBINADA
            PositionerDemo.Position pos = new PositionerDemo.Position(combineTile.position.posX, combineTile.position.posY);
            game.board2DManager.AddModifyOccupierPosition(finalCombinedKimboko, pos);
            finalCombinedKimboko.SetPosition(pos);

            executionState = COMMANDEXECUTINSTATE.FINISH;
        }