Пример #1
0
        public static void CreateInfoFile(ICEWorldTemplateData _data, string _path)
        {
            string _classname = "Info";
            string _filename  = "editor_configuration_text";

            string _copy_path = GetValidPath(_path, _filename);

            if (File.Exists(_copy_path) == true)
            {
                return;
            }

            using (StreamWriter _outfile = new StreamWriter(_copy_path))
            {
                PrintHead(_outfile, _filename, _classname);
                _outfile.WriteLine(" ");
                _outfile.WriteLine("using UnityEngine;");
                _outfile.WriteLine("");
                _outfile.WriteLine("namespace ICE." + _data.Namespace + ".EditorInfos // TODO: ADAPT THE NAMESPACE AS DESIRED");
                _outfile.WriteLine("{");
                _outfile.WriteLine("");
                _outfile.WriteLine("public class " + _classname + " : ICE.World.EditorInfos.Info {");
                _outfile.WriteLine("");
                _outfile.WriteLine("// example of use : Info.YOUR_TEXT_KEY");
                _outfile.WriteLine("public static readonly string YOUR_TEXT_KEY = \"YOUR TEXT\"; // TODO: DUPLICATE LINE AND ADAPT KEY AND TEXT\"");
                _outfile.WriteLine("");
                PrintFooter(_outfile, _classname);
            }
        }
Пример #2
0
        public static void CreateInitFile(ICEWorldTemplateData _data, string _path)
        {
            string _classname = "Init";
            string _filename  = "editor_configuration_init";

            string _copy_path = GetValidPath(_path, _filename);

            if (File.Exists(_copy_path) == true)
            {
                return;
            }

            using (StreamWriter _outfile = new StreamWriter(_copy_path))
            {
                PrintHead(_outfile, _filename, _classname);
                _outfile.WriteLine("");
                _outfile.WriteLine("using UnityEngine;");
                _outfile.WriteLine("");
                _outfile.WriteLine("namespace ICE." + _data.Namespace + ".EditorInfos // TODO: ADAPT THE NAMESPACE AS DESIRED");
                _outfile.WriteLine("{");
                _outfile.WriteLine("");
                _outfile.WriteLine("\tpublic class " + _classname + " : ICE.World.EditorInfos.Init {");
                _outfile.WriteLine("");
                _outfile.WriteLine("// example of use : Init.YOUR_DEFAULT_VALUE");
                _outfile.WriteLine("\t\tpublic static readonly float YOUR_DEFAULT_VALUE = 0; // TODO: ADAPT NAME AND VALUE");
                _outfile.WriteLine("");
                PrintFooter(_outfile, _classname);
            }
        }
