Ejemplo n.º 1
0
        void MoveGameObjectKun(TreeViewItem treeViewItem, TreeViewItem parent)
        {
            var gameObjectKun = sceneKun.gameObjectKuns.Where((g) => g.instanceID == treeViewItem.id).FirstOrDefault();

            if (parent != null)
            {
                var parentKun = sceneKun.gameObjectKuns.Where((g) => g.instanceID == parent.id).FirstOrDefault();
                if (parentKun == null)
                {
                    gameObjectKun.transformKun.parentInstanceID = 0;
                }
                else
                {
                    gameObjectKun.transformKun.parentInstanceID = parentKun.transformKun.instanceID;
                }
            }
            else
            {
                gameObjectKun.transformKun.parentInstanceID = 0;
            }

            gameObjectKun.transformKun.dirty = true;
            gameObjectKun.dirty = true;
            UnityChoseKunEditor.SendMessage <GameObjectKun>(UnityChoseKun.MessageID.GameObjectPush, gameObjectKun);
            gameObjectKun.ResetDirty();
        }
        // メンバー関数の定義

        /// <summary>
        /// 描画
        /// </summary>
        public void OnGUI()
        {
#if UNITY_2019_3_OR_NEWER
            scrollPos = EditorGUILayout.BeginScrollView(scrollPos);
            EditorGUILayout.IntField("effectiveRenderFrameRate", onDemandRenderingKun.effectiveRenderFrameRate);
            EditorGUI.BeginChangeCheck();
            onDemandRenderingKun.renderFrameInterval = EditorGUILayout.IntSlider("renderFrameInterval", onDemandRenderingKun.renderFrameInterval, 0, 100);
            if (EditorGUI.EndChangeCheck())
            {
                onDemandRenderingKun.isDirty = true;
            }
            EditorGUILayout.Toggle("willCurrentFrameRender", onDemandRenderingKun.willCurrentFrameRender);
            EditorGUILayout.EndScrollView();

            EditorGUILayout.BeginHorizontal();
            if (GUILayout.Button("Pull"))
            {
                UnityChoseKunEditor.SendMessage <OnDemandRenderingKun>(UnityChoseKun.MessageID.OnDemandRenderingPull, null);
            }
            if (GUILayout.Button("Push"))
            {
                UnityChoseKunEditor.SendMessage <OnDemandRenderingKun>(UnityChoseKun.MessageID.OnDemandRenderingPush, onDemandRenderingKun);
            }
            EditorGUILayout.EndHorizontal();
#else
            EditorGUILayout.LabelField("Not Support OnDemandRendering");
#endif
        }
Ejemplo n.º 3
0
        /// <summary>
        ///
        /// </summary>
        public void OnGUI()
        {
            int cnt = 0;

            if (shaderKuns != null)
            {
                cnt = shaderKuns.Length;
                EditorGUILayout.LabelField("Shader List(" + cnt + ")");
            }
            else
            {
                EditorGUILayout.HelpBox("You can display a list of Shaders. Please Push Pull Button.", MessageType.Info);
            }

            using (new EditorGUI.IndentLevelScope()){
                if (shaderKuns != null)
                {
                    scrollPos = EditorGUILayout.BeginScrollView(scrollPos);
                    for (var i = 0; i < shaderKuns.Length; i++)
                    {
                        EditorGUILayout.LabelField(shaderKuns[i].name);
                    }
                    EditorGUILayout.EndScrollView();
                }
            }
            if (GUILayout.Button("Pull"))
            {
                UnityChoseKunEditor.SendMessage <ShaderKunPacket>(UnityChoseKun.MessageID.ShaderPull, null);
            }
        }
        public void OnGUI()
        {
            scrollPos = EditorGUILayout.BeginScrollView(scrollPos);
            if (isPull == false)
            {
                EditorGUILayout.HelpBox("Please Pull Request.", MessageType.Info);
            }

            EditorGUI.BeginChangeCheck();
            scalableBufferManagerKun.widthScaleFactor  = EditorGUILayout.Slider("widthScale", scalableBufferManagerKun.widthScaleFactor, 0.01f, 10.0f);
            scalableBufferManagerKun.heightScaleFactor = EditorGUILayout.Slider("heightScale", scalableBufferManagerKun.heightScaleFactor, 0.01f, 10.0f);
            if (EditorGUI.EndChangeCheck())
            {
                if (isPull)
                {
                    scalableBufferManagerKun.isDirty = true;
                    UnityChoseKunEditor.SendMessage <ScalableBufferManagerKun>(UnityChoseKun.MessageID.ScalableBufferManagerPush, scalableBufferManagerKun);
                    scalableBufferManagerKun.isDirty = false;
                }
            }
            EditorGUILayout.EndScrollView();


            if (GUILayout.Button("Pull"))
            {
                UnityChoseKunEditor.SendMessage <ScalableBufferManagerKun>(UnityChoseKun.MessageID.ScalableBufferManagerPull, null);
            }
        }
Ejemplo n.º 5
0
        public void OnGUI()
        {
            int cnt = 0;

            if (m_spriteViews != null)
            {
                cnt = m_spriteViews.Length;
                EditorGUILayout.LabelField("Sprite List(" + cnt + ")");
            }
            else
            {
                EditorGUILayout.HelpBox("Please Push Pull Button.", MessageType.Info);
            }

            if (cnt != 0)
            {
                using (new EditorGUI.IndentLevelScope())
                {
                    m_scrollPos = EditorGUILayout.BeginScrollView(m_scrollPos);
                    for (var i = 0; i < cnt; i++)
                    {
                        m_spriteViews[i].OnGUI();
                    }
                    EditorGUILayout.EndScrollView();
                }
            }

            if (GUILayout.Button("Pull"))
            {
                var packet = new AssetPacket <SpriteKun>();
                packet.isResources = true;
                packet.isScene     = true;
                UnityChoseKunEditor.SendMessage <AssetPacket <SpriteKun> >(UnityChoseKun.MessageID.SpritePull, packet);
            }
        }
