public void ClearBuildingSelection() { if (SelectedBuilding != null) { SelectedBuilding.Holder.GetComponent <SpriteRenderer>().sprite = Sprites.Current.UsualPlain; SelectedBuilding = null; } }
public void SelectBuilding(Vector position) { ClearBuildingSelection(); SelectedBuilding = this[position]; SelectedBuilding.Holder.GetComponent <SpriteRenderer>().sprite = Sprites.Current.SelectedPlain; }
public void ShowArea(Vector areaPosition, BuildingAreaDto[,] buildings) { foreach ( var childTransform in GameObjects.Current.BuildingsContainer.transform .GetComponentsInChildren <Transform>() .Where(c => c.gameObject != GameObjects.Current.BuildingsContainer)) { Destroy(childTransform.gameObject); } for (var x = 0; x < buildings.GetLength(0); x++) { for (var y = 0; y < buildings.GetLength(1); y++) { var b = buildings[x, y]; var buildingAbsolutePosition = areaPosition * AreaWidth + new Vector(x, y); Debug.Log("World width: " + Buildings.GetLength(0) + ", Position: " + buildingAbsolutePosition); var image = this[buildingAbsolutePosition] = new BuildingImage { Holder = Instantiate( Prefabs.Current.Holder, new Vector3(0, 0, -1), new Quaternion(), GameObjects.Current.BuildingsContainer.transform), Position = buildingAbsolutePosition, Name = b.Name, }; image.Flag = Instantiate( Prefabs.Current.Flag, Vector3.zero, new Quaternion()) .GetComponent <SpriteRenderer>(); SetBuilding(buildingAbsolutePosition, b.Name, b.OwnerName); image.Flag.transform.SetParent(image.Building.transform, false); image.Indicator = Instantiate( Prefabs.Current.BuildingTimer, image.Building.transform.position + new Vector3(0, -0.15f * image.Building.transform.localScale.y, -1), new Quaternion(), image.Building.transform) .GetComponent <Indicator>(); if (b.BuildingTime > TimeSpan.Zero) { image.Indicator.Manager = new Timer(b.BuildingTime); } image.Indicator.Hunger = b.ArePeopleHungry; if (b.IsThereArmy) { SetArmy(buildingAbsolutePosition); } image.Holder .GetComponent <IsometricController>() .IsometricPosition = buildingAbsolutePosition.ToVector2(); } } }