Пример #3
0
        public static void CreateWorldTemplate(ICEWorldTemplateData _data)
        {
            if (string.IsNullOrEmpty(_data.ProjectName))
            {
                _data.ProjectName = "MYWORLD_PROJECT";
            }

            if (string.IsNullOrEmpty(_data.Namespace))
            {
                _data.Namespace = "MYWORLD";
            }

            // PROJECT BEGIN
            string guid           = AssetDatabase.CreateFolder("Assets", _data.ProjectName);
            string _template_path = AssetDatabase.GUIDToAssetPath(guid);

            // CONTENT BEGIN
            guid = AssetDatabase.CreateFolder(_template_path, "Content");
            //string _content_path = AssetDatabase.GUIDToAssetPath(guid);
            {
            }
            // CONTENT END

            // SCRIPT BEGIN
            guid = AssetDatabase.CreateFolder(_template_path, "Scripts");
            string _scripts_path = AssetDatabase.GUIDToAssetPath(guid);
            {
                // COMPONENTS BEGIN
                guid = AssetDatabase.CreateFolder(_scripts_path, "Components");
                string _scripts_components_path = AssetDatabase.GUIDToAssetPath(guid);
                {
                    // COMPONENTS DEBUG BEGIN
                    guid = AssetDatabase.CreateFolder(_scripts_components_path, "Debug");
                    //string _scripts_components_debug_path = AssetDatabase.GUIDToAssetPath(guid);
                    {
                    }
                    // COMPONENTS DEBUG END
                    //CreateScript( _scripts_components_path, "MyNewComponent" );

                    switch (_data.Type)
                    {
                    case ICEWorldTemplateType.WorldBehaviour:
                        CreateWorldBehaviour(_data, _scripts_components_path);
                        break;

                    case ICEWorldTemplateType.WorldEntity:
                        CreateWorldEntity(_data, _scripts_components_path);
                        break;

                    case ICEWorldTemplateType.WorldSingelton:
                        break;
                    }
                }
                // COMPONENTS END



                // CORE BEGIN
                guid = AssetDatabase.CreateFolder(_scripts_path, "Core");
                string _scripts_core_path = AssetDatabase.GUIDToAssetPath(guid);
                {
                    guid = AssetDatabase.CreateFolder(_scripts_core_path, "Base");
                    //string _scripts_core_base_path = AssetDatabase.GUIDToAssetPath(guid);

                    guid = AssetDatabase.CreateFolder(_scripts_core_path, "Objects");
                    //string _scripts_core_objects_path = AssetDatabase.GUIDToAssetPath(guid);

                    guid = AssetDatabase.CreateFolder(_scripts_core_path, "Utilities");
                    //string _scripts_core_utilities_path = AssetDatabase.GUIDToAssetPath(guid);

                    // EDITOR BEGIN
                    guid = AssetDatabase.CreateFolder(_scripts_core_path, "Editor");
                    string _editor_path = AssetDatabase.GUIDToAssetPath(guid);
                    {
                        guid = AssetDatabase.CreateFolder(_editor_path, "Components");
                        string _editor_components_path = AssetDatabase.GUIDToAssetPath(guid);
                        {
                            guid = AssetDatabase.CreateFolder(_editor_components_path, "Debug");
                            //string _editor_components_debug_path = AssetDatabase.GUIDToAssetPath(guid);
                        }

                        guid = AssetDatabase.CreateFolder(_editor_path, "Configuration");
                        string _editor_configuration_path = AssetDatabase.GUIDToAssetPath(guid);
                        {
                            CreateInfoFile(_data, _editor_configuration_path);
                            CreateInitFile(_data, _editor_configuration_path);
                        }

                        guid = AssetDatabase.CreateFolder(_editor_path, "EditorUtilities");
                        //string _editor_utilities_path = AssetDatabase.GUIDToAssetPath(guid);

                        guid = AssetDatabase.CreateFolder(_editor_path, "Menu");
                        //string _editor_menu_path = AssetDatabase.GUIDToAssetPath(guid);

                        guid = AssetDatabase.CreateFolder(_editor_path, "Windows");
                        //string _editor_windows_path = AssetDatabase.GUIDToAssetPath(guid);

                        guid = AssetDatabase.CreateFolder(_editor_path, "Recources");
                        //string _editor_recources_path = AssetDatabase.GUIDToAssetPath(guid);
                    }
                    // EDITOR END
                }
                // CORE END
            }
            // SCRIPT END
            // PROJECT END
        }
