public void OnGUI()
        {
            this.container            = EditorGUILayout.ObjectField("container", this.container, typeof(Transform), true) as Transform;
            NodeDataName.DataFileName = EditorGUILayout.TextField("Data File Name", NodeDataName.DataFileName);


            GUI.enabled = this.container != null && !NodeDataManager.IsLoaded && !this.hasCreated;
            if (GUILayout.Button("Create"))
            {
                Debug.Log("Creating new room layout from cubes, old data will be deleted");
                var data = NodeDataLoader.LoadAll(NodeDataName.DataFileName);
                NodeDataManager.Load(NodeDataName.DataFileName, data);
                NodeDataManager.DeleteAll();

                var cubes = this.container.GetComponentsInChildren <Transform>();
                foreach (var cube in cubes)
                {
                    if (cube == this.container)
                    {
                        continue;
                    }
                    if (cube.parent != this.container)
                    {
                        Debug.LogWarning("Container has 2nd level a child that will be ignored"); continue;
                    }

                    var node = new NodeJson(NodeDataManager.NextName(NodeType.CUBE), cube.position, cube.localScale, "", NodeType.CUBE);

                    NodeDataManager.AddNode(node);
                }

                NodeFactory.CreateNodes(NodeDataManager.NodeJsons);

                this.container.gameObject.SetActive(false);
                this.hasCreated = true;
            }
            GUI.enabled = true;
            if (NodeDataManager.IsLoaded)
            {
                GUILayout.Label("Please Unload first");
            }


            GUIHelper.HorizontalLine();
            GUI.skin.label.wordWrap = true;
            GUILayout.Label("** This Action will overrite current data **");
            GUILayout.Label("If you dont want to lose any data please change the data file that is being used");

            GUI.enabled = this.hasCreated;
            if (GUILayout.Button("Save"))
            {
                NodeDataLoader.SaveAll(NodeDataManager.SaveFilePath(), NodeDataManager.SaveDataHolder());
            }
            GUI.enabled = true;
        }
Exemple #2
0
 public EmptyCreator(Vector3 position, Vector3 scale) : base(NodeDataManager.NextName("empty"), position, scale)
 {
 }
Exemple #3
0
 public QuadCreator(Vector3 position, Vector3 scale) : base(NodeDataManager.NextName("Quad"), position, scale)
 {
 }
Exemple #4
0
 public CubeCreator(Vector3 position, Vector3 scale) : base(NodeDataManager.NextName("cube"), position, scale)
 {
 }
Exemple #5
0
 private void createNewNode(string nodeType)
 {
     this.node = new NodeJson(NodeDataManager.NextName(nodeType), Vector3.zero, Vector3.one, "", nodeType);
 }