public IEnumerator OpenVehicleType(BaseGroundType drawType) { VehicleButtonTemplate.SetActive(true); VehicleListOfUnits.GetComponentsInChildren <GarageClickAirUnit>().ToList().ForEach(g => Destroy(g.gameObject) ); var selectedUnits = VehiclesToLoad.Where(unit => unit.BaseGroundType == drawType).ToList(); selectedUnits.ForEach(vehicle => { var newVehicle = Instantiate(VehicleButtonTemplate); var configClick = newVehicle.GetComponent <GarageClickAirUnit>(); newVehicle.GetComponentInChildren <Text>().text = vehicle.name; var img = newVehicle.GetComponentsInChildren <RawImage>(); configClick.GarageIcon.texture = vehicle.ClassIcon; configClick.GarageFlag.texture = vehicle.CountryOfOriginFlag; configClick.GarageUnitName.text = vehicle.DisplayName; configClick.ButtonBackgroundImage.texture = vehicle.MenuIcon; configClick.OnClickSelectThisVehicle = vehicle; newVehicle.gameObject.transform.SetParent(VehicleListOfUnits.transform); }); VehicleButtonTemplate.SetActive(false); DisplayGarageName.text = drawType.ToDescription().ToUpper(); yield return(new WaitForEndOfFrame()); }
public void OnSelectUnitType() { var selectType = EventSystem.current.currentSelectedGameObject.GetComponent <GarageVehicleTypeClick>(); SelectedGroundType = selectType.SelectedGroundType; StartCoroutine(OpenVehicleType(SelectedGroundType)); DebugText.text = selectType.SelectedGroundType.ToDescription(); VehicleListPanel.SetActive(true); }