예제 #1
0
        public iAreaRange GetAreaRange(eAreaType areaType)
        {
            WeatherArea area  = m_script.Area;
            iAreaRange  range = area.GetAreaRange(areaType);

            if (range == null)
            {
                switch (areaType)
                {
                case eAreaType.Cube:
                    range = new CubeRange();
                    break;

                case eAreaType.Cylinder:
                    range = new CylinderRange();
                    break;

                case eAreaType.Sphere:
                    range = new SphereRange();
                    break;
                }
                area.SetAreaRange(areaType, range);
            }

            return(range);
        }
예제 #2
0
        protected void UpdateArea()
        {
            if (m_script.Area == null)
            {
                m_script.Area = new WeatherArea();
            }
            WeatherArea area = m_script.Area;

            area.GizmosColor1 = EditorGUILayout.ColorField("Gizmos Color 1", area.GizmosColor1, m_options);
            area.GizmosColor2 = EditorGUILayout.ColorField("Gizmos Color 2", area.GizmosColor2, m_options);
            area.ShowGizmos   = EditorGUILayout.Toggle("Show Gizmos", area.ShowGizmos, m_options);
            area.AreaType     = (eAreaType)EditorGUILayout.EnumPopup("区域类型", area.AreaType, m_options);

            switch (area.AreaType)
            {
            case eAreaType.Sphere:
                UpdateProperties_Sphere();
                break;

            case eAreaType.Cylinder:
                UpdateProperties_Cylinder();
                break;

            case eAreaType.Cube:
                UpdateProperties_Cube();
                break;
            }
        }