/// <summary> /// Returns a copy of the supplied style modified to apply a selected random value to extruded /// buildings that do not have a server provided height. /// </summary> /// <param name="suppliedStyle">Style to use as a template.</param> /// <returns>A modified copy of suppliedStyle.</returns> private ExtrudedStructureStyle RandomizeBuildingHeight(ExtrudedStructureStyle suppliedStyle) { ExtrudedStructureStyle.Builder builder = new ExtrudedStructureStyle.Builder(suppliedStyle); builder.ExtrudedBuildingFootprintHeight = Random.Range(MinRandomBuildingHeight, MaxRandomBuildingHeight); return(builder.Build()); }
/// <summary> /// Updates the extruded structure style of the base map loader. /// These styles are applied to the map on loading. /// </summary> private void UpdateStyle() { // Assigns selected materials to style StyleConfiguration = new ExtrudedStructureStyle .Builder { RoofMaterialAlignment = isAlignToWorld.isOn ? ExtrudedStructureStyle.RoofMaterialAlignmentType.AlignToWorld : ExtrudedStructureStyle.RoofMaterialAlignmentType.AlignToDirection, ApplyFixedHeight = this.applyFixedHeight.isOn, FixedHeight = this.fixedHeightSlider.value, ExtrudedBuildingFootprintHeight = this.footprintHeightSlider.value, Prefab = this.Prefab, RoofMaterial = this.RoofMaterial, WallMaterial = this.WallMaterial } .Build(); }
protected override void InitMapConfig() { Debug.Log("Init +++"); base.InitMapConfig(); // Select last prefab (no selection) for (int i = 0; i < prefabToggles.Count; i++) { prefabToggles[i].isOn = i == (prefabToggles.Count - 1); } // Select the first wall material by default. for (int i = 0; i < wallMaterialsToggles.Count; i++) { wallMaterialsToggles[i].isOn = i == 0; } // Select the first roof material by default. for (int i = 0; i < roofMaterialsToggles.Count; i++) { roofMaterialsToggles[i].isOn = i == 0; } StyleConfiguration = ExampleDefaults.DefaultGameObjectOptions.ExtrudedStructureStyle; // Use the first roof and wall material by default. RoofMaterial = roofMaterials.Count > 0 ? roofMaterials[0] : null; WallMaterial = wallMaterials.Count > 0 ? wallMaterials[0] : null; applyFixedHeight.isOn = StyleConfiguration.ApplyFixedHeight; fixedHeightSlider.value = StyleConfiguration.FixedHeight; footprintHeightSlider.value = StyleConfiguration.ExtrudedBuildingFootprintHeight; Prefab = StyleConfiguration.Prefab; isAlignToWorld.isOn = StyleConfiguration.RoofMaterialAlignment == ExtrudedStructureStyle.RoofMaterialAlignmentType.AlignToWorld; UpdateStyle(); }
private void createStyles() { Prefab.transform.localScale = new Vector3(4f, 4f, 4f); PrefabBar.transform.localScale = new Vector3(4f, 4f, 4f); PrefabBank.transform.localScale = new Vector3(4f, 4f, 4f); PrefabLodging.transform.localScale = new Vector3(4f, 4f, 4f); PrefabCafe.transform.localScale = new Vector3(6f, 6f, 6f); PrefabRestaurant.transform.localScale = new Vector3(6f, 6f, 6f); PrefabEvent.transform.localScale = new Vector3(4f, 4f, 4f); PrefabTourist.transform.localScale = new Vector3(4f, 4f, 4f); PrefabShop.transform.localScale = new Vector3(4f, 4f, 4f); PrefabSchool.transform.localScale = new Vector3(4f, 4f, 4f); PrefabUnspecified.transform.localScale = new Vector3(4f, 4f, 4f); PrefabSuppressed.transform.localScale = new Vector3(4f, 4f, 4f); extrudedPrefabStyle = new ExtrudedStructureStyle.Builder { Prefab = Prefab }.Build(); modeledPrefabStyle = new ModeledStructureStyle.Builder { Prefab = Prefab }.Build(); extrudedStructureStyles.Add("Custom", new ExtrudedStructureStyle.Builder { Prefab = PrefabCustom }.Build()); modeledStructureStyles.Add("Custom", new ModeledStructureStyle.Builder { Prefab = PrefabCustom }.Build()); extrudedStructureStyles.Add("Bar", new ExtrudedStructureStyle.Builder { Prefab = PrefabBar }.Build()); modeledStructureStyles.Add("Bar", new ModeledStructureStyle.Builder { Prefab = PrefabBar }.Build()); extrudedStructureStyles.Add("Bank", new ExtrudedStructureStyle.Builder { Prefab = PrefabBank }.Build()); modeledStructureStyles.Add("Bank", new ModeledStructureStyle.Builder { Prefab = PrefabBank }.Build()); extrudedStructureStyles.Add("Lodging", new ExtrudedStructureStyle.Builder { Prefab = PrefabLodging }.Build()); modeledStructureStyles.Add("Lodging", new ModeledStructureStyle.Builder { Prefab = PrefabLodging }.Build()); extrudedStructureStyles.Add("Cafe", new ExtrudedStructureStyle.Builder { Prefab = PrefabCafe }.Build()); modeledStructureStyles.Add("Cafe", new ModeledStructureStyle.Builder { Prefab = PrefabCafe }.Build()); extrudedStructureStyles.Add("Restaurant", new ExtrudedStructureStyle.Builder { Prefab = PrefabRestaurant }.Build()); modeledStructureStyles.Add("Restaurant", new ModeledStructureStyle.Builder { Prefab = PrefabRestaurant }.Build()); extrudedStructureStyles.Add("Event", new ExtrudedStructureStyle.Builder { Prefab = PrefabEvent }.Build()); modeledStructureStyles.Add("Event", new ModeledStructureStyle.Builder { Prefab = PrefabEvent }.Build()); extrudedStructureStyles.Add("Tourist", new ExtrudedStructureStyle.Builder { Prefab = PrefabTourist }.Build()); modeledStructureStyles.Add("Tourist", new ModeledStructureStyle.Builder { Prefab = PrefabTourist }.Build()); extrudedStructureStyles.Add("Shop", new ExtrudedStructureStyle.Builder { Prefab = PrefabShop }.Build()); modeledStructureStyles.Add("Shop", new ModeledStructureStyle.Builder { Prefab = PrefabShop }.Build()); extrudedStructureStyles.Add("School", new ExtrudedStructureStyle.Builder { Prefab = PrefabSchool }.Build()); modeledStructureStyles.Add("School", new ModeledStructureStyle.Builder { Prefab = PrefabSchool }.Build()); extrudedStructureStyles.Add("Unspecified", new ExtrudedStructureStyle.Builder { Prefab = PrefabUnspecified }.Build()); modeledStructureStyles.Add("Unspecified", new ModeledStructureStyle.Builder { Prefab = PrefabUnspecified }.Build()); extrudedStructureStyles.Add("Suppressed", new ExtrudedStructureStyle.Builder { Prefab = PrefabSuppressed }.Build()); modeledStructureStyles.Add("Suppressed", new ModeledStructureStyle.Builder { Prefab = PrefabSuppressed }.Build()); }