public static TreeCutter CreateNew(ILevelManager level, IBuilding building, TreeCutterType type) { TreeCutter newCutter = null; try { newCutter = new TreeCutter(level, building, type); newCutter.healthBar = new HealthBarControl(level, building, 100, new Vector3(0, 3, 0), new Vector2(0.5f, 0.1f), false); StaticRangeTarget.CreateNew(newCutter, level, building.Center); using (var spawnPoints = building.Tiles[0].GetNeighbours().GetEnumerator()) { for (int i = 0; i < numberOfWorkers; i++) { IUnit workerUnit1 = level.EditorMode ? null : newCutter.SpawnWorkerUnit(spawnPoints); newCutter.workers[i] = new Worker(newCutter, workerUnit1, workerRespawnTime) { DoRespawn = !level.EditorMode }; } } return(newCutter); } catch (Exception e) { newCutter?.Dispose(); throw; } }
public static Wall CreateNew(ILevelManager level, IBuilding building) { Wall wall = null; try { wall = new Wall(level, building); wall.ConnectNeighbours(); wall.healthBar = new HealthBarControl(level, building, 100, new Vector3(0, 5, 0), new Vector2(0.5f, 0.2f), false); StaticRangeTarget.CreateNew(wall, level, building.Center); return(wall); } catch (Exception e) { wall?.Dispose(); throw; } }
public static Tower CreateNew(ILevelManager level, IBuilding building) { Tower newTower = null; try { newTower = new Tower(level, building); newTower.CreatePathfindingNodes(); StaticRangeTarget.CreateNew(newTower, level, building.Center); newTower.healthBar = new HealthBarControl(level, building, 100, new Vector3(0, 5, 0), new Vector2(1f, 0.2f), false); return(newTower); } catch (Exception e) { newTower?.Dispose(); throw; } }
public static Keep CreateNew(ILevelManager level, IBuilding building, KeepType myType) { Keep newKeep = null; try { newKeep = new Keep(level, building, myType); newKeep.CreatePathfindingNodes(); StaticRangeTarget.CreateNew(newKeep, level, building.Center); newKeep.clicker = Clicker.CreateNew(newKeep, level); newKeep.clicker.Clicked += newKeep.KeepClicked; newKeep.healthBar = new HealthBarControl(level, building, 100, new Vector3(0, 3, 0), new Vector2(2f, 0.2f), false); newKeep.window = building.Player == level.HumanPlayer ? new KeepWindow(newKeep) : null; return(newKeep); } catch (Exception e) { newKeep?.Dispose(); throw; } }
public static Gate CreateNew(ILevelManager level, IBuilding building) { Gate newGate = null; try { newGate = new Gate(level, building); newGate.CreatePathfindingNodes(); StaticRangeTarget.CreateNew(newGate, level, building.Center); newGate.clicker = Clicker.CreateNew(newGate, level); newGate.clicker.Clicked += newGate.OnClicked; newGate.healthBar = new HealthBarControl(level, building, 100, new Vector3(0, 3, 0), new Vector2(2f, 0.2f), false); newGate.window = new GateWindow(newGate); return(newGate); } catch (Exception e) { newGate?.Dispose(); throw; } }