Beispiel #1
0
        static void LiveEditInBlender()
        {
            var selectedAsset = Selection.objects[0];

            var servers = UnityEngine.Object.FindObjectsOfType <MeshSyncServer>();

            MeshSyncServer server = null;

            foreach (var serverInScene in servers)
            {
                if (serverInScene.enabled)
                {
                    server = serverInScene;
                    break;
                }
            }

            if (server == null)
            {
                server = CreateMeshSyncServerMenu(null);
            }

            server.DCCAsset = selectedAsset;

            MeshSyncServerInspectorUtils.OpenDCCAsset(server);
        }
        static void DrawDCCToolInfo(MeshSyncServer server)
        {
            if (server != null)
            {
                GUILayout.BeginHorizontal();

                var newAsset = EditorGUILayout.ObjectField("DCC asset file:",
                                                           server.DCCAsset,
                                                           typeof(UnityEngine.Object), true);

                if (newAsset != server.DCCAsset)
                {
                    server.DCCAsset     = newAsset;
                    server.m_DCCInterop = MeshSyncServerInspectorUtils.GetLauncherForAsset(server.DCCAsset);
                }

                if (server.DCCAsset != null)
                {
                    if (GUILayout.Button("Live Edit"))
                    {
                        GUILayout.EndHorizontal();
                        MeshSyncServerInspectorUtils.OpenDCCAsset(server);
                        return;
                    }
                }

                GUILayout.EndHorizontal();

                if (server.m_DCCInterop == null)
                {
                    server.m_DCCInterop = MeshSyncServerInspectorUtils.GetLauncherForAsset(server.DCCAsset);
                }

                server.m_DCCInterop?.DrawDCCMenu(server);
            }
        }
Beispiel #3
0
        public override void OnInspectorGUI()
        {
            var propertiesHolder = (MeshSyncServerLiveEditProperties)target;

            MeshSyncServerInspectorUtils.DrawSliderForProperties(propertiesHolder.propertyInfos, editableStrings: false);
        }