Exemple #1
0
        private void SetSelectedNode(SceneNode selectedNode)
        {
            if (selectedNode == null)
            {
                return;
            }

            if (selectedNode.SceneId == SceneManagerController.ANY_SCENE_ID)
            {
                serializedScene = serializedManager.GetAnySceneSerializedModel();
                Repaint();
                return;
            }

            SerializedProperty scenesProp = serializedManager.ScenesProp;

            // Get the serialized property of the scene node from the scene manager
            for (int i = 0; i < scenesProp.arraySize; i++)
            {
                SerializedSceneModel serializedModel = serializedManager.GetSerializedSceneModel(i);

                if (serializedModel.SceneIdProp.intValue == selectedNode.SceneId)
                {
                    serializedScene = serializedModel;
                    Repaint();
                    break;
                }
            }
        }
        private void OnDrawElement(Rect rect, int index, bool isActive, bool isSelected)
        {
            SerializedSceneModel serializedScene = serializedManager.GetSerializedSceneModel(index);
            
            Rect toggleRect = new Rect(rect);
            toggleRect.width = 20f;

            Rect labelRect = new Rect(rect);
            labelRect.xMin = 40f;

            EditorGUI.BeginChangeCheck();

            serializedScene.IncludeInIterProp.boolValue = EditorGUI.Toggle(toggleRect, 
                includeInIterContent, serializedScene.IncludeInIterProp.boolValue);

            EditorGUI.LabelField(labelRect, serializedScene.SceneNameProp.stringValue);

            if(EditorGUI.EndChangeCheck())
                serializedScene.SerializedObject.ApplyModifiedProperties();
        }