public override string DraggedIntoMinionSlot(PositionVO _target) { CardTargetStrategy _cardTargetStrategy = new SummonMinionUsingMagicCard("CardSkeleton"); if (_cardTargetStrategy.Excute(this, _target) == "Summon Minion Success") { return "Success"; } else { return "Use Magic Failed"; } }
public override string DraggedIntoMinionSlot(PositionVO _target) { CardTargetStrategy _cardTargetStrategy = new SummonMinionUsingMagicCard("CardSkeletonArcher"); if (_cardTargetStrategy.Excute(this, _target) == "Summon Minion Success") { return "Success"; } else { return "Failed"; } //return "Can only summon minion in your minion slot"; }
public override string WhenDraggedIntoMinionSlot(PositionVO _target) { CardTargetStrategy _cardTargetStrategy = new SummonMinionUsingMagicCard("CardUndeadSoldier"); if (_cardTargetStrategy.Excute(this, _target) == "Summon Minion Success") { GameManager.Instance.GetPlayerByType(PlayerType).CostEnergy(energyName, EnergyCost); return "Use Magic Success"; } else { return "Use Magic Failed"; } //return "Can only summon minion in your minion slot"; }
public override string Pressed() { int skeletonNum = 3; int archerNum = 2; int magicianNum = 1; CardTargetStrategy summonSkeleton = new SummonMinionUsingMagicCard("CardSkeleton"); CardTargetStrategy summonSkeletonArcher = new SummonMinionUsingMagicCard("CardSkeletonArcher"); CardTargetStrategy summonSkeletonMagician = new SummonMinionUsingMagicCard("CardSkeletonMagician"); List<PositionVO> emptyPositions = MinionController.Instance.GetEmptyPositionsByPlayerType(PlayerType); if (emptyPositions.Count == 0) { return "Use Magic Failed"; } foreach (PositionVO position in emptyPositions) { if (skeletonNum != 0) { if (position.MinionSlotPosition == MinionSlotPosition.Foreward) { summonSkeleton.Excute(this, position); --skeletonNum; continue; } } if (archerNum != 0) { summonSkeletonArcher.Excute(this, position); --archerNum; continue; } if (magicianNum != 0) { if (position.MinionSlotPosition == MinionSlotPosition.Backward) { summonSkeletonMagician.Excute(this, position); --magicianNum; continue; } } } return "Success"; }
public override string Pressed() { List<PositionVO> emptyPositions = MinionController.Instance.GetEmptyPositionsByPlayerType(PlayerType); if(emptyPositions.Count == 0) { return "Use Magic Failed"; } for (int i = 0; i < 2; ++i) { int randomInt = Random.Range(0, 3); string summonName = ""; PositionVO targetPosition = new PositionVO(); switch (randomInt) { case 0: summonName = "CardSkeleton"; emptyPositions = MinionController.Instance.GetEmptyPositionsByLine(PlayerType, MinionSlotPosition.Foreward); if (emptyPositions.Count != 0) { randomInt = Random.Range(0, emptyPositions.Count); targetPosition = emptyPositions[randomInt]; } else { emptyPositions = MinionController.Instance.GetEmptyPositionsByLine(PlayerType, MinionSlotPosition.Backward); if (emptyPositions.Count == 0) continue; randomInt = Random.Range(0, emptyPositions.Count); targetPosition = emptyPositions[randomInt]; } break; case 1: summonName = "CardSkeletonArcher"; emptyPositions = MinionController.Instance.GetEmptyPositionsByLine(PlayerType, MinionSlotPosition.Backward); if (emptyPositions.Count != 0) { randomInt = Random.Range(0, emptyPositions.Count); targetPosition = emptyPositions[randomInt]; } else { emptyPositions = MinionController.Instance.GetEmptyPositionsByLine(PlayerType, MinionSlotPosition.Foreward); if (emptyPositions.Count == 0) continue; randomInt = Random.Range(0, emptyPositions.Count); targetPosition = emptyPositions[randomInt]; } break; default: summonName = "CardSkeletonMagician"; emptyPositions = MinionController.Instance.GetEmptyPositionsByLine(PlayerType, MinionSlotPosition.Backward); if (emptyPositions.Count != 0) { randomInt = Random.Range(0, emptyPositions.Count); targetPosition = emptyPositions[randomInt]; } else { emptyPositions = MinionController.Instance.GetEmptyPositionsByLine(PlayerType, MinionSlotPosition.Foreward); if (emptyPositions.Count == 0) continue; randomInt = Random.Range(0, emptyPositions.Count); targetPosition = emptyPositions[randomInt]; } break; } CardTargetStrategy summonSkeleton = new SummonMinionUsingMagicCard(summonName); summonSkeleton.Excute(this, targetPosition); } return "Success"; }