// Copyright (c) 2012-2021 Wojciech Figat. All rights reserved. using System; using System.Collections.Generic; using FlaxEngine; namespace FlaxEditor.Windows { public partial class SceneTreeWindow { /// /// The spawnable actors group. /// public struct ActorsGroup { /// /// The group name. /// public string Name; /// /// The types to spawn (name and type). /// public KeyValuePair[] Types; } /// /// The Spawnable actors (groups with single entry are inlined without a child menu) /// public static readonly ActorsGroup[] SpawnActorsGroups = { new ActorsGroup { Types = new[] { new KeyValuePair("Actor", typeof(EmptyActor)) } }, new ActorsGroup { Types = new[] { new KeyValuePair("Model", typeof(StaticModel)) } }, new ActorsGroup { Types = new[] { new KeyValuePair("Camera", typeof(Camera)) } }, new ActorsGroup { Name = "Lights", Types = new[] { new KeyValuePair("Directional Light", typeof(DirectionalLight)), new KeyValuePair("Point Light", typeof(PointLight)), new KeyValuePair("Spot Light", typeof(SpotLight)), new KeyValuePair("Sky Light", typeof(SkyLight)), } }, new ActorsGroup { Name = "Visuals", Types = new[] { new KeyValuePair("Environment Probe", typeof(EnvironmentProbe)), new KeyValuePair("Sky", typeof(Sky)), new KeyValuePair("Skybox", typeof(Skybox)), new KeyValuePair("Exponential Height Fog", typeof(ExponentialHeightFog)), new KeyValuePair("PostFx Volume", typeof(PostFxVolume)), new KeyValuePair("Decal", typeof(Decal)), new KeyValuePair("Particle Effect", typeof(ParticleEffect)), } }, new ActorsGroup { Name = "Physics", Types = new[] { new KeyValuePair("Rigid Body", typeof(RigidBody)), new KeyValuePair("Character Controller", typeof(CharacterController)), new KeyValuePair("Box Collider", typeof(BoxCollider)), new KeyValuePair("Sphere Collider", typeof(SphereCollider)), new KeyValuePair("Capsule Collider", typeof(CapsuleCollider)), new KeyValuePair("Mesh Collider", typeof(MeshCollider)), new KeyValuePair("Fixed Joint", typeof(FixedJoint)), new KeyValuePair("Distance Joint", typeof(DistanceJoint)), new KeyValuePair("Slider Joint", typeof(SliderJoint)), new KeyValuePair("Spherical Joint", typeof(SphericalJoint)), new KeyValuePair("Hinge Joint", typeof(HingeJoint)), new KeyValuePair("D6 Joint", typeof(D6Joint)), } }, new ActorsGroup { Name = "Other", Types = new[] { new KeyValuePair("Animated Model", typeof(AnimatedModel)), new KeyValuePair("Bone Socket", typeof(BoneSocket)), new KeyValuePair("CSG Box Brush", typeof(BoxBrush)), new KeyValuePair("Audio Source", typeof(AudioSource)), new KeyValuePair("Audio Listener", typeof(AudioListener)), new KeyValuePair("Scene Animation", typeof(SceneAnimationPlayer)), new KeyValuePair("Nav Mesh Bounds Volume", typeof(NavMeshBoundsVolume)), new KeyValuePair("Nav Mesh Link", typeof(NavLink)), } }, new ActorsGroup { Name = "GUI", Types = new[] { new KeyValuePair("UI Control", typeof(UIControl)), new KeyValuePair("UI Canvas", typeof(UICanvas)), new KeyValuePair("Text Render", typeof(TextRender)), } }, }; } }