Ejemplo n.º 6
0
        public void OnGUI()
        {
            scrollPos = EditorGUILayout.BeginScrollView(scrollPos);
            if (isPull == false)
            {
                EditorGUILayout.HelpBox("Please Pull Request.", MessageType.Info);
            }

            EditorGUILayout.HelpBox("この機能を利用する為にはCameraのAllow Dynamic Resolutionもしくは、RenderTextureのDynamic Scalingをtrueにする必要があります。", MessageType.Info);

            EditorGUI.BeginChangeCheck();
            scalableBufferManagerKun.widthScaleFactor  = EditorGUILayout.Slider("widthScale", scalableBufferManagerKun.widthScaleFactor, 0.01f, 10.0f);
            scalableBufferManagerKun.heightScaleFactor = EditorGUILayout.Slider("heightScale", scalableBufferManagerKun.heightScaleFactor, 0.01f, 10.0f);
            if (EditorGUI.EndChangeCheck())
            {
                if (isPull)
                {
                    scalableBufferManagerKun.isDirty = true;
                    UnityChoseKunEditor.SendMessage <ScalableBufferManagerKun>(UnityChoseKun.MessageID.ScalableBufferManagerPush, scalableBufferManagerKun);
                    scalableBufferManagerKun.isDirty = false;
                }
            }
            EditorGUILayout.EndScrollView();


            if (GUILayout.Button("Pull"))
            {
                UnityChoseKunEditor.SendMessage <ScalableBufferManagerKun>(UnityChoseKun.MessageID.ScalableBufferManagerPull, null);
            }
        }
Ejemplo n.º 7
0
        /// <summary>
        ///
        /// </summary>
        public void OnGUI()
        {
            int cnt = 0;

            if (textureViews != null)
            {
                cnt = textureViews.Length;
                EditorGUILayout.LabelField("Texture List(" + cnt + ")");
            }
            else
            {
                EditorGUILayout.HelpBox("Please Pull Request.", MessageType.Info);
            }

            if (cnt != 0)
            {
                using (new EditorGUI.IndentLevelScope()){
                    scrollPos = EditorGUILayout.BeginScrollView(scrollPos);
                    for (var i = 0; i < cnt; i++)
                    {
                        textureViews[i].OnGUI();
                    }
                    EditorGUILayout.EndScrollView();
                }
            }

            if (GUILayout.Button("Pull"))
            {
                var packet = new TexturePlayer.TextureKunPacket();
                packet.isResources = true;
                packet.isScene     = true;
                UnityChoseKunEditor.SendMessage <TexturePlayer.TextureKunPacket>(UnityChoseKun.MessageID.TexturePull, packet);
            }
        }
Ejemplo n.º 8
0
        void MoveGameObjectKun(TreeViewItem treeViewItem, TreeViewItem parent)
        {
            var gameObjectKun = GetGameObjectKunInSceneManagerKun(treeViewItem.id);

            if (parent != null  && parent.depth > 0)
            {
                var parentKun = GetGameObjectKunInSceneManagerKun(parent.id);
                if (parentKun == null)
                {
                    gameObjectKun.transformKun.parentInstanceID = 0;
                }
                else
                {
                    gameObjectKun.transformKun.parentInstanceID = parentKun.transformKun.instanceID;
                }
            }
            else
            {
                gameObjectKun.transformKun.parentInstanceID = 0;
            }

            // Scene間の移動が発生した場合、Scene側にも変更処理が必要
            var sceneTreeViewItem = GetParentRecursive(treeViewItem, 0);
            var sceneKun          = sceneManagerKun.sceneKuns[sceneTreeViewItem.id];

            if (gameObjectKun.transformKun.sceneHn != sceneKun.handle)
            {
                sceneManagerKun.MoveGameObjectToScene(gameObjectKun, sceneKun);
            }

            gameObjectKun.transformKun.dirty = true;
            gameObjectKun.dirty = true;
            UnityChoseKunEditor.SendMessage <GameObjectKun>(UnityChoseKun.MessageID.GameObjectPush, gameObjectKun);
            gameObjectKun.ResetDirty();
        }
        private void CreateClassCommon(System.Type type, int instanceID)
        {
            var message = new HierarchyMessage();

            message.messageID = HierarchyMessage.MessageID.CreateClass;
            message.baseID    = instanceID;
            message.type      = type;
            UnityChoseKunEditor.SendMessage <HierarchyMessage>(UnityChoseKun.MessageID.HierarchyPush, message);
        }
        private void CreateObjectCommon(HierarchyMessage.MessageID messageID, int instanceID)
        {
            // ChoseKunWindowを開く
            EditorWindow.GetWindow(typeof(UnityChoseKunEditorWindow));

            var message = new HierarchyMessage();

            message.messageID = messageID;
            message.baseID    = instanceID;
            UnityChoseKunEditor.SendMessage <HierarchyMessage>(UnityChoseKun.MessageID.HierarchyPush, message);
        }
Ejemplo n.º 11
0
        public void OnGUI()
        {
            var isChange = false;


            EditorGUI.BeginChangeCheck();
            settings.DrawGameObject();
            if (EditorGUI.EndChangeCheck())
            {
                if (m_gameObjectKuns.ContainsKey(m_selectGameObujectKunID))
                {
                    var gameObjectKun = m_gameObjectKuns[m_selectGameObujectKunID];
                    gameObjectKun.dirty = true;
                    isChange            = true;
                }
            }

            EditorGUI.BeginChangeCheck();
            foreach (var componentView in componentViews)
            {
                componentView.OnGUI();
            }
            if (EditorGUI.EndChangeCheck())
            {
                isChange = true;
            }
            GUILayout.Box("", GUILayout.ExpandWidth(true), GUILayout.Height(4));



            if (sceneManagerKun != null)
            {
                if (isChange)
                {
                    if (m_gameObjectKuns.ContainsKey(m_selectGameObujectKunID))
                    {
                        var gameObjectKun = m_gameObjectKuns[m_selectGameObujectKunID];
                        settings.Writeback(gameObjectKun);
                        UnityChoseKunEditor.SendMessage <GameObjectKun>(UnityChoseKun.MessageID.GameObjectPush, gameObjectKun);
                        gameObjectKun.ResetDirty();
                    }
                }
            }

            using (new EditorGUI.DisabledScope(true))
            {
                EditorGUILayout.BeginHorizontal();
                GUILayout.FlexibleSpace();
                GUILayout.Button(new GUIContent("Add Component"));
                GUILayout.FlexibleSpace();
                EditorGUILayout.EndHorizontal();
            }
        }
