public static MultiModeParameter GetProperty(ModuleUI ui, string name, GUIContent speed) { MultiModeParameter result = new MultiModeParameter(); result.m_Value = ui.GetProperty(name + ".value"); result.m_Mode = ui.GetProperty(name + ".mode"); result.m_Spread = ui.GetProperty(name + ".spread"); result.m_Speed = new SerializedMinMaxCurve(ui, speed, name + ".speed", kUseSignedRange); result.m_Speed.m_AllowRandom = false; return(result); }
protected override void Init() { if (m_Type != null) { return; } if (s_Texts == null) { s_Texts = new Texts(); } m_Type = GetProperty("type"); m_Radius = MultiModeParameter.GetProperty(this, "radius", s_RadiusTexts.speed); m_RadiusThickness = GetProperty("radiusThickness"); m_Angle = GetProperty("angle"); m_Length = GetProperty("length"); m_BoxThickness = GetProperty("boxThickness"); m_Arc = MultiModeParameter.GetProperty(this, "arc", s_ArcTexts.speed); m_DonutRadius = GetProperty("donutRadius"); m_PlacementMode = GetProperty("placementMode"); m_Mesh = GetProperty("m_Mesh"); m_MeshRenderer = GetProperty("m_MeshRenderer"); m_SkinnedMeshRenderer = GetProperty("m_SkinnedMeshRenderer"); m_Sprite = GetProperty("m_Sprite"); m_SpriteRenderer = GetProperty("m_SpriteRenderer"); m_MeshMaterialIndex = GetProperty("m_MeshMaterialIndex"); m_UseMeshMaterialIndex = GetProperty("m_UseMeshMaterialIndex"); m_UseMeshColors = GetProperty("m_UseMeshColors"); m_MeshNormalOffset = GetProperty("m_MeshNormalOffset"); m_Texture = GetProperty("m_Texture"); m_TextureClipChannel = GetProperty("m_TextureClipChannel"); m_TextureClipThreshold = GetProperty("m_TextureClipThreshold"); m_TextureColorAffectsParticles = GetProperty("m_TextureColorAffectsParticles"); m_TextureAlphaAffectsParticles = GetProperty("m_TextureAlphaAffectsParticles"); m_TextureBilinearFiltering = GetProperty("m_TextureBilinearFiltering"); m_TextureUVChannel = GetProperty("m_TextureUVChannel"); m_RandomDirectionAmount = GetProperty("randomDirectionAmount"); m_SphericalDirectionAmount = GetProperty("sphericalDirectionAmount"); m_RandomPositionAmount = GetProperty("randomPositionAmount"); m_AlignToDirection = GetProperty("alignToDirection"); m_Position = GetProperty("m_Position"); m_Scale = GetProperty("m_Scale"); m_Rotation = GetProperty("m_Rotation"); if (!s_Material) { s_Material = Material.GetDefaultMaterial(); } if (!s_TextureMaterial) { s_TextureMaterial = new Material((Shader)EditorGUIUtility.Load("SceneView/ParticleShapeGizmo.shader")); } if (!s_SphereTextureMaterial) { s_SphereTextureMaterial = new Material((Shader)EditorGUIUtility.Load("SceneView/ParticleShapeGizmoSphere.shader")); } if (!s_CircleMesh) { s_CircleMesh = ((GameObject)EditorGUIUtility.Load("SceneView/Circle.fbx")).transform.GetComponent <MeshFilter>().sharedMesh; } if (!s_QuadMesh) { s_QuadMesh = Resources.GetBuiltinResource(typeof(Mesh), "Quad.fbx") as Mesh; } if (!s_SphereMesh) { s_SphereMesh = Resources.GetBuiltinResource(typeof(Mesh), "New-Sphere.fbx") as Mesh; } if (!s_HemisphereMesh) { s_HemisphereMesh = ((GameObject)EditorGUIUtility.Load("SceneView/Hemisphere.fbx")).transform.GetComponent <MeshFilter>().sharedMesh; } }