Exemplo n.º 1
0
 /// <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());
    }