Ejemplo n.º 12
0
        /// <summary>
        ///
        /// </summary>
        public void OnGUI()
        {
            if (isDone == false)
            {
                EditorGUILayout.HelpBox("Please Pull Request.", MessageType.Info);
            }
            else
            {
                using (new EditorGUI.IndentLevelScope()){
                    scrollPos = EditorGUILayout.BeginScrollView(scrollPos);
                    EditorGUILayout.FloatField("deltaTime", timeKun.deltaTime);
                    EditorGUILayout.FloatField("fixedUnscaledDeltaTime", timeKun.fixedUnscaledDeltaTime);
                    EditorGUILayout.FloatField("fixedUnscaledTime", timeKun.fixedUnscaledTime);
                    EditorGUILayout.IntField("frameCount", timeKun.frameCount);
                    EditorGUILayout.FloatField("frameCount", timeKun.frameCount);
                    EditorGUILayout.FloatField("realtimeSinceStartup", timeKun.realtimeSinceStartup);
                    EditorGUILayout.FloatField("smoothDeltaTime", timeKun.smoothDeltaTime);
                    EditorGUILayout.FloatField("time", timeKun.time);
                    EditorGUILayout.FloatField("timeSinceLevelLoad", timeKun.timeSinceLevelLoad);
                    EditorGUILayout.FloatField("unscaledDeltaTime", timeKun.unscaledDeltaTime);
                    EditorGUILayout.FloatField("unscaledTime", timeKun.unscaledTime);
                    EditorGUILayout.Toggle("inFixedTimeStep", timeKun.inFixedTimeStep);

                    EditorGUILayout.Space();

                    timeKun.captureFramerate = EditorGUILayout.IntField("captureFramerate", timeKun.captureFramerate);
#if UNITY_2019_2_OR_NEWER
                    timeKun.captureDeltaTime = EditorGUILayout.FloatField("captureDeltaTime", timeKun.captureDeltaTime);
#endif
                    timeKun.fixedDeltaTime   = EditorGUILayout.FloatField("fixedDeltaTime", timeKun.fixedDeltaTime);
                    timeKun.maximumDeltaTime = EditorGUILayout.FloatField("maximumDeltaTime", timeKun.maximumDeltaTime);
                    timeKun.timeScale        = EditorGUILayout.FloatField("timeScale", timeKun.timeScale);

                    EditorGUILayout.Space();
                    EditorGUILayout.EndScrollView();
                }
            }

            EditorGUILayout.BeginHorizontal();
            if (GUILayout.Button("Pull"))
            {
                UnityChoseKunEditor.SendMessage <TimeKun>(UnityChoseKun.MessageID.TimePull, timeKun);
            }
            if (isDone)
            {
                if (GUILayout.Button("Push"))
                {
                    UnityChoseKunEditor.SendMessage <TimeKun>(UnityChoseKun.MessageID.TimePush, timeKun);
                }
            }
            EditorGUILayout.EndHorizontal();
        }
        /// <summary>
        /// Create Primitiveの共通関数
        /// </summary>
        /// <param name="messageID"></param>
        /// <param name="instanceID"></param>
        /// <param name="primitiveType"></param>
        private void CreatePrimitiveCommon(HierarchyMessage.MessageID messageID, int instanceID, PrimitiveType primitiveType)
        {
            // ChoseKunWindowを開く
            EditorWindow.GetWindow(typeof(UnityChoseKunEditorWindow));


            var message = new HierarchyMessage();

            message.messageID     = HierarchyMessage.MessageID.CreatePrimitive;
            message.baseID        = instanceID;
            message.primitiveType = primitiveType;
            UnityChoseKunEditor.SendMessage <HierarchyMessage>(UnityChoseKun.MessageID.HierarchyPush, message);
        }
Ejemplo n.º 14
0
        public void OnGUI()
        {
            if (isDone == false)
            {
                EditorGUILayout.HelpBox("Please Pull Request.", MessageType.Info);
            }
            else
            {
                scrollPos = EditorGUILayout.BeginScrollView(scrollPos);
                EditorGUILayout.LabelField("Permission");
                using (new EditorGUI.IndentLevelScope())
                {
                    for (var i = 0; i < androidKun.permissions.Length; i++)
                    {
                        EditorGUI.BeginChangeCheck();
                        androidKun.hasUserAuthorizedPermission[i] = EditorGUILayout.ToggleLeft(androidKun.permissions[i], androidKun.hasUserAuthorizedPermission[i]);
                        if (EditorGUI.EndChangeCheck())
                        {
                            androidKun.requestUserPermissions[i] = true;
                        }
                    }
                }
#if UNITY_2019_1_OR_NEWER
                EditorGUI.BeginChangeCheck();


                androidKun.isSustainedPerformanceMode = EditorGUILayout.ToggleLeft("SustainedPerformanceMode", androidKun.isSustainedPerformanceMode);

                if (EditorGUI.EndChangeCheck())
                {
                    androidKun.requestSustainedPerformanceMode = true;
                }
#endif
                EditorGUILayout.EndScrollView();
            }

            EditorGUILayout.BeginHorizontal();
            if (GUILayout.Button("Pull"))
            {
                UnityChoseKunEditor.SendMessage(UnityChoseKun.MessageID.AndroidPull);
            }
            if (GUILayout.Button("Push"))
            {
                UnityChoseKunEditor.SendMessage <AndroidKun>(UnityChoseKun.MessageID.AndroidPush, androidKun);
            }
            EditorGUILayout.EndHorizontal();
        }
Ejemplo n.º 15
0
 public void OnGUI()
 {
     if (SortingLayerKun.layers != null)
     {
         foreach (var layer in SortingLayerKun.layers)
         {
             EditorGUILayout.BeginHorizontal();
             EditorGUILayout.LabelField("Layer  " + layer.id);
             EditorGUILayout.TextField(layer.name);
             EditorGUILayout.EndHorizontal();
         }
     }
     if (GUILayout.Button("Pull"))
     {
         var packet = new SortingLayerPacket();
         UnityChoseKunEditor.SendMessage <SortingLayerPacket>(UnityChoseKun.MessageID.SortingLayerPull, packet);
     }
 }
Ejemplo n.º 16
0
        // メンバー関数の定義

        /// <summary>
        /// 描画
        /// </summary>
        public void OnGUI()
        {
#if UNITY_2019_3_OR_NEWER
            scrollPos = EditorGUILayout.BeginScrollView(scrollPos);
            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField(new GUIContent("effectiveRenderFrameRate", "現在の設定から想定される描画[FPS]"));
            EditorGUILayout.LabelField(onDemandRenderingKun.effectiveRenderFrameRate.ToString() + "[FPS]");
            //EditorGUILayout.Toggle(new GUIContent("willCurrentFrameRender","現在のフレームが描画が発生するフレームであるか"), onDemandRenderingKun.willCurrentFrameRender);
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.Space();

            EditorGUI.BeginChangeCheck();
            onDemandRenderingKun.renderFrameInterval = EditorGUILayout.IntSlider(new GUIContent("renderFrameInterval", "描画を行うフレーム間隔"), onDemandRenderingKun.renderFrameInterval, 1, 100);
            if (EditorGUI.EndChangeCheck())
            {
                onDemandRenderingKun.isDirty = true;
                UnityChoseKunEditor.SendMessage <OnDemandRenderingKun>(UnityChoseKun.MessageID.OnDemandRenderingPush, onDemandRenderingKun);
            }

            EditorGUILayout.EndScrollView();

            EditorGUILayout.BeginHorizontal();
            //if (GUILayout.Button("Pull"))
            {
                UnityChoseKunEditor.SendMessage <OnDemandRenderingKun>(UnityChoseKun.MessageID.OnDemandRenderingPull, null);
            }
            //if (GUILayout.Button("Push"))
            {
                // UnityChoseKunEditor.SendMessage<OnDemandRenderingKun>(UnityChoseKun.MessageID.OnDemandRenderingPush, onDemandRenderingKun);
            }
            EditorGUILayout.EndHorizontal();
#else
            EditorGUILayout.LabelField("Not Support OnDemandRendering");
#endif
        }
