public static void Open(LevelSpawnData dataObject)
        {
            var window = GetWindow <SpawnDataOfLevel_InspectorWindow>("Spawn editor window");

            window.SerializedObject = new SerializedObject(dataObject);
            window._targetAsset     = dataObject;
        }
        //Section: Draw window Functions

        private void DrawTitlebar()
        {
            GUILayout.BeginHorizontal();
            var tempWidth = EditorGUIUtility.labelWidth;

            EditorGUIUtility.labelWidth = position.width - 700;
            EditorGUILayout.LabelField($"Editing: {SerializedObject?.targetObject.name}");

            EditorGUIUtility.labelWidth = 120;
            _tempTarget = (LevelSpawnData)EditorGUILayout.ObjectField(
                "Select new Asset: ",
                _targetAsset,
                typeof(LevelSpawnData),
                false);

            EditorGUIUtility.labelWidth = tempWidth;

            if (_tempTarget != null && _targetAsset != _tempTarget)
            {
                Open(_tempTarget);
            }

            GUILayout.Space(10);

            if (GUILayout.Button("Open Asset from Scene", GUILayout.Width(150)))
            {
                var temp = GameObject.Find("SpawnSystem")?.GetComponent <EditSpawnPoints>().data;
                if (temp != null)
                {
                    Open(temp);
                }
            }


            GUILayout.EndHorizontal();
        }
示例#3
0
 public void UpdateData()
 {
     data = GetComponent <SpawnInitializer>().GetLevelData();
 }
示例#4
0
 private void OnValidate()
 {
     data = GetComponent <SpawnInitializer>().GetLevelData();
 }