Ejemplo n.º 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;
        }
Ejemplo n.º 2
0
        private Kimboko GetCombinedKimboko(CombineAbilityEventInfo cmbInfo)
        {
            List <Kimboko> kimbokosTocombine = new List <Kimboko>();

            kimbokosTocombine.Add(cmbInfo.combiner);
            kimbokosTocombine.Add(cmbInfo.kimbokoToCombine);
            Kimboko kimboko = null;
            KimbokoCombineFactory kimbokoCombFac = new KimbokoCombineFactory(kimbokosTocombine);

            kimboko = kimbokoCombFac.CreateKimboko(cmbInfo.IndexID, cmbInfo.player);
            return(kimboko);
        }
Ejemplo n.º 3
0
 public ICombineCommand(CombineAbilityEventInfo combInfo, IGame game)
 {
     logInsert     = true;
     this.combInfo = combInfo;
     this.game     = game;
 }