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); } }
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); } }
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 }
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); } }
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); } }