Files
FueraDeEscala/Assets/Game Kit Controller/Scripts/Editor/CustomizableToolbarSettingsDataDrawer.cs
Robii Aragon 779f2c8b20 add ckg
plantilla base para movimiento básico
2026-02-05 05:07:55 -08:00

518 lines
16 KiB
C#

using System.IO;
using UnityEditor;
using UnityEngine;
[CustomPropertyDrawer (typeof(CustomizableToolbarSettingsData))]
public sealed class CustomizableToolbarSettingsDataDrawer : PropertyDrawer
{
public override void OnGUI (Rect position, SerializedProperty property, GUIContent label)
{
using (new EditorGUI.PropertyScope (position, label, property)) {
position.height = EditorGUIUtility.singleLineHeight;
var commandRect = new Rect (position) {
width = position.width - 18,
};
var presetRect = new Rect (position) {
x = commandRect.xMax + 2,
width = 16,
};
var useImageRect = new Rect (position) {
y = presetRect.yMax + 2,
};
var buttonRect = new Rect (position) {
y = useImageRect.yMax + 2,
};
var imageRect = new Rect (position) {
y = buttonRect.yMax + 2,
};
var widthRect = new Rect (position) {
y = imageRect.yMax + 2,
};
var hintRect = new Rect (position) {
y = widthRect.yMax + 2,
};
var commandProperty = property.FindPropertyRelative ("m_commandName");
var buttonProperty = property.FindPropertyRelative ("m_buttonName");
var useImageProperty = property.FindPropertyRelative ("m_useImage");
var imageProperty = property.FindPropertyRelative ("m_image");
var widthProperty = property.FindPropertyRelative ("m_width");
var hintProperty = property.FindPropertyRelative ("m_hint");
commandProperty.stringValue = EditorGUI.TextField (commandRect, commandProperty.displayName, commandProperty.stringValue);
buttonProperty.stringValue = EditorGUI.TextField (buttonRect, buttonProperty.displayName, buttonProperty.stringValue);
useImageProperty.boolValue = EditorGUI.Toggle (useImageRect, useImageProperty.displayName, useImageProperty.boolValue);
EditorGUI.ObjectField (imageRect, imageProperty);
widthProperty.intValue = EditorGUI.IntField (widthRect, widthProperty.displayName, widthProperty.intValue);
hintProperty.stringValue = EditorGUI.TextField (hintRect, hintProperty.displayName, hintProperty.stringValue);
if (GUI.Button (presetRect, GUIContent.none, "ShurikenDropdown")) {
var menu = new GenericMenu ();
foreach (var n in PRESETS) {
menu.AddItem (new GUIContent (n), false, () => {
property.serializedObject.Update ();
commandProperty.stringValue = n;
buttonProperty.stringValue = Path.GetFileNameWithoutExtension (n);
property.serializedObject.ApplyModifiedProperties ();
});
}
menu.ShowAsContext ();
}
}
}
private static readonly string[] PRESETS = {
"File/New Scene",
"File/Open Scene",
"File/Save Scenes",
"File/Save Scenes as...",
"File/New Project...",
"File/Open Project...",
"File/Save Project",
"File/Build Settings...",
"File/Build & Run",
"File/Exit",
"Edit/Undo",
"Edit/Redo",
"Edit/Cut",
"Edit/Copy",
"Edit/Paste",
"Edit/Duplicate",
"Edit/Delete",
"Edit/Frame Selected",
"Edit/Find",
"Edit/Select All",
"Edit/Preferences...",
"Edit/Modules...",
"Edit/Play",
"Edit/Pause",
"Edit/Step",
"Edit/Sign in...",
"Edit/Sign out",
"Edit/Selection/Load Selection 1",
"Edit/Selection/Load Selection 2",
"Edit/Selection/Load Selection 3",
"Edit/Selection/Load Selection 4",
"Edit/Selection/Load Selection 5",
"Edit/Selection/Load Selection 6",
"Edit/Selection/Load Selection 7",
"Edit/Selection/Load Selection 8",
"Edit/Selection/Load Selection 9",
"Edit/Selection/Load Selection 0",
"Edit/Selection/Save Selection 1",
"Edit/Selection/Save Selection 2",
"Edit/Selection/Save Selection 3",
"Edit/Selection/Save Selection 4",
"Edit/Selection/Save Selection 5",
"Edit/Selection/Save Selection 6",
"Edit/Selection/Save Selection 7",
"Edit/Selection/Save Selection 8",
"Edit/Selection/Save Selection 9",
"Edit/Selection/Save Selection 0",
"Edit/Project Settings/Input",
"Edit/Project Settings/Tags and Layers",
"Edit/Project Settings/Audio",
"Edit/Project Settings/Time",
"Edit/Project Settings/Player",
"Edit/Project Settings/Physics",
"Edit/Project Settings/Physics 2D",
"Edit/Project Settings/Quality",
"Edit/Project Settings/Graphics",
"Edit/Project Settings/Network",
"Edit/Project Settings/Editor",
"Edit/Project Settings/Script Execution Order",
"Edit/Graphics Emulation/No Emulation",
"Edit/Graphics Emulation/Saher Mode 4",
"Edit/Graphics Emulation/Saher Mode 3",
"Edit/Graphics Emulation/Saher Mode 2",
"Edit/Graphics Emulation/Saher Hardware Tier 1",
"Edit/Graphics Emulation/Saher Hardware Tier 2",
"Edit/Graphics Emulation/Saher Hardware Tier 3",
"Edit/Newtwork Emulation/None",
"Edit/Newtwork Emulation/Broadband",
"Edit/Newtwork Emulation/DSL",
"Edit/Newtwork Emulation/ISDN",
"Edit/Newtwork Emulation/Dial-Up",
"Edit/Snap Settings...",
"Assets/Create/Folder",
"Assets/Create/C# Script",
"Assets/Create/Shader/Standard Surface Shader",
"Assets/Create/Shader/Unlit Shader",
"Assets/Create/Shader/Image Effect Shader",
"Assets/Create/Shader/Compute Shader",
"Assets/Create/Shader/Shader Variant Collection",
"Assets/Create/Testing/EditMode Test C# Script",
"Assets/Create/Testing/PlayMode test C# Script",
"Assets/Create/Playables/Playable Behaviour C# Script",
"Assets/Create/Playables/Playable Asset C# Script",
"Assets/Create/Assembly Definition",
"Assets/Create/Scene",
"Assets/Create/Prefab",
"Assets/Create/Audio Mixer",
"Assets/Create/Material",
"Assets/Create/Lens Flare",
"Assets/Create/Render Texture",
"Assets/Create/Lightmap Parameters",
"Assets/Create/Custom Render Texture",
"Assets/Create/Sprite Atlas",
"Assets/Create/Sprites/Square",
"Assets/Create/Sprites/Triangle",
"Assets/Create/Sprites/Diamond",
"Assets/Create/Sprites/Hexagon",
"Assets/Create/Sprites/Circle",
"Assets/Create/Sprites/Polygon",
"Assets/Create/Tile",
"Assets/Create/Animator Controller",
"Assets/Create/Animation",
"Assets/Create/Animator Override Controller",
"Assets/Create/Avatar Mask",
"Assets/Create/Timeline",
"Assets/Create/Physic Material",
"Assets/Create/Physics Material 2D",
"Assets/Create/GUI Skin",
"Assets/Create/Custom Font",
"Assets/Create/Legacy/Cubemap",
"Assets/Create/Legacy/UnityScript (deprecated)",
"Assets/Create/UIElements View",
"Assets/Show in Explorer",
"Assets/Open",
"Assets/Delete",
"Assets/Open Scene Additive",
"Assets/Import New Asset...",
"Assets/Import Package/Custom Package...",
"Assets/Export Package...",
"Assets/Find References In Scene",
"Assets/Select Dependencies",
"Assets/Refresh",
"Assets/Reimport",
"Assets/Reimport All",
"Assets/Extract From Prefab",
"Assets/Run API Updater...",
"Assets/Open C# Project",
"GameObject/Create Empty",
"GameObject/Create Empty Child",
"GameObject/3D Object/Cube",
"GameObject/3D Object/Sphere",
"GameObject/3D Object/Capsule",
"GameObject/3D Object/Cylinder",
"GameObject/3D Object/Plane",
"GameObject/3D Object/Quad",
"GameObject/3D Object/Ragdoll...",
"GameObject/3D Object/Terrain",
"GameObject/3D Object/Tree",
"GameObject/3D Object/Wind Zone",
"GameObject/3D Object/3D Text",
"GameObject/2D Object/Sprite",
"GameObject/2D Object/Tilemap",
"GameObject/2D Object/Sprite Mask",
"GameObject/Effects/Particle System",
"GameObject/Effects/Trail",
"GameObject/Effects/Line",
"GameObject/Light/Directional Light",
"GameObject/Light/Point Light",
"GameObject/Light/Spotlight",
"GameObject/Light/Area Light",
"GameObject/Light/Reflection Probe",
"GameObject/Light/Light Probe Group",
"GameObject/Audio/Audio Source",
"GameObject/Audio/Audio Reverb Zone",
"GameObject/Video/Video Player",
"GameObject/UI/Text",
"GameObject/UI/Image",
"GameObject/UI/Raw Image",
"GameObject/UI/Button",
"GameObject/UI/Toggle",
"GameObject/UI/Slider",
"GameObject/UI/Scrollbar",
"GameObject/UI/Dropdown",
"GameObject/UI/Input Field",
"GameObject/UI/Canvas",
"GameObject/UI/Panel",
"GameObject/UI/Scroll View",
"GameObject/UI/Event System",
"GameObject/Camera",
"GameObject/Center On Children",
"GameObject/Make Parent",
"GameObject/Clear Parent",
"GameObject/Apply Changes To Prefab",
"GameObject/Break Prefab Instance",
"GameObject/Set as first sibling",
"GameObject/Set as last sibling",
"GameObject/Move To View",
"GameObject/Align With View",
"GameObject/Align View to Selected",
"GameObject/Toggle Active State",
"Component/Add",
"Component/Mesh/Mesh Filter",
"Component/Mesh/Text Mesh",
"Component/Mesh/Mesh Renderer",
"Component/Mesh/Skinned Mesh Renderer",
"Component/Effects/Particle System",
"Component/Effects/Trail Renderer",
"Component/Effects/Line Renderer",
"Component/Effects/Lens Flare",
"Component/Effects/Halo",
"Component/Effects/Projector",
"Component/Effects/Legacy Particles/Ellipsoid Particle Emitter",
"Component/Effects/Legacy Particles/Mesh Particle Emitter",
"Component/Effects/Legacy Particles/Particle Animator",
"Component/Effects/Legacy Particles/World Particle Collider",
"Component/Effects/Legacy Particles/Particle Renderer",
"Component/Physics/Rigidbody",
"Component/Physics/Character Controller",
"Component/Physics/Box Collider",
"Component/Physics/Sphere Collider",
"Component/Physics/Capsule Collider",
"Component/Physics/Mesh Collider",
"Component/Physics/Wheel Collider",
"Component/Physics/Terrain Collider",
"Component/Physics/Cloth",
"Component/Physics/Hinge Joint",
"Component/Physics/Fixed Joint",
"Component/Physics/Spring Joint",
"Component/Physics/Character Joint",
"Component/Physics/Configurable Joint",
"Component/Physics/Constant Force",
"Component/Physics 2D/Rigidbody 2D",
"Component/Physics 2D/Box Collider 2D",
"Component/Physics 2D/Circle Collider 2D",
"Component/Physics 2D/Edge Collider 2D",
"Component/Physics 2D/Polygon Collider 2D",
"Component/Physics 2D/Capsule Collider 2D",
"Component/Physics 2D/Composite Collider 2D",
"Component/Physics 2D/Distance Joint 2D",
"Component/Physics 2D/Fixed Joint 2D",
"Component/Physics 2D/Friction Joint 2D",
"Component/Physics 2D/Hinge Joint 2D",
"Component/Physics 2D/Relative Joint 2D",
"Component/Physics 2D/Slider Joint 2D",
"Component/Physics 2D/Spring Joint 2D",
"Component/Physics 2D/Target Joint 2D",
"Component/Physics 2D/Wheel Joint 2D",
"Component/Physics 2D/Area Effector 2D",
"Component/Physics 2D/Buoyancy Effector 2D",
"Component/Physics 2D/Point Effector 2D",
"Component/Physics 2D/Platform Effector 2D",
"Component/Physics 2D/Surface Effector 2D",
"Component/Physics 2D/Constant Force 2D",
"Component/Navigation/Nav Mesh Agent",
"Component/Navigation/Off Mesh Link",
"Component/Navigation/Nav Mesh Obstacle",
"Component/Audio/Audio Listener",
"Component/Audio/Audio Source",
"Component/Audio/Audio Reverb Zone",
"Component/Audio/Audio Low Pass Filter",
"Component/Audio/Audio High Pass Filter",
"Component/Audio/Audio Echo Filter",
"Component/Audio/Audio Distorition Filter",
"Component/Audio/Audio Reverb Filter",
"Component/Audio/Audio Chorus Filter",
"Component/Audio/Audio Spatializer/Audio Spatializer Microsoft",
"Component/Video/Video Player",
"Component/Rendering/Camera",
"Component/Rendering/Skybox",
"Component/Rendering/Flare Layer",
"Component/Rendering/GUI Layer",
"Component/Rendering/Light",
"Component/Rendering/Light Probe Group",
"Component/Rendering/Light Probe Proxy Volume",
"Component/Rendering/Reflection Probe",
"Component/Rendering/Occlusion Area",
"Component/Rendering/Occlusion Prtal",
"Component/Rendering/LOD Group",
"Component/Rendering/Sprite Renderer",
"Component/Rendering/Sorting Group",
"Component/Rendering/Canvas Renderer",
"Component/Rendering/GUI Texture",
"Component/Rendering/GUI Text",
"Component/Tilemap/Tilemap",
"Component/Tilemap/Tilemap Renderer",
"Component/Tilemap/Tilemap Collider 2D",
"Component/Layout/Rect Transform",
"Component/Layout/Canvas",
"Component/Layout/Canvas Group",
"Component/Layout/Canvas Scaler",
"Component/Layout/Layout element",
"Component/Layout/Content Size Fitter",
"Component/Layout/Aspect Ratio Fitter",
"Component/Layout/Horizontal Layout Group",
"Component/Layout/Vertical Layout Group",
"Component/Layout/Grid Layout Group",
"Component/Layout/",
"Component/Layout/",
"Component/Layout/",
"Component/Layout/",
"Component/Playables/Playable Director",
"Component/AR/World Anchor",
"Component/Miscellaneous/Billboard Renderer",
"Component/Miscellaneous/Network View",
"Component/Miscellaneous/Terrain",
"Component/Miscellaneous/Animator",
"Component/Miscellaneous/Animation",
"Component/Miscellaneous/Grid",
"Component/Miscellaneous/Wind Zone",
"Component/Miscellaneous/Sprite Mask",
"Component/Analytics/Analytics Event Tracker",
"Component/Analytics/AnalyticsTracker",
"Component/Scripts/UnityEngine.EventSystems/Base Input",
"Component/Scripts/UnityEngine.EventSystems/Holo Lens Input",
"Component/Event/Event System",
"Component/Event/Event Trigger",
"Component/Event/HoloLens Input Module",
"Component/Event/Physics 2D Raycaster",
"Component/Event/Physics Raycaster",
"Component/Event/Standalone Input Module",
"Component/Event/Touch Input Module",
"Component/Event/Graphic Raycaster",
"Component/Network/NetworkAnimator",
"Component/Network/NetworkDiscovery",
"Component/Network/NetworkIdentity",
"Component/Network/NetworkLobbyManager",
"Component/Network/NetworkLobbyPlayer",
"Component/Network/NetworkManager",
"Component/Network/NetworkManagerHUD",
"Component/Network/NetworkMigrationManager",
"Component/Network/NetworkProximityChecker",
"Component/Network/NetworkStartPosition",
"Component/Network/NetworkTransform",
"Component/Network/NetworkTransformChild",
"Component/Network/NetworkTransformVisualizer",
"Component/XR/Tracked Pose Driver",
"Component/XR/Spatial Mapping Collider",
"Component/XR/Spatial Mapping Renderer",
"Component/UI/Effects/Shadow",
"Component/UI/Effects/Outline",
"Component/UI/Effects/Position As UV1",
"Component/UI/Text",
"Component/UI/Image",
"Component/UI/Raw Image",
"Component/UI/Mask",
"Component/UI/Rect Mask 2D",
"Component/UI/Button",
"Component/UI/Input Field",
"Component/UI/Toggle",
"Component/UI/Toggle Group",
"Component/UI/Slider",
"Component/UI/Scrollbar",
"Component/UI/Dropdown",
"Component/UI/Scroll Rect",
"Component/UI/Selectable",
"Window/Next Window",
"Window/Previous Window",
"Window/Layouts/2 by 3",
"Window/Layouts/4 Split",
"Window/Layouts/Default",
"Window/Layouts/Tall",
"Window/Layouts/Wide",
"Window/Layouts/Save Layout...",
"Window/Layouts/Delete Layout...",
"Window/Layouts/Revert Factory Settings...",
"Window/Services",
"Window/Scene",
"Window/Game",
"Window/Inspector",
"Window/Hierarchy",
"Window/Project",
"Window/Animation",
"Window/Profiler",
"Window/Audio Mixer",
"Window/Asset Store",
"Window/Version Control",
"Window/Collab History",
"Window/Animator",
"Window/Animator Parameter",
"Window/Sprite Packer",
"Window/Experimental/Look Dev",
"Window/Holographic Emulation",
"Window/Tile Pallet",
"Window/Test Runner",
"Window/Timeline",
"Window/Lighting/Settings",
"Window/Lighting/Light Explorer",
"Window/Occlusion Culling",
"Window/Frame Debugger",
"Window/Navigation",
"Window/Physics Debugger",
"Window/Console",
"Help/About Unity...",
"Help/Manage License...",
"Help/Unity Manual",
"Help/Scripting Reference",
"Help/Unity Services",
"Help/Unity Forum",
"Help/Unity Answers",
"Help/Unity Feedback",
"Help/Check for Updates",
"Help/Download Beta...",
"Help/Release Notes",
"Help/Software Licenses",
"Help/Report a Bug...",
"Help/Troubleshoot Issue...",
};
}