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); }
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; } }