Ejemplo n.º 17
0
        public void OnGUI()
        {
            if (mIsInit)
            {
                mScrollPos = EditorGUILayout.BeginScrollView(mScrollPos);
                EditorGUI.BeginChangeCheck();
                EditorGUILayout.LabelField("Rendering");
                qualitySettingsKun.pixelLightCount              = EditorGUILayout.IntField("Pixel Light Count", qualitySettingsKun.pixelLightCount);
                qualitySettingsKun.anisotropicFiltering         = (AnisotropicFiltering)EditorGUILayout.EnumPopup("Anisotropic Textures", qualitySettingsKun.anisotropicFiltering);
                qualitySettingsKun.antiAliasing                 = EditorGUILayout.IntPopup("Anti Aliasing", qualitySettingsKun.antiAliasing, Styles.AntiAliasingLabels, Styles.AntiAliasingValuess);
                qualitySettingsKun.softParticles                = EditorGUILayout.Toggle("Soft Particles", qualitySettingsKun.softParticles);
                qualitySettingsKun.realtimeReflectionProbes     = EditorGUILayout.Toggle("Realtime Reflection Probes", qualitySettingsKun.realtimeReflectionProbes);
                qualitySettingsKun.billboardsFaceCameraPosition = EditorGUILayout.Toggle("Billboards Face Camera Position", qualitySettingsKun.billboardsFaceCameraPosition);

                EditorGUILayout.Space();
                EditorGUILayout.HelpBox("To enable this feature, we need to change the value of Player -> Resolution and Presentation -> Resolution Scaling Mode from Disable to Fixed DPI.", MessageType.Info);
                qualitySettingsKun.resolutionScalingFixedDPIFactor = EditorGUILayout.Slider("Resolution Scaling Fixed DPI Factor", qualitySettingsKun.resolutionScalingFixedDPIFactor, 0.001f, 5.0f, GUILayout.ExpandWidth(true));
                EditorGUILayout.Space();

                qualitySettingsKun.streamingMipmapsActive = EditorGUILayout.Toggle("Texture Streaming", qualitySettingsKun.streamingMipmapsActive);
                if (qualitySettingsKun.streamingMipmapsActive)
                {
                    EditorGUI.indentLevel++;
                    qualitySettingsKun.streamingMipmapsAddAllCameras     = EditorGUILayout.Toggle("Add All Cameras", qualitySettingsKun.streamingMipmapsAddAllCameras);
                    qualitySettingsKun.streamingMipmapsMemoryBudget      = EditorGUILayout.FloatField("Memory Buget", qualitySettingsKun.streamingMipmapsMemoryBudget);
                    qualitySettingsKun.streamingMipmapsRenderersPerFrame = EditorGUILayout.IntField("Memory Per Frame", qualitySettingsKun.streamingMipmapsRenderersPerFrame);
                    qualitySettingsKun.streamingMipmapsMaxLevelReduction = EditorGUILayout.IntField("Max Level Reduction", qualitySettingsKun.streamingMipmapsMaxLevelReduction);
                    qualitySettingsKun.streamingMipmapsMaxFileIORequests = EditorGUILayout.IntField("Max IO Requests", qualitySettingsKun.streamingMipmapsMaxFileIORequests);

                    EditorGUI.indentLevel--;
                }

                GUILayout.Space(10);
                GUILayout.Label("Shadows", EditorStyles.boldLabel);
                qualitySettingsKun.shadowmaskMode        = (ShadowmaskMode)EditorGUILayout.EnumPopup("Shadowmask Mode", qualitySettingsKun.shadowmaskMode);
                qualitySettingsKun.shadows               = (ShadowQuality)EditorGUILayout.EnumPopup("Shadows", qualitySettingsKun.shadows);
                qualitySettingsKun.shadowResolution      = (ShadowResolution)EditorGUILayout.EnumPopup("Shadow Resolution", qualitySettingsKun.shadowResolution);
                qualitySettingsKun.shadowProjection      = (ShadowProjection)EditorGUILayout.EnumPopup("Shadow Projection", qualitySettingsKun.shadowProjection);
                qualitySettingsKun.shadowDistance        = EditorGUILayout.FloatField("Shadow Distance", qualitySettingsKun.shadowDistance);
                qualitySettingsKun.shadowNearPlaneOffset = EditorGUILayout.FloatField("Shadow Near Plane Offset", qualitySettingsKun.shadowNearPlaneOffset);
                qualitySettingsKun.shadowCascades        = EditorGUILayout.IntPopup("Shadow Cascades", qualitySettingsKun.shadowCascades, Styles.ShadowCascadeLabels, Styles.ShadowCascadeValues);

                GUILayout.Space(10);
                GUILayout.Label("Other", EditorStyles.boldLabel);
#if UNITY_2019_1_OR_NEWER
                qualitySettingsKun.skinWeights = (SkinWeights)EditorGUILayout.EnumPopup("Skin Weights", qualitySettingsKun.skinWeights);
#endif
                qualitySettingsKun.vSyncCount                  = EditorGUILayout.IntPopup("VSync Count", qualitySettingsKun.vSyncCount, Styles.VSyncCountLabels, Styles.VSyncCountValues);
                qualitySettingsKun.lodBias                     = EditorGUILayout.FloatField("LOD Bias", qualitySettingsKun.lodBias);
                qualitySettingsKun.maximumLODLevel             = EditorGUILayout.IntField("Maximum LOD Level", qualitySettingsKun.maximumLODLevel);
                qualitySettingsKun.particleRaycastBudget       = EditorGUILayout.IntField("Particle Raycast Budget", qualitySettingsKun.particleRaycastBudget);
                qualitySettingsKun.asyncUploadTimeSlice        = EditorGUILayout.IntSlider("Async Upload Time Slice", qualitySettingsKun.asyncUploadTimeSlice, 1, 33);
                qualitySettingsKun.asyncUploadBufferSize       = EditorGUILayout.IntSlider("Async Upload Buffer Size", qualitySettingsKun.asyncUploadBufferSize, 2, 512);
                qualitySettingsKun.asyncUploadPersistentBuffer = EditorGUILayout.Toggle("Async Upload Persistent Buffer", qualitySettingsKun.asyncUploadPersistentBuffer);

                if (EditorGUI.EndChangeCheck())
                {
                    qualitySettingsKun.isDirty = true;
                    UnityChoseKunEditor.SendMessage <QualitySettingsKun>(UnityChoseKun.MessageID.QualitySettingsPush, qualitySettingsKun);
                    qualitySettingsKun.isDirty = false;
                }
                EditorGUILayout.EndScrollView();
            }

            if (GUILayout.Button("Pull"))
            {
                UnityChoseKunEditor.SendMessage <QualitySettingsKun>(UnityChoseKun.MessageID.QualitySettingsPull, null);
            }
        }