Пример #4
0
        public static void CreateWorldEntity(ICEWorldTemplateData _data, string _path)
        {
            int    _count     = 1;
            string _filename  = _data.ClassName;
            string _copy_path = GetValidPath(_path, _filename);

            while (File.Exists(_copy_path) == true)
            {
                _filename  = _data.ClassName + _count;
                _copy_path = GetValidPath(_path, _filename);
                _count++;
            }

            using (StreamWriter _outfile = new StreamWriter(_copy_path))
            {
                PrintHead(_outfile, _filename, _filename);
                PrintUsing(_outfile);
                PrintNamespace(_outfile, _data.Namespace);

                _outfile.WriteLine("{");
                _outfile.WriteLine("");
                _outfile.WriteLine("\tpublic class " + _filename + " : ICEWorldEntity {");
                _outfile.WriteLine("");
                _outfile.WriteLine("\t\tprotected override void OnRegisterBehaviourEvents()");
                _outfile.WriteLine("\t\t{");
                _outfile.WriteLine("\t\t\tbase.OnRegisterBehaviourEvents(); // the base class already handles ApplyDamage and Reset");
                _outfile.WriteLine("\t\t\t//RegisterBehaviourEvent( \"ApplyDamage\", BehaviourEventParameterType.Float ); // ApplyDamage is member of ICEWorldEntity ");
                _outfile.WriteLine("\t\t\t//RegisterBehaviourEvent( \"Reset\" ); // Reset is member of ICEWorldEntity");
                _outfile.WriteLine("\t\t\t//RegisterBehaviourEvent( \"YOUR_CUSTOM_EVENT\", BehaviourEventParameterType.Float );");
                _outfile.WriteLine("\t\t\t//RegisterBehaviourEvent( \"YOUR_CUSTOM_EVENT\" );");
                _outfile.WriteLine("\t}");

                _outfile.WriteLine("");
                _outfile.WriteLine("\t\tpublic override void Awake () {");
                _outfile.WriteLine("\t\t\tbase.Awake();");
                _outfile.WriteLine("\t\t}");

                _outfile.WriteLine("");
                _outfile.WriteLine("\t\tpublic override void Start () {");
                _outfile.WriteLine("\t\t\tbase.Start();");
                _outfile.WriteLine("\t\t}");
                _outfile.WriteLine("");

                _outfile.WriteLine("\t\tpublic override void OnEnable () {");
                _outfile.WriteLine("\t\t\tbase.OnEnable(); // important or implement Lifespan.Init( this );");
                _outfile.WriteLine("\t\t\t//Lifespan.Init( this );");
                _outfile.WriteLine("\t\t}");

                _outfile.WriteLine("");
                _outfile.WriteLine("\t\tpublic override void OnDisable () {");
                _outfile.WriteLine("\t\t\tbase.OnDisable();");
                _outfile.WriteLine("\t\t}");

                _outfile.WriteLine("");
                _outfile.WriteLine("\t\tpublic override void OnDestroy() {");
                _outfile.WriteLine("\t\t\tbase.OnDestroy();");
                _outfile.WriteLine("\t\t}");

                _outfile.WriteLine("");
                _outfile.WriteLine("\t\tpublic override void Update() {");
                _outfile.WriteLine("\t\t\tDoUpdate();");
                _outfile.WriteLine("\t\t}");

                _outfile.WriteLine("");
                _outfile.WriteLine("\t\tpublic override void LateUpdate() {");
                _outfile.WriteLine("\t\t\tDoLateUpdate();");
                _outfile.WriteLine("\t\t}");
                _outfile.WriteLine("");

                _outfile.WriteLine("\t\tpublic override void FixedUpdate() {");
                _outfile.WriteLine("\t\t\tDoFixedUpdate();");
                _outfile.WriteLine("\t\t}");

                _outfile.WriteLine("");
                _outfile.WriteLine("\t\t//protected override void Register(){ // TODO: override Register if required ");
                _outfile.WriteLine("\t\t\t//WorldManager.Register( transform.gameObject );");
                _outfile.WriteLine("\t\t//}");

                _outfile.WriteLine("");
                _outfile.WriteLine("\t\t//protected override void Deregister(){ // TODO: override Deregister if required ");
                _outfile.WriteLine("\t\t\t//WorldManager.Deregister( transform.gameObject );");
                _outfile.WriteLine("\t\t\t//}");

                _outfile.WriteLine("");
                _outfile.WriteLine("\t\t//protected override void Remove(){ // TODO: override Remove if required ");
                _outfile.WriteLine("\t\t\t//WorldManager.Remove( transform.gameObject );");
                _outfile.WriteLine("\t\t//}");

                _outfile.WriteLine("");
                _outfile.WriteLine("\t\t//public override void Reset(){ // TODO: override Reset if required ");
                _outfile.WriteLine("\t\t\t//Status.Reset();");
                _outfile.WriteLine("\t\t//}");

                _outfile.WriteLine("");
                _outfile.WriteLine("\t\t//public override void ApplyDamage( float _damage ){ // TODO: override ApplyDamage if required ");
                _outfile.WriteLine("\t\t\t//ApplyDamage( _damage, Vector3.zero, Vector3.zero, null, 0 );");
                _outfile.WriteLine("\t\t//}");

                PrintFooter(_outfile, _filename);
            }
        }
