//this was an experiment, but it uses too many resources public void SpawnSurroundingBuildings(int depth) { Rect box = world.GetBoundingBox(); Rect surrbox = box; surrbox.width += 2 * depth; surrbox.height += 2 * depth; surrbox.x -= depth; surrbox.y += depth; float yMax = surrbox.yMin - surrbox.height; Debug.Log("Spawning in " + surrbox + " vs " + box); //4 sides for (int i = (int)surrbox.xMin; i < surrbox.xMax; ++i) { for (int j = (int)surrbox.yMin; j > yMax; --j) { if (i >= box.x && i <= box.x + box.width && j <= box.y && j >= box.y - box.height) { continue; } BuildingFactory.SpawnDecoration(i, j); } } }
protected Vector2 CenterInMercator; //this is like distance (meters) in mercator public virtual void Init(BuildingFactory buildingFactory, RoadFactory roadFactory, World.Settings settings) { //初始经纬度转mercator var v2 = GM.LatLonToMeters(settings.Lat, settings.Long); Debug.Log("v2:"); Debug.Log(v2); //经纬度转detail level级别的tile坐标 var tile = GM.MetersToTile(v2, settings.DetailLevel); //tilehost为tile的坐标 TileHost = new GameObject("Tiles").transform; TileHost.SetParent(transform, false); BuildingFactory = buildingFactory; RoadFactory = roadFactory; Tiles = new Dictionary <Vector2, Tile>(); CenterTms = tile; //tile 坐标 CenterInMercator = GM.TileBounds(CenterTms, Zoom).center; initposition = (v2 - CenterInMercator).ToVector3xz(); GameManager.Instance.yourselfavatar = Instantiate(yourself, initposition, this.transform.rotation) as GameObject; GameManager.Instance.yourselfavatar.GetComponent <GPSmovemen>().centertiletms = CenterInMercator; Zoom = settings.DetailLevel; Range = settings.Range; LoadImages = settings.LoadImages; Debug.Log("Centertms: "); Debug.Log(CenterTms); Debug.Log("CenterinMercator: "); Debug.Log(CenterInMercator); LoadTiles(CenterTms, CenterInMercator); }
public void without_monad_at_work() { Building building = BuildingFactory.AtWorkNotNullBuilding(); IPhone phone = A.Fake <IPhone>(); if (building != null) { if (building.Manager != null) { Console.WriteLine("Found Manager"); if (building.Manager.IsAtWork) { Console.WriteLine("Manager is at work"); if (building.Manager.ContactInfo != null) { if (building.Manager.ContactInfo.PhoneNumber != null) { Console.WriteLine("Dialing The Manager"); phone.Call(building.Manager.ContactInfo.PhoneNumber); } } } } } A.CallTo(() => phone.Call("1234")).MustHaveHappened(); }
public void addBuildingsTest() { IBuilding bank1 = BuildingFactory.buildNew(BuildingType.Bank, 0, 0); IBuilding bank2 = BuildingFactory.buildNew(BuildingType.Bank, 1, 1); IBuilding bank3 = BuildingFactory.buildNew(BuildingType.Bank, 2, 2); this.gc.forceBuildBuilding(bank1); this.gc.forceBuildBuilding(bank2); this.gc.forceBuildBuilding(bank3); IBuilding sm1 = BuildingFactory.buildNew(BuildingType.StoneMason, 5, 5); IBuilding sm2 = BuildingFactory.buildNew(BuildingType.StoneMason, 5, 6); IBuilding sm3 = BuildingFactory.buildNew(BuildingType.StoneMason, 5, 7); this.gc.forceBuildBuilding(sm1); this.gc.forceBuildBuilding(sm2); this.gc.forceBuildBuilding(sm3); IBuilding wc1 = BuildingFactory.buildNew(BuildingType.WoodCutter, 10, 5); IBuilding wc2 = BuildingFactory.buildNew(BuildingType.WoodCutter, 10, 6); IBuilding wc3 = BuildingFactory.buildNew(BuildingType.WoodCutter, 10, 7); this.gc.forceBuildBuilding(wc1); this.gc.forceBuildBuilding(wc2); this.gc.forceBuildBuilding(wc3); }
private void doWork(Work nextAiWork) { //Debug.Log("Updating ai resource display"); //foreach (ResourceType rt in aiCurrentGameState.getAllResourceTypes()) //{ // Debug.Log("RT: " + rt + ", " + aiCurrentGameState.getStockpile(rt)); // aiResourceDisplay.updateCountAndRPT(rt, aiCurrentGameState.getStockpile(rt), aiCurrentGameState.getChangePerTick(rt)); //} Debug.Log("Doing work: " + nextAiWork.workType); switch (nextAiWork.workType) { case EWork.BuildBuilding: startBuildBuilding(BuildingFactory.buildNew(nextAiWork.buildingType, -1, -1), nextAiWork.frameWait); break; case EWork.BuyAndAssignWorker: Debug.Log("Worker for: " + nextAiWork.buildingType); if (aiCurrentGameState.canBuyWorker()) { Debug.Log("can buy worker"); aiCurrentGameState.buyAndAssignWorker(nextAiWork.buildingType); aiResourceDisplay.workerAssigned(); aiResourceDisplay.addTotalWorker(); switch (nextAiWork.buildingType) { case BuildingType.Bank: bank++; break; case BuildingType.SilverMine: silver++; break; case BuildingType.StoneMason: stone++; break; case BuildingType.WoodCutter: wood++; break; } } else { Debug.Log("cannot buy worker"); } doNextWorkAi(); break; case EWork.Wait: StartCoroutine(aiWait(nextAiWork.frameWait)); break; default: doNextWorkAi(); break; } }
public Tile Initialize(BuildingFactory buildingFactory, RoadFactory roadFactory, Settings settings) { _buildingFactory = buildingFactory; _roadFactory = roadFactory; _settings = settings; Rect = GM.TileBounds(_settings.TileTms, _settings.Zoom); return(this); }
void Start() { _buildingFactory = GetComponentInChildren <BuildingFactory>(); _roadFactory = GetComponentInChildren <RoadFactory>(); _tileManager = GetComponent <TileManager>(); _tileManager.Init(_buildingFactory, _roadFactory, _settings); }
static void Main(string[] args) { // client code Building supermarket = new Building(1, 2, BuildingFactory.get_building_type("market", "green", "market.png")); supermarket.render(); }
public override void Init(BuildingFactory buildingFactory, RoadFactory roadFactory, World.Settings settings) { base.Init(buildingFactory, roadFactory, settings); _removeAfter = Math.Max(_removeAfter, Range * 2 + 1); _tileSize = Tiles.Values.First().Rect.size; _centerCollider = new Rect(Vector2.zero - Tiles.Values.First().Rect.size / 2, Tiles.Values.First().Rect.size); // Observable.Interval(TimeSpan.FromSeconds(2)).Subscribe(x => { UpdateTiles(); }); }
public void my_strange_monad_3() { string phoneNumber = BuildingFactory.AtWorkNotNullBuilding() .GetManager3(b => b.Manager) .GetContact() .GetPhoneNumber(); Assert.AreEqual("1234", phoneNumber); }
public void monad_with_not_null() { string phoneNumber = BuildingFactory.AtWorkNotNullBuilding() .With(b => b.Manager) .With(m => m.ContactInfo) .With(c => c.PhoneNumber); Assert.AreEqual("1234", phoneNumber); }
public BattleObjectFactory(Vector <BattleObject> map, Engine.BattleEngine battleEngine) { _map = map; _buildingFactory = new BuildingFactory(this, battleEngine); _unitFactory = new UnitFactory(this, battleEngine); _bulletFactory = new BulletFactory(this, battleEngine); _spellFactory = new SpellFactory(this, battleEngine); _damageFactory = new DamageFactory(this, battleEngine); }
public BuildingManager(BuildingFactory factory) { if (factory == null) { throw new ArgumentNullException(); } this.factory = factory; }
// Use this for initialization void Start() { var agent = (Citizen)AgentFactory.CreateAgent(AgentClass.Adult); agent.setAgent_name("Joe Smith"); AgentFactory.CreateAgent(AgentClass.Adult); BuildingFactory.createBuilding(BuildingClass.Residential); }
public DefenseGrid GET() { DefenseGrid dg = new GridFactory().Create("Defense", 15, 15) as DefenseGrid; BuildingFactory art = new BuildingFactory(); Block blks = dg.grid[5, 5]; blks.building = art.Create("Artillery", "Art1"); blks.state = State.Healthy; return(dg); }
public void buildBuilding(BuildingType bt) { if (ConstructionController.tile == null) { throw new System.Exception("Trying to build without a tile. Please call turnOn(Tile t) before trying to build something"); } IBuilding newBuilding = BuildingFactory.buildNew(bt, tile.x, tile.y); this.gc.startBuildBuilding(newBuilding); }
//Calls the factory classes and passes the values of the import window inputs public void Import() { var xmlBaseFactory = new XmlBaseFactory(); xmlBaseFactory.Read(_mapFile); var buildingFactory = new BuildingFactory(xmlBaseFactory, _buildingMaterial); var roofFactory = new RoofFactory(xmlBaseFactory, _roofMaterial); var roadFactory = new RoadFactory(xmlBaseFactory, _roadMaterial, _footwayMaterial); var environmentFactory = new EnvironmentFactory(xmlBaseFactory, _greenMaterial); }
private void Start() { warningScript = WarningScript.Instance; Building = BuildingFactory.GetBuilding(buildingType); // Building kendi classının butondan gönderildiği üzere factory'den yaratıyor. InfoImageObject = GameObject.FindWithTag("InfoImageObject"); InfoTextObject = GameObject.FindWithTag("InfoTextObject"); ClickManager.NonClickableObject += BuildingSet; // VirtualBuilding kurulumu yapıldıktan sonra nonClickable olarak işaretlenmiş terrain'a tıklandığında // RealBuilding oluşturuluyor. CreateVirtualBuilding(); Building.giveInfoLog(); // Bina yaratıldığında iki farklı class için farklı çalışan info fonksiyonu }
public static void Main(string[] args) { IReader reader = new ConsoleReader(); IWriter writer = new ConsoleWriter(); IBuildingFactory buildingFactory = new BuildingFactory(); IBuildingData buildingData = new BuildingData(); var engine = new Engine(reader, writer, buildingFactory, buildingData); engine.Run(); }
static void Main() { var buildingFactory = new BuildingFactory(); var unitFactory = new UnitFactory(); var resourceFactory = new ResourceFactory(); var reader = new ConsoleReader(); var writer = new ConsoleWriter(); var data = new EmpiresData(); var engine = new Engine(buildingFactory,resourceFactory,unitFactory,data,reader,writer); engine.Run(); }
void Awake() { if (instance == null) { //DontDestroyOnLoad (gameObject); instance = this; } else if (instance != this) { Destroy(gameObject); } }
static void Main() { InputReader inputReader = new InputReader(); OutputWriter outputWriter = new OutputWriter(); UnitFactory uf = new UnitFactory(); ResourceFactory rf = new ResourceFactory(); BuildingFactory bf = new BuildingFactory(); EmpireDatabase database = new EmpireDatabase(); Engine.Engine engine = new Engine.Engine(outputWriter, inputReader, rf, uf, bf, database); engine.Run(); }
public static void Main(string[] args) { IBuildingFactory buildingFactory = new BuildingFactory(); IUnitFactory unitFactory = new UnitFactory(); IResourceFactory resourceFactory = new ResourceFactory(); IInputReader reader = new ConsoleReader(); IOutputWriter writer = new ConsoleWriter(); IEmpiresData database = new Database(); IEngine engine = new Engine(unitFactory, resourceFactory, buildingFactory, reader, writer, database); engine.Run(); }
public void Start() { playerStage = PlayerStage.Level1; // Realign the spawnpoint so it's on the terrain spawnPoint.transform.position = VectorUtil.sitOnTerrain(spawnPoint); AddBuilding(UnitType.CommandCenter, BuildingFactory.CreateBuilding(this, UnitType.CommandCenter, spawnPoint.transform.position, spawnPoint.transform.rotation)); AddUnit(UnitType.Rover, UnitFactory.CreateUnit(this, UnitType.Rover, VectorUtil.sitOnTerrain(spawnPoint.transform.position + (Vector3.forward * 10) - (Vector3.left * 2)))); AddUnit(UnitType.Rover, UnitFactory.CreateUnit(this, UnitType.Rover, VectorUtil.sitOnTerrain(spawnPoint.transform.position + (Vector3.forward * 10) + (Vector3.left * 2)))); }
public void my_strange_monad() { IPhone phone = A.Fake <IPhone>(); BuildingFactory.AtWorkNotNullBuilding() .GetManager1() .GetContact() .GetPhoneNumber() .StringDo(phoneNumber => phone.Call(phoneNumber)); A.CallTo(() => phone.Call("1234")).MustHaveHappened(); }
public void monad_with_null() { IPhone phone = A.Fake <IPhone>(); BuildingFactory.AtWorkNullPhoneNumber() .With(b => b.Manager) .With(m => m.ContactInfo) .With(c => c.PhoneNumber) .Do(phoneNumber => phone.Call(phoneNumber)); A.CallTo(() => phone.Call(null)).WithAnyArguments().MustNotHaveHappened(); }
public void monad_with_not_null() { IPhone phone = A.Fake <IPhone>(); BuildingFactory.AtWorkNotNullBuilding() .With(b => b.Manager) .With(m => m.ContactInfo) .With(c => c.PhoneNumber) .Do(phoneNumber => phone.Call(phoneNumber)); A.CallTo(() => phone.Call("1234")).MustHaveHappened(); }
static void Main(string[] args) { var buildingFactory = new BuildingFactory(); var unitFactory = new UnitFactory(); var resourceFactory = new ResourceFactory(); var database = new EmpireDatabase(); var reader = new InputReader(); var writter = new OutputWritter(); Engine engine = new Engine(buildingFactory, unitFactory, resourceFactory, database, reader, writter); engine.Run(); }
public static void Main(string[] args) { var buildingFactory = new BuildingFactory(); var unitFactory = new UnitFactory(); var resourceFactory = new ResourceFactory(); var reader = new ConsoleReader(); var writer = new ConsoleWriter(); var data = new EmpiresData(); var engine = new Engine(buildingFactory, resourceFactory, unitFactory, data, reader, writer); engine.Run(); }
public static void Main(string[] args) { IBuildingFactory buildingFactory = new BuildingFactory(); IUnitFactory unitFactory = new UnitFactory(); IResourceFactory resourceFactory = new ResourceFactory(); IInputReader reader = new ConsoleReader(); IOutputWriter writer = new ConsoleWriter(); IEmpiresData database = new Database(); IEngine engine = new Engine(unitFactory, resourceFactory, buildingFactory, reader, writer, database); engine.Run(); }
public void Test_ShouldReturnBuilding_WhenGivenDef(Type defType, Type expectedType) { // Arrange BuildingFactory buildingFactory = new BuildingFactory(faction, game); IStructureDef def = (IStructureDef)Activator.CreateInstance(defType); // Act IStructure <IStructureDef> building = buildingFactory.CreateNewBuilding(def); // Assert Assert.AreEqual(expectedType, building.GetType()); }
public void Test_ShouldThrowException_WhenGivenNull() { // Arrange // Act // Assert Assert.Throws <ArgumentNullException>(() => { BuildingFactory factory = new BuildingFactory(null, game); } ); }
public void Setup(int building_type, BuildingFactory _buildingFactory) { base.Setup (); buildingType = building_type; buildingFactory = _buildingFactory; }
/// <summary> /// Build the '2nd layer' of buildings if enough units (upgrade) /// </summary> public void Build2nd() { //Debug.Log("build 2"); string buildingToBuild = buildingText2.text; BuildingFactory buildingFactory = new BuildingFactory (); Building building = buildingFactory.getBuilding (buildingToBuild.Replace(" ","") + "(Clone)"); if(PlayerController.getCount() >= building.getCost()){ if (buildingToBuild.Equals ("GearShack")) { Vector3 place = lastHitObject.transform.position; GameObject newObject = (GameObject)Instantiate(gearShack, place, Quaternion.identity); newObject.transform.Rotate(new Vector3(-90, (Random.Range(0, 360)), 0)); turrets.Add(newObject); lastHitObject.tag = "GearShackPlane"; } if (buildingToBuild.Equals ("Harpgoon")) { Delete(); Vector3 place = lastHitObject.transform.position; GameObject newObject = (GameObject)Instantiate(harpgoon, place, Quaternion.identity); newObject.transform.Rotate(new Vector3(0, (Random.Range(0, 360)), 0)); turrets.Add(newObject); lastHitObject.tag = "occupiedPlane"; Analytics.setBuildings(4); } if (buildingToBuild.Equals ("Health Boost Bed")) { Delete(); Vector3 place = lastHitObject.transform.position; GameObject newObject = (GameObject)Instantiate(healthBed, place, Quaternion.identity); newObject.transform.Rotate(new Vector3(-90, (Random.Range(0, 360)), 0)); turrets.Add(newObject); lastHitObject.tag = "occupiedPlane"; } if (buildingToBuild.Equals ("Gun Smith")) { Delete(); Vector3 place = lastHitObject.transform.position; GameObject newObject = (GameObject)Instantiate(weaponSmith, place, Quaternion.identity); newObject.transform.Rotate(new Vector3(-90, 0, 0)); newObject.transform.Translate(new Vector3(0, 0.1957196f, 0)); turrets.Add(newObject); lastHitObject.tag = "Gunsmith"; } UpdateUnits(building); score_.addScoreBuilding(building.getCost()); setBuildMenu(); } }
void Start () { buildingFactory = new BuildingFactory(); potionStartTime = Time.time; }
/// <summary> /// Build the '3rd layer' of buildings if enough units (more upgrades!) /// </summary> public void Build3rd() { //Debug.Log("build 3"); string buildingToBuild = buildingText3.text; BuildingFactory buildingFactory = new BuildingFactory (); Building building = buildingFactory.getBuilding (buildingToBuild.Replace(" ", "") + "(Clone)"); if(PlayerController.getCount() >= building.getCost()){ if (buildingToBuild.Equals ("Bed")) { Vector3 place = lastHitObject.transform.position; GameObject newObject = (GameObject)Instantiate(bed, place, Quaternion.identity); newObject.transform.Rotate(new Vector3(-90, 0, 0)); newObject.transform.Translate(new Vector3(0, 0.06193482f, 0)); turrets.Add(newObject); lastHitObject.tag = "BedPlane"; } if (buildingToBuild.Equals ("Snail Gun")) { Delete(); Vector3 place = lastHitObject.transform.position; GameObject newObject = (GameObject)Instantiate(snailGun, place, Quaternion.identity); newObject.transform.Rotate(new Vector3(0, (Random.Range(0, 360)), 0)); turrets.Add(newObject); lastHitObject.tag = "occupiedPlane"; Analytics.setBuildings(3); } if (buildingToBuild.Equals ("Tech Smith")) { Delete(); Vector3 place = lastHitObject.transform.position; GameObject newObject = (GameObject)Instantiate(gadgetSmith, place, Quaternion.identity); newObject.transform.Rotate(new Vector3(-90, (Random.Range(0, 360)), 0)); turrets.Add(newObject); lastHitObject.tag = "Techsmith"; } UpdateUnits(building); score_.addScoreBuilding(building.getCost()); setBuildMenu(); } }
/// <summary> /// Build the '1st layer' of buildings if enough units (build from scratch) /// </summary> public void Build1st() { //Debug.Log("build 1"); string buildingToBuild = buildingText1.text; BuildingFactory buildingFactory = new BuildingFactory (); Building building = buildingFactory.getBuilding (buildingToBuild.Replace(" ", "") + "(Clone)"); if(PlayerController.getCount() >= building.getCost()){ if (buildingToBuild.Equals ("Rock-Paper-Scissor turret")) { Vector3 place = lastHitObject.transform.position; GameObject newObject = (GameObject)Instantiate(basicTurret, place, Quaternion.identity); newObject.transform.Rotate(new Vector3(0, (Random.Range(0, 360)), 0)); turrets.Add(newObject); lastHitObject.tag = "BasicTurretPlane"; Analytics.setBuildings(1); } if (buildingToBuild.Equals ("Cat-a-pult")) { Delete(); Vector3 place = lastHitObject.transform.position; GameObject newObject = (GameObject)Instantiate(catapult, place, Quaternion.identity); newObject.transform.Rotate(new Vector3(0, (Random.Range(0, 360)), 0)); turrets.Add(newObject); lastHitObject.tag = "occupiedPlane"; Analytics.setBuildings(2); } if (buildingToBuild.Equals ("Energy Boost Bed")) { Delete(); Vector3 place = lastHitObject.transform.position; GameObject newObject = (GameObject)Instantiate(energyBed, place, Quaternion.identity); newObject.transform.Rotate(new Vector3(-90, 0, 0)); newObject.transform.Translate(new Vector3(0, 1.055501f, 0)); turrets.Add(newObject); lastHitObject.tag = "occupiedPlane"; } if (buildingToBuild.Equals ("Generator")) { Delete(); Vector3 place = lastHitObject.transform.position; GameObject newObject = (GameObject)Instantiate(generator, place, Quaternion.identity); newObject.transform.Translate(new Vector3(0, 0.2050993f, 0)); turrets.Add(newObject); lastHitObject.tag = "occupiedPlane"; } UpdateUnits(building); score_.addScoreBuilding(building.getCost()); setBuildMenu(); } }