Ejemplo n.º 18
0
        /// <summary>
        ///
        /// </summary>
        public void OnGUI()
        {
            if (isDone == false)
            {
                EditorGUILayout.HelpBox("Please Pull Request.", MessageType.Info);
            }
            else
            {
                scrollPos = EditorGUILayout.BeginScrollView(scrollPos);
                screenKun.autorotateToLandscapeLeft      = EditorGUILayout.ToggleLeft("autorotateToLandscapeLeft", screenKun.autorotateToLandscapeLeft);
                screenKun.autorotateToLandscapeRight     = EditorGUILayout.ToggleLeft("autorotateToLandscapeRight", screenKun.autorotateToLandscapeRight);
                screenKun.autorotateToPortrait           = EditorGUILayout.ToggleLeft("autorotateToPortrait", screenKun.autorotateToPortrait);
                screenKun.autorotateToPortraitUpsideDown = EditorGUILayout.ToggleLeft("autorotateToPortraitUpsideDown", screenKun.autorotateToPortraitUpsideDown);
                screenKun.orientation = (ScreenOrientation)EditorGUILayout.EnumPopup("orientation", screenKun.orientation);

                EditorGUILayout.Space();

                screenKun.fullScreen   = EditorGUILayout.ToggleLeft("fullScreen", screenKun.fullScreen);
                screenKun.sleepTimeout = EditorGUILayout.IntField("sleepTimeout", screenKun.sleepTimeout);
#if UNITY_2019_1_OR_NEWER
                screenKun.brightness = EditorGUILayout.FloatField("brightness", screenKun.brightness);
#endif
                EditorGUILayout.Space();

                EditorGUILayout.FloatField("dpi", screenKun.dpi);

                EditorGUILayout.Space();

                EditorGUILayout.LabelField("currentResolution");
                EditorGUI.indentLevel++;
                EditorGUILayout.IntField("width", screenKun.currentResolutionWidth);
                EditorGUILayout.IntField("height", screenKun.currentResolutionHeight);
                EditorGUILayout.IntField("refreshRate", screenKun.currentResolutionRefreshRate);
                EditorGUI.indentLevel--;
                EditorGUILayout.Space();
#if UNITY_2019_1_OR_NEWER
                EditorGUILayout.LabelField("cutouts");
                if (screenKun.cutouts != null)
                {
                    EditorGUI.indentLevel++;
                    for (var i = 0; i < screenKun.cutouts.Length; i++)
                    {
                        EditorGUILayout.RectField(" [" + i + "]", screenKun.cutouts[i]);
                    }
                    EditorGUI.indentLevel--;
                }

                EditorGUILayout.Space();
#endif


                if (screenKun.resolutions == null)
                {
                    EditorGUILayout.LabelField("resolutions");
                }
                else
                {
                    resolutionFoldout = EditorGUILayout.Foldout(resolutionFoldout, "resolutions");
                    if (resolutionFoldout)
                    {
                        EditorGUI.indentLevel++;
                        for (var i = 0; i < screenKun.resolutions.Length; i++)
                        {
                            EditorGUILayout.BeginHorizontal();
                            EditorGUILayout.LabelField("width       " + screenKun.resolutions[i].width);
                            EditorGUILayout.LabelField("height      " + screenKun.resolutions[i].height);
                            EditorGUILayout.LabelField("refreshRate " + screenKun.resolutions[i].refreshRate);
                            EditorGUILayout.EndHorizontal();
                            EditorGUILayout.Space();
                        }
                        EditorGUI.indentLevel--;
                    }
                }

                EditorGUILayout.Space();

                EditorGUILayout.RectField("safeArea", screenKun.safeArea);

                EditorGUILayout.Space();

                EditorGUILayout.LabelField("SetScreen");
                EditorGUI.indentLevel++;
                screenKun.width                = EditorGUILayout.IntField("width", screenKun.width);
                screenKun.height               = EditorGUILayout.IntField("height", screenKun.height);
                screenKun.fullScreenMode       = (FullScreenMode)EditorGUILayout.EnumPopup("fullScreenMode", screenKun.fullScreenMode);
                screenKun.preferredRefreshRate = EditorGUILayout.IntField("preferredRefreshRate", screenKun.preferredRefreshRate);
                EditorGUI.indentLevel--;
                EditorGUILayout.Space();
                EditorGUILayout.EndScrollView();
            }

            EditorGUILayout.BeginHorizontal();
            if (GUILayout.Button("Pull"))
            {
                UnityChoseKunEditor.SendMessage <ScreenKun>(UnityChoseKun.MessageID.ScreenPull, screenKun);
            }
            if (isDone)
            {
                if (GUILayout.Button("Push"))
                {
                    UnityChoseKunEditor.SendMessage <ScreenKun>(UnityChoseKun.MessageID.ScreenPush, screenKun);
                }
            }
            EditorGUILayout.EndHorizontal();

            EditorGUI.indentLevel = 0;
        }
