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; }
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; }
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); }
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; }