Пример #5
0
        public static void CreateWorldBehaviour(ICEWorldTemplateData _data, string _path)
        {
            string _filename = _data.ClassName;

            string _copy_path = GetValidPath(_path, _filename);

            if (File.Exists(_copy_path) == true)
            {
                return;
            }

            using (StreamWriter _outfile = new StreamWriter(_copy_path))
            {
                PrintHead(_outfile, _filename, _data.ClassName);
                PrintUsing(_outfile);
                PrintNamespace(_outfile, _data.Namespace);

                _outfile.WriteLine("{");
                _outfile.WriteLine("");
                _outfile.WriteLine("\tpublic class " + _data.ClassName + " : ICEWorldBehaviour {");
                _outfile.WriteLine("");
                _outfile.WriteLine("\t\tprotected override void OnRegisterBehaviourEvents()");
                _outfile.WriteLine("\t\t{");
                _outfile.WriteLine("\t\t\t//base.OnRegisterBehaviourEvents();");
                _outfile.WriteLine("\t\t\t//RegisterBehaviourEvent( \"YOUR_CUSTOM_EVENT\", BehaviourEventParameterType.Float );");
                _outfile.WriteLine("\t\t\t//RegisterBehaviourEvent( \"YOUR_CUSTOM_EVENT\" );");
                _outfile.WriteLine("\t}");
                _outfile.WriteLine("");
                _outfile.WriteLine("\t\tpublic override void Awake () {");
                _outfile.WriteLine("\t\t\tbase.Awake();");
                _outfile.WriteLine("\t\t}");
                _outfile.WriteLine("");
                _outfile.WriteLine("\t\tpublic override void Start () {");
                _outfile.WriteLine("\t\t\tbase.Start();");
                _outfile.WriteLine("\t\t}");
                _outfile.WriteLine("");
                _outfile.WriteLine("\t\tpublic override void OnEnable () {");
                _outfile.WriteLine("\t\t\tbase.OnEnable();");
                _outfile.WriteLine("\t\t}");
                _outfile.WriteLine("");
                _outfile.WriteLine("\t\tpublic override void OnDisable () {");
                _outfile.WriteLine("\t\t\tbase.OnDisable();");
                _outfile.WriteLine("\t\t}");
                _outfile.WriteLine("");
                _outfile.WriteLine("\t\tpublic override void OnDestroy() {");
                _outfile.WriteLine("\t\t\tbase.OnDestroy();");
                _outfile.WriteLine("\t\t}");
                _outfile.WriteLine("");
                _outfile.WriteLine("\t\tpublic override void Update() {");
                _outfile.WriteLine("\t\t\tDoUpdate();");
                _outfile.WriteLine("\t\t}");
                _outfile.WriteLine("");
                _outfile.WriteLine("\t\tpublic override void LateUpdate() {");
                _outfile.WriteLine("\t\t\tDoLateUpdate();");
                _outfile.WriteLine("\t\t}");
                _outfile.WriteLine("");
                _outfile.WriteLine("\t\tpublic override void FixedUpdate() {");
                _outfile.WriteLine("\t\t\tDoFixedUpdate();");
                _outfile.WriteLine("\t\t}");

                PrintFooter(_outfile, _data.ClassName);
            }
        }