Ejemplo n.º 19
0
        public void OnGUI()
        {
            mScrollPos = EditorGUILayout.BeginScrollView(mScrollPos);
            EditorGUILayout.FloatField(Styles.BatteryLevel, systemInfoKun.batteryLevel);
            EditorGUILayout.EnumPopup(Styles.BatteryStatus, systemInfoKun.batteryStatus);
            EditorGUILayout.EnumPopup(Styles.CopyTextureSupport, systemInfoKun.copyTextureSupport);
            EditorGUILayout.TextField(Styles.DeviceModel, systemInfoKun.deviceModel);
            EditorGUILayout.TextField(Styles.DeviceName, systemInfoKun.deviceName);
            EditorGUILayout.EnumPopup(Styles.DeviceType, systemInfoKun.deviceType);
            EditorGUILayout.TextField(Styles.DeviceUniqueIdentifier, systemInfoKun.deviceUniqueIdentifier);
            EditorGUILayout.IntField(Styles.GraphicsDeviceID, systemInfoKun.graphicsDeviceID);
            EditorGUILayout.TextField(Styles.DeviceName, systemInfoKun.deviceName);
            EditorGUILayout.EnumPopup(Styles.GraphicsDeviceType, systemInfoKun.graphicsDeviceType);
            EditorGUILayout.TextField(Styles.GraphicsDeviceVendor, systemInfoKun.graphicsDeviceVendor);
            EditorGUILayout.IntField(Styles.GraphicsDeviceVendorID, systemInfoKun.graphicsDeviceVendorID);
            EditorGUILayout.TextField(Styles.GraphicsDeviceVersion, systemInfoKun.graphicsDeviceVersion);
            EditorGUILayout.IntField(Styles.GraphicsMemorySize, systemInfoKun.graphicsMemorySize);
            EditorGUILayout.Toggle(Styles.GraphicsMultiThreaded, systemInfoKun.graphicsMultiThreaded);
            EditorGUILayout.IntField(Styles.GraphicsShaderLevel, systemInfoKun.graphicsShaderLevel);
            EditorGUILayout.Toggle(Styles.GraphicsUVStartsAtTop, systemInfoKun.graphicsUVStartsAtTop);
            EditorGUILayout.Toggle(Styles.HasDynamicUniformArrayIndexingInFragmentShaders, systemInfoKun.hasDynamicUniformArrayIndexingInFragmentShaders);
            EditorGUILayout.Toggle(Styles.HasHiddenSurfaceRemovalOnGPU, systemInfoKun.hasHiddenSurfaceRemovalOnGPU);
            EditorGUILayout.Toggle(Styles.HasMipMaxLevel, systemInfoKun.hasMipMaxLevel);
            EditorGUILayout.IntField(Styles.MaxComputeBufferInputsCompute, systemInfoKun.maxComputeBufferInputsCompute);
            EditorGUILayout.IntField(Styles.MaxComputeBufferInputsDomain, systemInfoKun.maxComputeBufferInputsDomain);
            EditorGUILayout.IntField(Styles.MaxComputeBufferInputsFragment, systemInfoKun.maxComputeBufferInputsFragment);
            EditorGUILayout.IntField(Styles.MaxComputeBufferInputsGeometry, systemInfoKun.maxComputeBufferInputsGeometry);
            EditorGUILayout.IntField(Styles.MaxComputeBufferInputsHull, systemInfoKun.maxComputeBufferInputsHull);
            EditorGUILayout.IntField(Styles.MaxComputeBufferInputsVertex, systemInfoKun.maxComputeBufferInputsVertex);
            EditorGUILayout.IntField(Styles.MaxComputeWorkGroupSize, systemInfoKun.maxComputeWorkGroupSize);
            EditorGUILayout.IntField(Styles.MaxComputeWorkGroupSizeX, systemInfoKun.maxComputeWorkGroupSizeX);
            EditorGUILayout.IntField(Styles.MaxComputeWorkGroupSizeY, systemInfoKun.maxComputeWorkGroupSizeY);
            EditorGUILayout.IntField(Styles.MaxComputeWorkGroupSizeZ, systemInfoKun.maxComputeWorkGroupSizeZ);
            EditorGUILayout.IntField(Styles.MaxCubemapSize, systemInfoKun.maxCubemapSize);
            EditorGUILayout.IntField(Styles.MaxTextureSize, systemInfoKun.maxTextureSize);
#if UNITY_2020_1_OR_NEWER
            EditorGUILayout.IntField(Styles.MaxTextureSize, systemInfoKun.constantBufferOffsetAlignment);
#else
            EditorGUILayout.Toggle(Styles.MinConstantBufferOffsetAlignment, systemInfoKun.minConstantBufferOffsetAlignment);
#endif

            EditorGUILayout.EnumPopup(Styles.NpotSupport, systemInfoKun.npotSupport);
            EditorGUILayout.TextField(Styles.OperatingSystem, systemInfoKun.operatingSystem);
            EditorGUILayout.EnumPopup(Styles.OperatingSystemFamily, systemInfoKun.operatingSystemFamily);
            EditorGUILayout.IntField(Styles.ProcessorCount, systemInfoKun.processorCount);
            EditorGUILayout.IntField(Styles.ProcessorFrequency, systemInfoKun.processorFrequency);
            EditorGUILayout.TextField(Styles.ProcessorType, systemInfoKun.processorType);
            EditorGUILayout.EnumPopup(Styles.RenderingThreadingMode, systemInfoKun.renderingThreadingMode);
            EditorGUILayout.IntField(Styles.SupportedRandomWriteTargetCount, systemInfoKun.supportedRandomWriteTargetCount);
            EditorGUILayout.IntField(Styles.SupportedRenderTargetCount, systemInfoKun.supportedRenderTargetCount);
            EditorGUILayout.Toggle(Styles.Supports2DArrayTextures, systemInfoKun.supports2DArrayTextures);
            EditorGUILayout.Toggle(Styles.Supports32bitsIndexBuffer, systemInfoKun.supports32bitsIndexBuffer);
            EditorGUILayout.Toggle(Styles.Supports3DRenderTextures, systemInfoKun.supports3DRenderTextures);
            EditorGUILayout.Toggle(Styles.Supports3DTextures, systemInfoKun.supports3DTextures);
            EditorGUILayout.Toggle(Styles.SupportsAccelerometer, systemInfoKun.supportsAccelerometer);
            EditorGUILayout.Toggle(Styles.SupportsAsyncCompute, systemInfoKun.supportsAsyncCompute);
            EditorGUILayout.Toggle(Styles.SupportsAsyncGPUReadback, systemInfoKun.supportsAsyncGPUReadback);
            EditorGUILayout.Toggle(Styles.SupportsAudio, systemInfoKun.supportsAudio);
            EditorGUILayout.Toggle(Styles.SupportsComputeShaders, systemInfoKun.supportsComputeShaders);
            EditorGUILayout.Toggle(Styles.SupportsCubemapArrayTextures, systemInfoKun.supportsCubemapArrayTextures);
            EditorGUILayout.Toggle(Styles.SupportsGeometryShaders, systemInfoKun.supportsGeometryShaders);
            EditorGUILayout.Toggle(Styles.SupportsGraphicsFence, systemInfoKun.supportsGraphicsFence);
            EditorGUILayout.Toggle(Styles.SupportsGyroscope, systemInfoKun.supportsGyroscope);
            EditorGUILayout.Toggle(Styles.SupportsHardwareQuadTopology, systemInfoKun.supportsHardwareQuadTopology);
            EditorGUILayout.Toggle(Styles.SupportsInstancing, systemInfoKun.supportsInstancing);
            EditorGUILayout.Toggle(Styles.SupportsLocationService, systemInfoKun.supportsLocationService);
            EditorGUILayout.Toggle(Styles.SupportsMipStreaming, systemInfoKun.supportsMipStreaming);
            EditorGUILayout.Toggle(Styles.SupportsMotionVectors, systemInfoKun.supportsMotionVectors);
            EditorGUILayout.Toggle(Styles.SupportsMultisampleAutoResolve, systemInfoKun.supportsMultisampleAutoResolve);
            EditorGUILayout.IntField(Styles.SupportsMultisampledTextures, systemInfoKun.supportsMultisampledTextures);
            EditorGUILayout.Toggle(Styles.SupportsRawShadowDepthSampling, systemInfoKun.supportsRawShadowDepthSampling);
            EditorGUILayout.Toggle(Styles.SupportsRayTracing, systemInfoKun.supportsRayTracing);
            EditorGUILayout.Toggle(Styles.SupportsSeparatedRenderTargetsBlend, systemInfoKun.supportsSeparatedRenderTargetsBlend);
            EditorGUILayout.Toggle(Styles.SupportsSetConstantBuffer, systemInfoKun.supportsSetConstantBuffer);
            EditorGUILayout.Toggle(Styles.SupportsSparseTextures, systemInfoKun.supportsSparseTextures);
            EditorGUILayout.Toggle(Styles.SupportsTessellationShaders, systemInfoKun.supportsTessellationShaders);
            EditorGUILayout.IntField(Styles.SupportsTextureWrapMirrorOnce, systemInfoKun.supportsTextureWrapMirrorOnce);
            EditorGUILayout.IntField(Styles.SystemMemorySize, systemInfoKun.systemMemorySize);
            EditorGUILayout.TextField(Styles.UnsupportedIdentifier, systemInfoKun.unsupportedIdentifier);
            EditorGUILayout.Toggle(Styles.UsesLoadStoreActions, systemInfoKun.usesLoadStoreActions);
            EditorGUILayout.Toggle(Styles.UsesReversedZBuffer, systemInfoKun.usesReversedZBuffer);
            EditorGUILayout.EndScrollView();


            EditorGUILayout.BeginHorizontal();
            if (GUILayout.Button("Pull"))
            {
                UnityChoseKunEditor.SendMessage <SystemInfoKun>(UnityChoseKun.MessageID.SystemInfoPull, null);
            }
            EditorGUILayout.EndHorizontal();
        }
        private void OnGUI()
        {
            var evt = Event.current;

            if (evt.type == EventType.ContextClick)
            {
                // MouseがWindow無いに入っていればMenuを表示する
                var window = (PlayerHierarchyWindow)EditorWindow.GetWindow(typeof(PlayerHierarchyWindow));
#if UNITY_2019_1_OR_NEWER
                if (window.rootVisualElement.localBound.Contains(evt.mousePosition))
#else
                if (this.GetRootVisualContainer().localBound.Contains(evt.mousePosition))
#endif
                {
                    var menu = new GenericMenu();
                    menu.AddDisabledItem(Styles.Rename);
                    menu.AddItem(Styles.Duplicate, false, DuplicateCB, lastClickedID);
                    menu.AddItem(Styles.Delete, false, DeleteCB, lastClickedID);
                    menu.AddItem(Styles.CreateEmpty, false, CreateEmptyCB, lastClickedID);
                    menu.AddItem(new GUIContent("3D Object/Cube"), false, CreateCubeCB, lastClickedID);
                    menu.AddItem(new GUIContent("3D Object/Sphere"), false, CreateSphereCB, lastClickedID);
                    menu.AddItem(new GUIContent("3D Object/Capsule"), false, CreateCapsuleCB, lastClickedID);
                    menu.AddItem(new GUIContent("3D Object/Clyinder"), false, CreateCylinderCB, lastClickedID);
                    menu.AddItem(new GUIContent("3D Object/Plane"), false, CreatePlaneCB, lastClickedID);
                    menu.AddDisabledItem(new GUIContent("3D Object/Quad"));
                    menu.AddDisabledItem(new GUIContent("3D Object/Text-TextMeshPro"));
                    menu.AddDisabledItem(new GUIContent("3D Object/Ragdoll"));
                    menu.AddDisabledItem(new GUIContent("3D Object/Terrain"));
                    menu.AddDisabledItem(new GUIContent("3D Object/Tree"));
                    menu.AddDisabledItem(new GUIContent("3D Object/WindZone"));

                    menu.AddItem(new GUIContent("2D Object/Sprite"), false, CreateSpriteCB, lastClickedID);
                    menu.AddDisabledItem(new GUIContent("2D Object/Sprite Mask"));
                    menu.AddDisabledItem(new GUIContent("2D Object/Tilemap"));
                    menu.AddDisabledItem(new GUIContent("2D Object/Hexagonal Point Top Tilemap"));
                    menu.AddDisabledItem(new GUIContent("2D Object/Hexagonal Flat Top Tilemap"));
                    menu.AddDisabledItem(new GUIContent("2D Object/Isometric Tilemap"));
                    menu.AddDisabledItem(new GUIContent("2D Object/Isometric Z As Y Tilemap"));

                    menu.AddItem(new GUIContent("Effect/Particle System"), false, CreateParticleSystem, lastClickedID);
                    menu.AddDisabledItem(new GUIContent("Effect/Particle System ForceField"));
                    menu.AddDisabledItem(new GUIContent("Effect/Trail"));
                    menu.AddDisabledItem(new GUIContent("Effect/Line"));

                    menu.ShowAsContext();
                    evt.Use();
                }
            }


            using (new EditorGUILayout.HorizontalScope(EditorStyles.toolbar)) {
                var contents = new GUIContent(Styles.NetworkMessages);
                var v2       = EditorStyles.label.CalcSize(contents);
                if (GUILayout.Button(contents, EditorStyles.toolbarButton, GUILayout.Width(v2.x + 8)))
                {
                    // ChoseKunWindowを開く
                    EditorWindow.GetWindow(typeof(UnityChoseKunEditorWindow));
                    UnityChoseKunEditor.SendMessage(UnityChoseKun.MessageID.GameObjectPull);
                }
                EditorGUILayout.Space();

#if ENABLE_PROFILER_STATES
                contents = new GUIContent("Connect To");
                v2       = EditorStyles.label.CalcSize(contents);
                EditorGUILayout.LabelField(contents, GUILayout.Width(v2.x));
                if (m_attachProfilerState != null)
                {
                    ConnectionGUILayout.AttachToPlayerDropdown(m_attachProfilerState, EditorStyles.toolbarDropDown);
                    switch (m_attachProfilerState.connectedToTarget)
                    {
                    case ConnectionTarget.None:
                        //This case can never happen within the Editor, since the Editor will always fall back onto a connection to itself.
                        break;

                    case ConnectionTarget.Player:
                        Profiler.enabled = GUILayout.Toggle(Profiler.enabled, string.Format("Profile the attached Player ({0})", m_attachProfilerState.connectionName), EditorStyles.toolbarButton);
                        break;

                    case ConnectionTarget.Editor:
                        // The name of the Editor or the PlayMode Player would be "Editor" so adding the connectionName here would not add anything.
                        Profiler.enabled = GUILayout.Toggle(Profiler.enabled, "Profile the Player in the Editor", EditorStyles.toolbarButton);
                        break;

                    default:
                        break;
                    }
                }
#endif

                hierarchyTreeView.searchString = m_searchField.OnToolbarGUI(hierarchyTreeView.searchString);
            }

#if ENABLE_PROFILER_STATES
            var           playerCount = EditorConnection.instance.ConnectedPlayers.Count;
            StringBuilder builder     = new StringBuilder();
            builder.AppendLine(string.Format("{0} players connected.", playerCount));
            int i = 0;
            foreach (var p in EditorConnection.instance.ConnectedPlayers)
            {
                builder.AppendLine(string.Format("[{0}] - {1} {2}", i++, p.name, p.playerId));
            }
            EditorGUILayout.HelpBox(builder.ToString(), MessageType.Info);
#endif

            var rect = EditorGUILayout.GetControlRect(false, position.height - 16);
            hierarchyTreeView.OnGUI(rect);
        }
