public FilterUnitStrategyPattern(IOcuppy occupier) { this.occupier = occupier; ContextUnitFilter ctxUnit = new ContextUnitFilter(new FilterUnit()); unit = ctxUnit.ExecuteStrategy(occupier); }
public override ICardTarget CheckTarget(ICardTarget cardTarget) { if (base.CheckTarget(cardTarget) == null) { return(null); } IOcuppy ocuppier = cardTarget.GetOcuppy(); if (ocuppier == null) { return(null); } Kimboko kim = (Kimboko)ocuppier; if (kim == null) { return(null); } if (kim.UnitType != unitType) { return(null); } return(cardTarget); }
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; }
private Kimboko GetNewKimboko(SpawnAbilityEventInfo spawnInfo) { Kimboko kimboko = null; switch (spawnInfo.spawnUnitType) { case UNITTYPE.X: KimbokoXFactory kimbokoXFac = new KimbokoXFactory(); kimboko = kimbokoXFac.CreateKimboko(spawnInfo.spawnIndexID, spawnInfo.spawnerPlayer); break; case UNITTYPE.Y: KimbokoYFactory kimbokoYFac = new KimbokoYFactory(); kimboko = kimbokoYFac.CreateKimboko(spawnInfo.spawnIndexID, spawnInfo.spawnerPlayer); break; case UNITTYPE.Z: KimbokoZFactory kimbokoZFac = new KimbokoZFactory(); kimboko = kimbokoZFac.CreateKimboko(spawnInfo.spawnIndexID, spawnInfo.spawnerPlayer); break; case UNITTYPE.COMBINE: break; case UNITTYPE.FUSION: break; default: break; } return(kimboko); }
public ISpawnCombineCommand(Kimboko spawnedKimboko, SpawnAbilityEventInfo spawnInfo, Kimboko combiner, IGame game) { logInsert = true; this.combiner = combiner; this.game = game; this.spawnInfo = spawnInfo; this.spawnedKimboko = spawnedKimboko; }
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); }
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 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; }
public UNITTYPE evolvedType; // A QUE TIPO EVOLUCIONO public EvolveAbilityEventInfo(Kimboko evolver, UNITTYPE startType, UNITTYPE evolvedType) { this.evolver = evolver; this.evolvedType = evolvedType; this.startType = startType; }
public Kimboko fusioner; // QUIEN SE FUSIONO public FusionAbilityEventInfo(Kimboko fusioner) { this.fusioner = fusioner; }