From 7adefb9cd3baf5a15e6301dc18ce76a796873a8a Mon Sep 17 00:00:00 2001 From: Mrkelly Date: Wed, 22 Oct 2014 16:00:12 +0800 Subject: [PATCH 1/5] remove ui hook function --- .../Editor/CosmosEngineEditor/CBuildTools.cs | 37 ++++++------------- .../Editor/CosmosEngineEditor/CBuild_UI.cs | 28 +++++++++++--- .../Scripts/BaseModules/UI/CUIManager.cs | 25 +++++++------ .../Scripts/Bridges/CNGUIBridge.cs | 1 + 4 files changed, 48 insertions(+), 43 deletions(-) diff --git a/Assets/CosmosEngine/Editor/CosmosEngineEditor/CBuildTools.cs b/Assets/CosmosEngine/Editor/CosmosEngineEditor/CBuildTools.cs index f697366..cf393b0 100644 --- a/Assets/CosmosEngine/Editor/CosmosEngineEditor/CBuildTools.cs +++ b/Assets/CosmosEngine/Editor/CosmosEngineEditor/CBuildTools.cs @@ -31,27 +31,8 @@ struct XVersionControlInfo static int PushedAssetCount = 0; - public event Action BeforeBuildAssetBundleEvent; - - // 鉤子函數, 動態改變某些打包行為 - public static bool HookFunc(System.Type classType, string funcName, params object[] args) - { - if (classType == null) - { - return false; - } - - MethodInfo methodInfo = classType.GetMethod(funcName, BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.Public); - if (methodInfo == null) - { - return false; - } - - CBase.Log("HookFunc- {0}:{1}", classType.Name, funcName); - methodInfo.Invoke(null, args); - - return true; - } + public static event Action BeforeBuildAssetBundleEvent; + public static event Action AfterBuildAssetBundleEvent; #region 打包功能 public static string MakeSureExportPath(string path, BuildTarget buildTarget) @@ -154,7 +135,11 @@ public static uint BuildAssetBundle(Object asset, string path, BuildTarget build string relativePath = path; path = MakeSureExportPath(path, buildTarget); - if ((prefabType == PrefabType.None && AssetDatabase.GetAssetPath(asset) == string.Empty) || + if (asset is Texture) + { + asset = asset; // Texutre不复制拷贝一份 + } + else if ((prefabType == PrefabType.None && AssetDatabase.GetAssetPath(asset) == string.Empty) || (prefabType == PrefabType.ModelPrefabInstance)) { tmpObj = (GameObject)GameObject.Instantiate(asset); @@ -166,8 +151,8 @@ public static uint BuildAssetBundle(Object asset, string path, BuildTarget build asset = PrefabUtility.GetPrefabParent(asset); } - - HookFunc(typeof(CBuildTools), "BeforeBuildAssetBundle", asset, path, relativePath); + if (BeforeBuildAssetBundleEvent != null) + BeforeBuildAssetBundleEvent(asset, path, relativePath); uint crc; BuildPipeline.BuildAssetBundle( @@ -186,8 +171,8 @@ public static uint BuildAssetBundle(Object asset, string path, BuildTarget build CBase.Log("生成文件: {0}", path); - - HookFunc(typeof(CBuildTools), "AfterBuildAssetBundle", asset, path, relativePath); + if (AfterBuildAssetBundleEvent != null) + AfterBuildAssetBundleEvent(asset, path, relativePath); return crc; } diff --git a/Assets/CosmosEngine/Editor/CosmosEngineEditor/CBuild_UI.cs b/Assets/CosmosEngine/Editor/CosmosEngineEditor/CBuild_UI.cs index e9888ed..a29ccd9 100644 --- a/Assets/CosmosEngine/Editor/CosmosEngineEditor/CBuild_UI.cs +++ b/Assets/CosmosEngine/Editor/CosmosEngineEditor/CBuild_UI.cs @@ -29,7 +29,11 @@ public partial class CBuild_UI : AutoBuildBase public override string GetDirectory() { return "UI"; } public override string GetExtention() { return "*.unity"; } - public static event Action Custom_BeginExport; + public static event Action BeginExportEvent; + public static event Action ExportCurrentUIEvent; + public static event Action ExportUIMenuEvent; + public static event Action EndExportEvent; + public static string GetBuildRelPath(string uiName) { @@ -39,7 +43,12 @@ public static string GetBuildRelPath(string uiName) public void ExportCurrentUI() { CreateTempPrefab(); - if (!CBuildTools.HookFunc(typeof(CBuild_UI), "Custom_ExportCurrentUI", this, UIScenePath, UIName, TempPanelObject)) + + if (ExportCurrentUIEvent != null) + { + ExportCurrentUIEvent(this, UIScenePath, UIName, TempPanelObject); + } + else { CBuildTools.BuildAssetBundle(TempPanelObject, GetBuildRelPath(UIName)); } @@ -48,7 +57,10 @@ public void ExportCurrentUI() public override void BeginExport() { - CBuildTools.HookFunc(typeof(CBuild_UI), "Custom_BeginExport", this); + if (BeginExportEvent != null) + { + BeginExportEvent(this); + } } public override void Export(string path) @@ -65,7 +77,10 @@ public override void Export(string path) public override void EndExport() { - CBuildTools.HookFunc(typeof(CBuild_UI), "Custom_EndExport", this); + if (EndExportEvent != null) + { + EndExportEvent(this); + } } @@ -208,8 +223,9 @@ public static void CreateUI() [MenuItem("CosmosEngine/UI/Export Current UI %&U")] public static void ExportUIMenu() { - CBuildTools.HookFunc(typeof(CBuild_UI), "Custom_ExportUIMenu"); - + if (ExportUIMenuEvent != null) + ExportUIMenuEvent(); + CBuild_UI uiBuild = new CBuild_UI(); if (!uiBuild.CheckUI(true)) return; diff --git a/Assets/CosmosEngine/Scripts/BaseModules/UI/CUIManager.cs b/Assets/CosmosEngine/Scripts/BaseModules/UI/CUIManager.cs index fb98a40..9db2189 100644 --- a/Assets/CosmosEngine/Scripts/BaseModules/UI/CUIManager.cs +++ b/Assets/CosmosEngine/Scripts/BaseModules/UI/CUIManager.cs @@ -30,8 +30,8 @@ public class CUIManager : ICModule public Dictionary UIWindows = new Dictionary(); public bool UIRootLoaded = false; - public event System.Action OpenWindowEvent; - public event System.Action CloseWindowEvent; + public static event Action OnOpenEvent; + public static event Action OnCloseEvent; private CUIManager() { @@ -164,7 +164,8 @@ void OnDynamicWindowCallback(CUIController _ui, object[] _args) originArgs[i - 2] = _args[i]; InitWindow(_instanceUIState, uiBase, true, originArgs); - OnUIWindowLoaded(_instanceUIState, uiBase); + OnUIWindowLoadedCallbacks(_instanceUIState, uiBase); + } public void CloseWindow(Type t) @@ -179,9 +180,6 @@ public void CloseWindow() public void CloseWindow(string name) { - if (CloseWindowEvent != null) - CloseWindowEvent(name); - CUILoadState uiState; if (!UIWindows.TryGetValue(name, out uiState)) { @@ -195,6 +193,9 @@ public void CloseWindow(string name) } uiState.UIWindow.gameObject.SetActive(false); + + if (OnCloseEvent != null) + OnCloseEvent(uiState.UIWindow); uiState.UIWindow.OnClose(); if (!uiState.IsStaticUI) @@ -315,7 +316,7 @@ IEnumerator LoadUIAssetBundle(string path, string name, CUILoadState openState) uiBase.UIName = uiBase.UITemplateName = openState.Name; InitWindow(openState, uiBase, openState.OpenWhenFinish, openState.OpenArgs); - OnUIWindowLoaded(openState, uiBase); + OnUIWindowLoadedCallbacks(openState, uiBase); } @@ -382,16 +383,18 @@ public void CallUI(Action callback, params object[] args) where void OnOpen(CUILoadState uiState, params object[] args) { - if (OpenWindowEvent != null) - OpenWindowEvent(uiState.UIType); - CUIController uiBase = uiState.UIWindow; uiBase.OnPreOpen(); if (uiBase.gameObject.activeSelf) + { uiBase.OnClose(); + } else uiBase.gameObject.SetActive(true); + + if (OnOpenEvent != null) + OnOpenEvent(uiBase); uiBase.OnOpen(args); } @@ -407,7 +410,7 @@ void InitWindow(CUILoadState uiState, CUIController uiBase, bool open, params ob } } - void OnUIWindowLoaded(CUILoadState uiState, CUIController uiBase) + void OnUIWindowLoadedCallbacks(CUILoadState uiState, CUIController uiBase) { //if (openState.OpenWhenFinish) // 加载完打开 模式下,打开时执行回调 { diff --git a/Assets/CosmosEngine/Scripts/Bridges/CNGUIBridge.cs b/Assets/CosmosEngine/Scripts/Bridges/CNGUIBridge.cs index 0a9d0f3..6ee7ea9 100644 --- a/Assets/CosmosEngine/Scripts/Bridges/CNGUIBridge.cs +++ b/Assets/CosmosEngine/Scripts/Bridges/CNGUIBridge.cs @@ -55,6 +55,7 @@ void CreateUIRoot() CBase.Assert(UiRoot); UiRoot.scalingStyle = UIRoot.Scaling.ConstrainedOnMobiles; UiRoot.manualHeight = 1920; + UiRoot.manualWidth = 1080; GameObject panelRootObj = new GameObject("PanelRoot"); CTool.SetChild(panelRootObj.transform, uiRootobj.transform); From bc1bec62724c4a4ab383f7264e0ce382219c4af1 Mon Sep 17 00:00:00 2001 From: mrkelly Date: Mon, 27 Oct 2014 22:04:59 +0800 Subject: [PATCH 2/5] change directory --- {Product => App}/setting/test_tab.bytes | 0 .../CosmosEngineEditor/CTestTools.cs.meta} | 2 +- .../Scripts/Utils/CTabReader.cs.meta | 8 + .../Scripts/Utils/ICTabReadble.cs.meta | 8 + Assets/Editor/CBuild_Audio.cs.meta | 8 + Assets/Editor/CosmosEngineEditor.meta | 5 - Assets/Plugins/Editor/NGUIEditor.meta | 5 - Assets/Product/UI/DemoHome.unity | 2 +- Assets/Resources/CEngineConfig.txt | 12 +- .../Win32/UI/DemoHome_UI.unity3d | Bin 2850 -> 2658 bytes Docs/structure.vsdx | Bin 0 -> 47745 bytes Docs/ui_module.png | Bin 0 -> 30521 bytes Docs/ui_module.vsdx | Bin 0 -> 31216 bytes Docs/~$$ui_module.~vsdx | Bin 0 -> 4096 bytes logs/game.log | 180 ++++++++++++++++++ 15 files changed, 212 insertions(+), 18 deletions(-) rename {Product => App}/setting/test_tab.bytes (100%) rename Assets/CosmosEngine/{Scripts/Utils/CCollisionDetector.cs.meta => Editor/CosmosEngineEditor/CTestTools.cs.meta} (78%) create mode 100644 Assets/CosmosEngine/Scripts/Utils/CTabReader.cs.meta create mode 100644 Assets/CosmosEngine/Scripts/Utils/ICTabReadble.cs.meta create mode 100644 Assets/Editor/CBuild_Audio.cs.meta delete mode 100644 Assets/Editor/CosmosEngineEditor.meta delete mode 100644 Assets/Plugins/Editor/NGUIEditor.meta create mode 100644 Docs/structure.vsdx create mode 100644 Docs/ui_module.png create mode 100644 Docs/ui_module.vsdx create mode 100644 Docs/~$$ui_module.~vsdx create mode 100644 logs/game.log diff --git a/Product/setting/test_tab.bytes b/App/setting/test_tab.bytes similarity index 100% rename from Product/setting/test_tab.bytes rename to App/setting/test_tab.bytes diff --git a/Assets/CosmosEngine/Scripts/Utils/CCollisionDetector.cs.meta b/Assets/CosmosEngine/Editor/CosmosEngineEditor/CTestTools.cs.meta similarity index 78% rename from Assets/CosmosEngine/Scripts/Utils/CCollisionDetector.cs.meta rename to Assets/CosmosEngine/Editor/CosmosEngineEditor/CTestTools.cs.meta index 6e4830b..1584a71 100644 --- a/Assets/CosmosEngine/Scripts/Utils/CCollisionDetector.cs.meta +++ b/Assets/CosmosEngine/Editor/CosmosEngineEditor/CTestTools.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: da29b45b7140bc544bf56b0187c0cdaa +guid: 7f2a29f64ad3f5c42a3af2d382bd6f25 MonoImporter: serializedVersion: 2 defaultReferences: [] diff --git a/Assets/CosmosEngine/Scripts/Utils/CTabReader.cs.meta b/Assets/CosmosEngine/Scripts/Utils/CTabReader.cs.meta new file mode 100644 index 0000000..bc422ae --- /dev/null +++ b/Assets/CosmosEngine/Scripts/Utils/CTabReader.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 18dddec43716a0f40bbbb9cb06e1e8f7 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/CosmosEngine/Scripts/Utils/ICTabReadble.cs.meta b/Assets/CosmosEngine/Scripts/Utils/ICTabReadble.cs.meta new file mode 100644 index 0000000..b338b5b --- /dev/null +++ b/Assets/CosmosEngine/Scripts/Utils/ICTabReadble.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ddfbc544a3d69ac41a65cb26152de07c +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Editor/CBuild_Audio.cs.meta b/Assets/Editor/CBuild_Audio.cs.meta new file mode 100644 index 0000000..fcf94cd --- /dev/null +++ b/Assets/Editor/CBuild_Audio.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 69554663b6d9c7b4383e26cb03b83850 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Editor/CosmosEngineEditor.meta b/Assets/Editor/CosmosEngineEditor.meta deleted file mode 100644 index 68b1851..0000000 --- a/Assets/Editor/CosmosEngineEditor.meta +++ /dev/null @@ -1,5 +0,0 @@ -fileFormatVersion: 2 -guid: 5c6d19a15a372474e913a75e08b5e1b6 -folderAsset: yes -DefaultImporter: - userData: diff --git a/Assets/Plugins/Editor/NGUIEditor.meta b/Assets/Plugins/Editor/NGUIEditor.meta deleted file mode 100644 index 3aeb795..0000000 --- a/Assets/Plugins/Editor/NGUIEditor.meta +++ /dev/null @@ -1,5 +0,0 @@ -fileFormatVersion: 2 -guid: dfbfb9fb9d3beb5459f9669a6ac5ef50 -folderAsset: yes -DefaultImporter: - userData: diff --git a/Assets/Product/UI/DemoHome.unity b/Assets/Product/UI/DemoHome.unity index 0526a1c..08dbd8c 100644 --- a/Assets/Product/UI/DemoHome.unity +++ b/Assets/Product/UI/DemoHome.unity @@ -614,7 +614,7 @@ Transform: m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 2082452486} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -.703812301, y: 0, z: 0} + m_LocalPosition: {x: .646900237, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - {fileID: 1549786181} diff --git a/Assets/Resources/CEngineConfig.txt b/Assets/Resources/CEngineConfig.txt index 6afced7..a4274eb 100644 --- a/Assets/Resources/CEngineConfig.txt +++ b/Assets/Resources/CEngineConfig.txt @@ -1,6 +1,6 @@ -Key Value Comment -ProductRelPath ../Product -AssetBundleRelPath StreamingAssets -AssetBundleExt .unity3d base -IsLoadAssetBundle 1 -UIBridgeType NGUI +Key Value Comment +ProductRelPath ../App +AssetBundleRelPath StreamingAssets +AssetBundleExt .unity3d base +IsLoadAssetBundle 1 +UIBridgeType NGUI diff --git a/Assets/StreamingAssets/Win32/UI/DemoHome_UI.unity3d b/Assets/StreamingAssets/Win32/UI/DemoHome_UI.unity3d index ac3bb8ef8e892b4d97c0d6b48329784924f4dc2e..167baee21afc131ee6a2c8423ec16f8db0516490 100644 GIT binary patch delta 2656 zcmV-m3ZM0&7UC3;9e)a90000y0000100001000Um002Iy000VN0000S09^n82mq)) z0000000000Xa1<<(qCAG-V2x;82qG8n8LKut+M<)Nv~$=9b7KpAxVbL=#5P}$Y zw@xEq#-D4hf))ggL8c)Q{pswyGpm*c;6)1c)$QgbC?3T2Pk$8yE#Aa_Oz;Y{%(W67%z*V}BP-p7yf9Um%shsPQTDLe|%n8>KFvZn^E|aqk^amXm zu$|voWOfNWwFRR9D??;odff15F8*N8LKT?H4It450e@t-Jt8TaL5xn9cYq}K7G<_j zs6e;N@KOz=ujtSei~jgqa*#%YQoZuGTjy zlJ6H4E&~jfSSLJz9i+UxAKpyQ+mUt2<`VnbJJk5MZIurO4B3R2dBL;{!O4QnT-A_w zD^NI>q_g7OsZe&;#o>BKNvM@z>7#bh7hb~QIDeII9{oj5+r=1bWjf$XO5`AbWg;>7 zUFCDOngH$&7xFfbSrTBBQVjB(a)9;Y=;eKlF7v^QOE+--t`A}SYikZL24 znt$FX_Pna1m*CI8uZvdO(f&jn8%ECg^%ddn*>TEEAeWsp!v^yRit31i*xb?9B}r*b zlaWNf=kZQmfB4nmC`&^TNKhtzZhaE?X%`xCeAMR|hS1huah3q0=YZ;ys=V5a{YfbEbdL-g@@cUjb=UD9Y$N0Juo{u`(Ki$Vn!_o2-LWis zW+juP(2-My9X*g(nYMf}pQ&o`pt89Bhlc!8+`Cg`;R>A&-X~-N++`2`R}$&2LVxcz zKB@3Cp2}Wl;gv8WOTSVDu;31(2`fh`gYv=eb`8#~y!}GtGSiMNR=Az52vpzTt5Cs7N?49x^o?m6RX3y4jiUy>C5bzqwg*NE@og5M{H=Qirs5& z)kl!X$YR8;F)mK<_qWR^eRkh{?MwHZM-iALmn$c-A{R-B&LXeSl$0c{ehLmx4h&%( zjz-~5iKPjCY(0yc_|4(gMS6GB@;3@BQ9aO4}WW3K-3Prei1*j;euaTsi-VHgXrCIJ~@4faM7zg#@c8 z3{2Wp0-b6Bvr_$7Ev4X^27ibRUQebnN$dyZ`o$u68u^xOp0;xS_qzC4u3mD_W{JBV z;6WKl$FT1{ZeVaJnQPqD2NZ?k&(*WK?GOi;i)exOk&qDd!+b? zup>g4t53=;Sd&HvmqWt$xxk)umL8=wYUXg+ef1~n_`bc+iw;2iHatpauZD)vd>Pi} zPWASZ;%6Qj7}F*UxVD0HzYf|eVLt8c(W&S)Z5WG<{%UvydViR26W@YRb53UV+KQ2$ z$Z=m-ec*)AIptfEz3bgyqKSC#UL4Mx1-Iil#*bI0Myb)Gk3Sp_M`^S3O;Hw=SWdaM zZ$px3IcQDuo^F9mhUeL&304o}(5)Z0{1+^}i%> z**LqfMSu6n#zo=s$S0)zxI3<6*f?jrx-+v?)wgZQ0?q^0^9sr?U84Tyi!~4scMp#? z=hjf;FB7|s*e*)BHo6A778igl<&)rnAK@xAox=hT>Mj(ppEqqFUei|}i2@^MaMQUo zEg)+q6`bec_s=ceN*`|G6esH~41{z_tb*jdOn=+L+rs4jc{vHlm;z4@7H==`vE~s1 zp#x2Zxb<4VH62~OVZ9jq4;%eU*T(e*LiOXL<{RSk^erXm8!>Nlx$#Ka+d9^PL+vtRpYE6 z7d4ZOmm0H`(NOHi{37CrE#(%+f8TdUM-B7WdQ}B-GsBt~U>lrbAxO zk;_y!U&sQ@I&3{>>8i4Q(S`)|7&wOmnpq(UzIBNauX#`Jqzws2{Oi1+Fe3D%A$|fuz+oYxR~No&F@hO);*R9xp2)+eaQjT4=C;q!Ja$2j O50ipl3vdAZ*K^)mF%i80 literal 2850 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 A-~a#s diff --git a/Docs/structure.vsdx b/Docs/structure.vsdx new file mode 100644 index 0000000000000000000000000000000000000000..3bd048405c76fc1a6b58c71dfa9c8b85842cc439 GIT binary patch literal 47745 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 P|22F+iuG{*C6TL0Oq-AO&C&0kO2L z^%5u^a416&W&!d*7zFYe%7ONR+@Q-)3S?z6Bm>1#fFi^J8KC_jdqL(AYd^@n!0HnW z5cWd_NThh6_JitTV(kZo6$jKFkRA{KxgS;+fb!>Pod6D&VNc{TBmz@>1~A=&aslai zKmnNZkOK*ttngBxtS<&tfoeZqZCE9N`JZI_K?ZSSHH|z$QvFY!Ex2`2Vm~aeBh$#{ zjk1S#2>1qhyZZP<>IOLDPG9(Bd>Mimyn$^;A0UhbmLCBOq#5K}l%1NBLt2{?**(6% WnmZd Date: Mon, 27 Oct 2014 22:35:23 +0800 Subject: [PATCH 3/5] ui modules docs --- Assets/CosmosEngine/Tests.meta | 5 + .../CosmosEngine/{Demo => Tests}/CFiber.meta | 0 .../CFiber/CFiber(SuperCoroutine).unity | 0 .../CFiber/CFiber(SuperCoroutine).unity.meta | 0 .../{Demo => Tests}/CFiber/CFiber_Demo.cs | 108 +++++++++--------- .../CFiber/CFiber_Demo.cs.meta | 0 README.md | 71 +++++++++++- 7 files changed, 126 insertions(+), 58 deletions(-) create mode 100644 Assets/CosmosEngine/Tests.meta rename Assets/CosmosEngine/{Demo => Tests}/CFiber.meta (100%) rename Assets/CosmosEngine/{Demo => Tests}/CFiber/CFiber(SuperCoroutine).unity (100%) rename Assets/CosmosEngine/{Demo => Tests}/CFiber/CFiber(SuperCoroutine).unity.meta (100%) rename Assets/CosmosEngine/{Demo => Tests}/CFiber/CFiber_Demo.cs (96%) rename Assets/CosmosEngine/{Demo => Tests}/CFiber/CFiber_Demo.cs.meta (100%) diff --git a/Assets/CosmosEngine/Tests.meta b/Assets/CosmosEngine/Tests.meta new file mode 100644 index 0000000..952d3ba --- /dev/null +++ b/Assets/CosmosEngine/Tests.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 6c1a18fa58312604fab8264330e61f5f +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/CosmosEngine/Demo/CFiber.meta b/Assets/CosmosEngine/Tests/CFiber.meta similarity index 100% rename from Assets/CosmosEngine/Demo/CFiber.meta rename to Assets/CosmosEngine/Tests/CFiber.meta diff --git a/Assets/CosmosEngine/Demo/CFiber/CFiber(SuperCoroutine).unity b/Assets/CosmosEngine/Tests/CFiber/CFiber(SuperCoroutine).unity similarity index 100% rename from Assets/CosmosEngine/Demo/CFiber/CFiber(SuperCoroutine).unity rename to Assets/CosmosEngine/Tests/CFiber/CFiber(SuperCoroutine).unity diff --git a/Assets/CosmosEngine/Demo/CFiber/CFiber(SuperCoroutine).unity.meta b/Assets/CosmosEngine/Tests/CFiber/CFiber(SuperCoroutine).unity.meta similarity index 100% rename from Assets/CosmosEngine/Demo/CFiber/CFiber(SuperCoroutine).unity.meta rename to Assets/CosmosEngine/Tests/CFiber/CFiber(SuperCoroutine).unity.meta diff --git a/Assets/CosmosEngine/Demo/CFiber/CFiber_Demo.cs b/Assets/CosmosEngine/Tests/CFiber/CFiber_Demo.cs similarity index 96% rename from Assets/CosmosEngine/Demo/CFiber/CFiber_Demo.cs rename to Assets/CosmosEngine/Tests/CFiber/CFiber_Demo.cs index b666e72..9c65bb6 100644 --- a/Assets/CosmosEngine/Demo/CFiber/CFiber_Demo.cs +++ b/Assets/CosmosEngine/Tests/CFiber/CFiber_Demo.cs @@ -1,54 +1,54 @@ -//------------------------------------------------------------------------------ -// -// CosmosEngine - The Lightweight Unity3D Game Develop Framework -// -// Version 0.8 (20140904) -// Copyright © 2011-2014 -// MrKelly <23110388@qq.com> -// https://github.com/mr-kelly/CosmosEngine -// -//------------------------------------------------------------------------------ -using UnityEngine; -using System.Collections; - - -public class CFiber_Demo : MonoBehaviour -{ - void Start() - { - CFiber.Instance.PlayCoroutine(TestCo()); - } - - IEnumerator TestCo() - { - yield return new WaitForSeconds(1f); - Debug.Log("Success! Wait For seconds" + Time.time); - - yield return new CustomWaitForMileSeconds(3000); - Debug.Log("Success! Wait For mileseconds" + Time.time); - - Debug.Log("Over TestCo"); - } -} - - -public class CustomWaitForMileSeconds : CFiberBase -{ - private int MileSeconds; - - private float StartTime; - - public CustomWaitForMileSeconds(int mileseconds) - { - MileSeconds = mileseconds; - StartTime = Time.time; - } - - public override IEnumerator Wait() - { - float endTime = StartTime + (float)MileSeconds / 1000f; - while (Time.time < endTime) - yield return null; - } - -} +//------------------------------------------------------------------------------ +// +// CosmosEngine - The Lightweight Unity3D Game Develop Framework +// +// Version 0.8 (20140904) +// Copyright © 2011-2014 +// MrKelly <23110388@qq.com> +// https://github.com/mr-kelly/CosmosEngine +// +//------------------------------------------------------------------------------ +using UnityEngine; +using System.Collections; + + +public class CFiber_Demo : MonoBehaviour +{ + void Start() + { + CFiber.Instance.PlayCoroutine(TestCo()); + } + + IEnumerator TestCo() + { + yield return new WaitForSeconds(1f); + Debug.Log("Success! Wait For seconds" + Time.time); + + yield return new CustomWaitForMileSeconds(3000); + Debug.Log("Success! Wait For mileseconds" + Time.time); + + Debug.Log("Over TestCo"); + } +} + + +public class CustomWaitForMileSeconds : CFiberBase +{ + private int MileSeconds; + + private float StartTime; + + public CustomWaitForMileSeconds(int mileseconds) + { + MileSeconds = mileseconds; + StartTime = Time.time; + } + + public override IEnumerator Wait() + { + float endTime = StartTime + (float)MileSeconds / 1000f; + while (Time.time < endTime) + yield return null; + } + +} diff --git a/Assets/CosmosEngine/Demo/CFiber/CFiber_Demo.cs.meta b/Assets/CosmosEngine/Tests/CFiber/CFiber_Demo.cs.meta similarity index 100% rename from Assets/CosmosEngine/Demo/CFiber/CFiber_Demo.cs.meta rename to Assets/CosmosEngine/Tests/CFiber/CFiber_Demo.cs.meta diff --git a/README.md b/README.md index 133f697..1b4a731 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,10 @@ * [特性](#cn-feature) * [约定](#cn-convention) * [整体架构图](#cn-structure) +* [目录结构简介](#cn-directories) +* [基础模块使用](#cn-base-modules) + * [资源模块(ResourceModule)](#cn-module-resource) + * [用户界面模块(UIModule)](#cn-module-ui) * [使用经验](#cn-exp) * [工作流](#cn-workflow) * [未来功能](#cn-future) @@ -22,10 +26,6 @@ [回目录](#cn-title) - - - - 简介 ------------------ CosmosEngine - Unity3D /2D 轻量级模块化游戏开发框架,包含轻量级的代码和常用模块,提供一定的编程范式作约束和工作流程,旨在减少开发人员的重复工作和做决定的次数。 @@ -103,8 +103,71 @@ CosmosEngine中的所有设计,都基于这个开始思考的。 [回目录](#cn-title) +目录结构简介 +---------------------------------------------- +(TODO) + +[回目录](#cn-title) + +基础模块使用 +---------------------------------------------- +CosmosEngine有两个基础模块:资源模块和UI模块,它们是底层模块,默认必须加载。(参看CCosmosEngine.cs) + + +### 资源模块(ResourceModule) + +资源模块包含了模块主体(CResourceModule.cs)和一系列的资源加载器(如CTextureLoader纹理加载、CAudioLoader音频加载)。 +* 模块主体,CResourceModule主要负责路径初始化,分别处理在Android/iOS/PC平台下不同的资源读取路径。 +* 各系列的加载,如CTextureLoader等,负责实际的资源加载。至于加载的指定资源,是在CResourceModule中就被配置好的。 +注意的是,资源加载器的使用,既可以协程,也可以回调的形式,比如: + +加载一个游戏对象,完成后输出一个日志 +方法一: +``` +IEnumerator DoLoad() +{ + var assetLoader = new CAssetLoader("a_obj.unity3d"); + while (!assetLoader.IsFinished) + yield return null; + + CBase.Log("Finish load!"); +} +``` + +方法二: + +``` +void DoLoad() +{ + new CAssetLoader("a_obj.unity3d", (obj, args)=>{ + CBase.Log("Finish load!"); + }); +} +``` + +### 用户界面模块(UIModule) + +![UIModule of CosmosEngine](https://raw.githubusercontent.com/mr-kelly/CosmosEngine/master/Docs/ui_module.png) +UI模块主要用于模仿MVC设计模式的V和C层: +* C即Controller,控制器,代表一个独立的脚本,以CUI开头并继承CUIController +* V即View, 视图,代表一个prefab、或GameObject + +CosmosEngine菜单的UI菜单中,提供UI的打包工具,支持把一个UI打包成AssetBundle。 +基于约定由于配置的方式,在使用UIModule时,比如制作了一个UI叫Login登录界面,那么制作UI时命名Login,新建一个脚本CUILogin,并对UI进行打包。那么在CUIModule使用: + +``` +CUIModule.Instance.OpenWindow(); +``` + +由于CosmosEngine中所有资源采用异步加载的方式,因此对UI的脚本调用时使用回调进行的: + +``` +CUIModule.Instance.CallUI(ui=> ui.DoStuff()); +``` + +[回目录](#cn-title) 使用经验 ---------------------------------------------- From 8d218d67cc878214cf9cbd598b8bceb401e77cc0 Mon Sep 17 00:00:00 2001 From: mrkelly Date: Mon, 27 Oct 2014 22:38:10 +0800 Subject: [PATCH 4/5] try markdown --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1b4a731..bd9fd8a 100644 --- a/README.md +++ b/README.md @@ -157,13 +157,13 @@ UI模块主要用于模仿MVC设计模式的V和C层: CosmosEngine菜单的UI菜单中,提供UI的打包工具,支持把一个UI打包成AssetBundle。 基于约定由于配置的方式,在使用UIModule时,比如制作了一个UI叫Login登录界面,那么制作UI时命名Login,新建一个脚本CUILogin,并对UI进行打包。那么在CUIModule使用: -``` +```csharp CUIModule.Instance.OpenWindow(); ``` 由于CosmosEngine中所有资源采用异步加载的方式,因此对UI的脚本调用时使用回调进行的: -``` +```C# CUIModule.Instance.CallUI(ui=> ui.DoStuff()); ``` From d799c8922ed97642d12672ae83d83165b39f6d55 Mon Sep 17 00:00:00 2001 From: mrkelly Date: Mon, 27 Oct 2014 22:39:06 +0800 Subject: [PATCH 5/5] try md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index bd9fd8a..e20ba80 100644 --- a/README.md +++ b/README.md @@ -125,7 +125,7 @@ CosmosEngine有两个基础模块:资源模块和UI模块,它们是底层模 加载一个游戏对象,完成后输出一个日志 方法一: -``` +```c# IEnumerator DoLoad() { var assetLoader = new CAssetLoader("a_obj.unity3d"); @@ -138,7 +138,7 @@ IEnumerator DoLoad() 方法二: -``` +```csharp void DoLoad() { new CAssetLoader("a_obj.unity3d", (obj, args)=>{