Ejemplo n.º 21
0
        /// <summary>
        ///
        /// </summary>
        public void OnGUI()
        {
            if (isDone == false)
            {
                EditorGUILayout.HelpBox("Please Pull Request.", MessageType.Info);
            }
            else
            {
                scrollPos = EditorGUILayout.BeginScrollView(scrollPos);
                EditorGUILayout.LabelField("absoluteURL", applicationKun.absoluteURL);
                EditorGUILayout.LabelField("buildGUID", applicationKun.buildGUID);
                EditorGUILayout.LabelField("cloudProjectId", applicationKun.cloudProjectId);
                EditorGUILayout.LabelField("companyName", applicationKun.companyName);
                EditorGUILayout.LabelField("consoleLogPath", applicationKun.consoleLogPath);
                EditorGUILayout.LabelField("dataPath", applicationKun.dataPath);
                EditorGUILayout.Toggle("genuineCheckAvailable", applicationKun.genuineCheckAvailable);
                if (applicationKun.genuineCheckAvailable)
                {
                    EditorGUILayout.Toggle("genuine", applicationKun.genuine);
                }
                EditorGUILayout.LabelField("identifier", applicationKun.identifier);
                EditorGUILayout.LabelField("installerName", applicationKun.installerName);
                EditorGUILayout.EnumPopup("installMode", applicationKun.installMode);
                EditorGUILayout.EnumPopup("internetReachability", applicationKun.internetReachability);
                EditorGUILayout.Toggle("isBatchMode", applicationKun.isBatchMode);
                EditorGUILayout.Toggle("isConsolePlatform", applicationKun.isConsolePlatform);
                EditorGUILayout.Toggle("isEditor", applicationKun.isEditor);
                EditorGUILayout.Toggle("isForcus", applicationKun.isFocused);
                EditorGUILayout.Toggle("isMobilePlatform", applicationKun.isMobilePlatform);
                EditorGUILayout.Toggle("isPlaying", applicationKun.isPlaying);
                EditorGUILayout.LabelField("persistentDataPath", applicationKun.persistentDataPath);
                EditorGUILayout.EnumPopup("platform", applicationKun.platform);
                EditorGUILayout.LabelField("productName", applicationKun.productName);
                EditorGUILayout.EnumPopup("sandboxType", applicationKun.sandboxType);
                EditorGUILayout.LabelField("streamingAssetsPath", applicationKun.streamingAssetsPath);
                EditorGUILayout.EnumPopup("systemLanguage", applicationKun.systemLanguage);
                EditorGUILayout.LabelField("temporaryCachePath", applicationKun.temporaryCachePath);
                EditorGUILayout.LabelField("unityVersion", applicationKun.unityVersion);
                EditorGUILayout.LabelField("version", applicationKun.version);

                GUILayout.Box("", GUILayout.ExpandWidth(true), GUILayout.Height(2));
                EditorGUI.BeginChangeCheck();
                applicationKun.backgroundLoadingPriority = (ThreadPriority)EditorGUILayout.EnumPopup("backgroundLoadingPriority", applicationKun.backgroundLoadingPriority);
                applicationKun.targetFrameRate           = EditorGUILayout.IntField("targetFrameRate", applicationKun.targetFrameRate);
                applicationKun.runInBackground           = EditorGUILayout.Toggle("runInBackground", applicationKun.runInBackground);
                if (EditorGUI.EndChangeCheck())
                {
                    applicationKun.isDirty = true;
                }
                GUILayout.Box("", GUILayout.ExpandWidth(true), GUILayout.Height(2));
                EditorGUILayout.EndScrollView();
            }
            EditorGUILayout.BeginHorizontal();
            if (GUILayout.Button("Pull"))
            {
                UnityChoseKunEditor.SendMessage <ApplicationKun>(UnityChoseKun.MessageID.ApplicationPull, null);
            }
            if (isDone && applicationKun.isDirty)
            {
                if (GUILayout.Button("Push"))
                {
                    UnityChoseKunEditor.SendMessage <ApplicationKun>(UnityChoseKun.MessageID.ApplicationPush, applicationKun);
                }
            }
            if (GUILayout.Button("Quit"))
            {
                UnityChoseKunEditor.SendMessage <ApplicationKun>(UnityChoseKun.MessageID.ApplicationQuit, null);
            }
            EditorGUILayout.EndHorizontal();
        }