public static void RegisterAction(ScenarioItemType action) { for (int i = 0; i < scenarioItems.Count; i++) { if (scenarioItems[i].type == action) { switch (scenarioItems[i].type) { case ScenarioItemType.BuildDefenseTower: case ScenarioItemType.BuildUnitTower: case ScenarioItemType.RepairTower: case ScenarioItemType.UpgradeTower: case ScenarioItemType.DestroyTower: case ScenarioItemType.DestroyEnemyTower: case ScenarioItemType.AvatarMove: case ScenarioItemType.Power: case ScenarioItemType.Deploy: scenarioItems[i].amountLeft--; if (scenarioItems[i].amountLeft <= 0) { scenarioItems.Remove(scenarioItems[i]); } break; case ScenarioItemType.ShowHUD: if (i == 0) scenarioItems.Remove(scenarioItems[0]); break; case ScenarioItemType.DestroyBase: break; default: int enterThisIdiot = 0; break; } } } }
public ScenarioItem(ScenarioItemType type, int amountLeft, string information) { this.type = type; this.amountLeft = amountLeft; this.information = information; }
private static IEnumerable <ScenarioItem> MakeWall(int x, int y, int lenght, DirectionEnum direction, ScenarioItemType itemType = ScenarioItemType.Block) { List <ScenarioItem> items = new List <ScenarioItem>(); var block = new ScenarioItem() { X = x, Y = y, ItemType = itemType }; items.Add(block); for (int i = 1; i < lenght; i++) { block = block.MoveTo(direction); items.Add(block); } return(items); }