public static int getPrice(BuildingFactory.BuildingType type) { switch (type) { case BuildingFactory.BuildingType.HOUSE: return(500); case BuildingFactory.BuildingType.STORAGE: return(100); case BuildingFactory.BuildingType.MINE: return(200); case BuildingFactory.BuildingType.BARRACK: return(300); case BuildingFactory.BuildingType.CAMP: return(400); case BuildingFactory.BuildingType.TOWNHALL: return(400); default: return(500); } }
public GameObject createBuilding(BuildingFactory.BuildingType type, Transform bTransform) { Vector3 position = bTransform.position; position.z = 0; switch (type) { case BuildingType.HOUSE: case BuildingType.STORAGE: return(Instantiate(storage, position, bTransform.rotation)); case BuildingType.MINE: return(Instantiate(mine, position, bTransform.rotation)); case BuildingType.BARRACK: return(Instantiate(barrack, position, bTransform.rotation)); case BuildingType.CAMP: case BuildingType.TOWNHALL: return(Instantiate(townhall, position, bTransform.rotation)); case BuildingType.CANON: return(Instantiate(canon, position, bTransform.rotation)); default: return(Instantiate(townhall, position, bTransform.rotation)); } }
// Load map objects gui public void _LoadObjectsGUI() { for (int i = 0; i < objects.Count; i++) { BuildingFactory.BuildingType objectType = (BuildingFactory.BuildingType)objects[i].type; objects[i].spriteUI = BuildingFactory.instance.createBuilding(objectType, CameraManager.instance.transform); objects[i]._LoadGUI(); if (i == 1) { objects[i].spriteUI.transform.Find("Structure").GetComponentInChildren <SpriteRenderer>().sprite = null; } } }
public void _AddMapObject(BuildingFactory.BuildingType _type, int _level, Vector2 _place) { // If place is invalid, inform user if (_place.x == -1 || _place.y == -1) { NotifyBoardUI.Instance._Active("Đã hết đất trống", "Vui lòng di chuyển các công trình hiện tại để tạo đất trống"); return; } // Create an object with type and level MapObject mapObject = new MapObject() { type = (int)_type, id = objects.Count, size = Number.MAP_OBJECT_SIZE[(int)_type], level = _level, place = _place, spriteUI = BuildingFactory.instance.createBuilding(_type, CameraManager.instance.transform) }; //choose right CellFactory of UI of MapObject // if (mapObject.size == 3) // mapObject.spriteUI = new BuilderUI (new Cell3x3Factory (), _type, Number.MAP_OBJECT_SIZE[_type]); // If there is a slot for the object if (mapObject.place != null) { // Add it to list objects objects.Add(mapObject); // Check on data for (float i = mapObject.place.x; i > mapObject.place.x - mapObject.size; i--) { for (float j = mapObject.place.y; j > mapObject.place.y - mapObject.size; j--) { data[(int)i, (int)j] = mapObject.id; } } mapObject._LoadGUI(); } }