├── .gitattributes ├── .gitignore ├── Assets ├── CosmosEngine.meta ├── CosmosEngine │ ├── Demo.meta │ ├── Demo │ │ ├── DemoGame.meta │ │ └── DemoGame │ │ │ ├── Bootstrap.unity │ │ │ ├── Bootstrap.unity.meta │ │ │ ├── CMyGame.cs │ │ │ ├── CMyGame.cs.meta │ │ │ ├── CUIDemoHome.cs │ │ │ └── CUIDemoHome.cs.meta │ ├── Editor.meta │ ├── Editor │ │ ├── CosmosEngineEditor.meta │ │ └── CosmosEngineEditor │ │ │ ├── AlignEditor.meta │ │ │ ├── AlignEditor │ │ │ ├── AlignEditor.cs │ │ │ ├── AlignEditor.cs.meta │ │ │ ├── README.txt │ │ │ └── README.txt.meta │ │ │ ├── CAutoBuilder.cs │ │ │ ├── CAutoBuilder.cs.meta │ │ │ ├── CAutoResourceBuilder.cs │ │ │ ├── CAutoResourceBuilder.cs.meta │ │ │ ├── CBuildTools.cs │ │ │ ├── CBuildTools.cs.meta │ │ │ ├── CCommonProductPrefabExporter.cs │ │ │ ├── CCommonProductPrefabExporter.cs.meta │ │ │ ├── CCosmosEngineConfWindow.cs │ │ │ ├── CCosmosEngineConfWindow.cs.meta │ │ │ ├── CExcelFile.cs │ │ │ ├── CExcelFile.cs.meta │ │ │ ├── CObjectDebuggerEditor.cs │ │ │ ├── CObjectDebuggerEditor.cs.meta │ │ │ ├── CTestTools.cs │ │ │ ├── CTestTools.cs.meta │ │ │ ├── CommandLine.cs │ │ │ ├── CommandLine.cs.meta │ │ │ ├── NPOI.meta │ │ │ ├── NPOI │ │ │ ├── NPOI.OOXML.XML │ │ │ ├── NPOI.OOXML.XML.meta │ │ │ ├── NPOI.OOXML.dll │ │ │ ├── NPOI.OOXML.dll.meta │ │ │ ├── NPOI.OpenXml4Net.XML │ │ │ ├── NPOI.OpenXml4Net.XML.meta │ │ │ ├── NPOI.OpenXml4Net.dll │ │ │ ├── NPOI.OpenXml4Net.dll.meta │ │ │ ├── NPOI.OpenXmlFormats.dll │ │ │ ├── NPOI.OpenXmlFormats.dll.meta │ │ │ ├── NPOI.XML │ │ │ ├── NPOI.XML.meta │ │ │ ├── NPOI.dll │ │ │ └── NPOI.dll.meta │ │ │ ├── Python.meta │ │ │ ├── Python │ │ │ ├── py.exe │ │ │ └── py.exe.meta │ │ │ ├── ResourcesBuild.meta │ │ │ ├── ResourcesBuild │ │ │ ├── CBuild_UGUI.cs │ │ │ └── CBuild_UGUI.cs.meta │ │ │ ├── UnityLock.meta │ │ │ └── UnityLock │ │ │ ├── ReadMe.txt │ │ │ ├── ReadMe.txt.meta │ │ │ ├── UnityLock.cs │ │ │ ├── UnityLock.cs.meta │ │ │ ├── UnityLockHierarchyIcon.png │ │ │ └── UnityLockHierarchyIcon.png.meta │ ├── Scripts.meta │ ├── Scripts │ │ ├── Base.meta │ │ ├── Base │ │ │ ├── CAsync.cs │ │ │ ├── CAsync.cs.meta │ │ │ ├── CAsyncBehaviour.cs │ │ │ ├── CAsyncBehaviour.cs.meta │ │ │ ├── CBehaviour.cs │ │ │ ├── CBehaviour.cs.meta │ │ │ ├── CDebug.cs │ │ │ ├── CDebug.cs.meta │ │ │ ├── CObject.cs │ │ │ └── CObject.cs.meta │ │ ├── BaseModules.meta │ │ ├── BaseModules │ │ │ ├── GameSettings.meta │ │ │ ├── GameSettings │ │ │ │ ├── CGameSettingFiles.cs │ │ │ │ ├── CGameSettingFiles.cs.meta │ │ │ │ ├── CGameSettings.cs │ │ │ │ └── CGameSettings.cs.meta │ │ │ ├── ResourceModule.meta │ │ │ ├── ResourceModule │ │ │ │ ├── CAssetBundleLoader.cs │ │ │ │ ├── CAssetBundleLoader.cs.meta │ │ │ │ ├── CAssetBundleParser.cs │ │ │ │ ├── CAssetBundleParser.cs.meta │ │ │ │ ├── CAssetFileLoader.cs │ │ │ │ ├── CAssetFileLoader.cs.meta │ │ │ │ ├── CAudioLoader.cs │ │ │ │ ├── CAudioLoader.cs.meta │ │ │ │ ├── CBaseResourceLoader.cs │ │ │ │ ├── CBaseResourceLoader.cs.meta │ │ │ │ ├── CFontLoader.cs │ │ │ │ ├── CFontLoader.cs.meta │ │ │ │ ├── CHttpDownloader.cs │ │ │ │ ├── CHttpDownloader.cs.meta │ │ │ │ ├── CInstanceAssetLoader.cs │ │ │ │ ├── CInstanceAssetLoader.cs.meta │ │ │ │ ├── CResourceModule.cs │ │ │ │ ├── CResourceModule.cs.meta │ │ │ │ ├── CResourceModuleDebuggers.cs │ │ │ │ ├── CResourceModuleDebuggers.cs.meta │ │ │ │ ├── CSettingManager.cs │ │ │ │ ├── CSettingManager.cs.meta │ │ │ │ ├── CSpriteLoader.cs │ │ │ │ ├── CSpriteLoader.cs.meta │ │ │ │ ├── CStaticAssetLoader.cs │ │ │ │ ├── CStaticAssetLoader.cs.meta │ │ │ │ ├── CTextureLoader.cs │ │ │ │ ├── CTextureLoader.cs.meta │ │ │ │ ├── CWWWLoader.cs │ │ │ │ └── CWWWLoader.cs.meta │ │ │ ├── UIModule.meta │ │ │ └── UIModule │ │ │ │ ├── CUGUIBridge.cs │ │ │ │ ├── CUGUIBridge.cs.meta │ │ │ │ ├── CUIController.cs │ │ │ │ ├── CUIController.cs.meta │ │ │ │ ├── CUIModule.cs │ │ │ │ ├── CUIModule.cs.meta │ │ │ │ ├── ICUIBridge.cs │ │ │ │ └── ICUIBridge.cs.meta │ │ ├── CCosmosEngine.cs │ │ ├── CCosmosEngine.cs.meta │ │ ├── CCosmosEngineDef.cs │ │ ├── CCosmosEngineDef.cs.meta │ │ ├── CLayerDef.cs │ │ ├── CLayerDef.cs.meta │ │ ├── ICModule.cs │ │ ├── ICModule.cs.meta │ │ ├── Lib.meta │ │ ├── Lib │ │ │ ├── 7zip.meta │ │ │ ├── 7zip │ │ │ │ ├── Common.meta │ │ │ │ ├── Common │ │ │ │ │ ├── CRC.cs │ │ │ │ │ ├── CRC.cs.meta │ │ │ │ │ ├── CommandLineParser.cs │ │ │ │ │ ├── CommandLineParser.cs.meta │ │ │ │ │ ├── InBuffer.cs │ │ │ │ │ ├── InBuffer.cs.meta │ │ │ │ │ ├── OutBuffer.cs │ │ │ │ │ └── OutBuffer.cs.meta │ │ │ │ ├── Compress.meta │ │ │ │ ├── Compress │ │ │ │ │ ├── LZ.meta │ │ │ │ │ ├── LZ │ │ │ │ │ │ ├── IMatchFinder.cs │ │ │ │ │ │ ├── IMatchFinder.cs.meta │ │ │ │ │ │ ├── LzBinTree.cs │ │ │ │ │ │ ├── LzBinTree.cs.meta │ │ │ │ │ │ ├── LzInWindow.cs │ │ │ │ │ │ ├── LzInWindow.cs.meta │ │ │ │ │ │ ├── LzOutWindow.cs │ │ │ │ │ │ └── LzOutWindow.cs.meta │ │ │ │ │ ├── LZMA.meta │ │ │ │ │ ├── LZMA │ │ │ │ │ │ ├── LzmaBase.cs │ │ │ │ │ │ ├── LzmaBase.cs.meta │ │ │ │ │ │ ├── LzmaDecoder.cs │ │ │ │ │ │ ├── LzmaDecoder.cs.meta │ │ │ │ │ │ ├── LzmaEncoder.cs │ │ │ │ │ │ └── LzmaEncoder.cs.meta │ │ │ │ │ ├── LzmaAlone.meta │ │ │ │ │ ├── LzmaAlone │ │ │ │ │ │ ├── LzmaAlone.cs │ │ │ │ │ │ ├── LzmaAlone.cs.meta │ │ │ │ │ │ ├── LzmaBench.cs │ │ │ │ │ │ ├── LzmaBench.cs.meta │ │ │ │ │ │ ├── Properties.meta │ │ │ │ │ │ └── Properties │ │ │ │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ │ │ │ ├── AssemblyInfo.cs.meta │ │ │ │ │ │ │ ├── Resources.cs │ │ │ │ │ │ │ └── Resources.cs.meta │ │ │ │ │ ├── RangeCoder.meta │ │ │ │ │ └── RangeCoder │ │ │ │ │ │ ├── RangeCoder.cs │ │ │ │ │ │ ├── RangeCoder.cs.meta │ │ │ │ │ │ ├── RangeCoderBit.cs │ │ │ │ │ │ ├── RangeCoderBit.cs.meta │ │ │ │ │ │ ├── RangeCoderBitTree.cs │ │ │ │ │ │ └── RangeCoderBitTree.cs.meta │ │ │ │ ├── ICoder.cs │ │ │ │ └── ICoder.cs.meta │ │ │ ├── CosmosTable.meta │ │ │ ├── CosmosTable │ │ │ │ ├── TabFileWriter.cs │ │ │ │ ├── TabFileWriter.cs.meta │ │ │ │ ├── TableFile.cs │ │ │ │ ├── TableFile.cs.meta │ │ │ │ ├── TableRowInfo.cs │ │ │ │ └── TableRowInfo.cs.meta │ │ │ ├── SimpleJson.cs │ │ │ ├── SimpleJson.cs.meta │ │ │ ├── TextureScaler.cs │ │ │ └── TextureScaler.cs.meta │ │ ├── Utils.meta │ │ └── Utils │ │ │ ├── CActionRecord.cs │ │ │ ├── CActionRecord.cs.meta │ │ │ ├── CCrypt.cs │ │ │ ├── CCrypt.cs.meta │ │ │ ├── CExtensions.cs │ │ │ ├── CExtensions.cs.meta │ │ │ ├── CFiber.cs │ │ │ ├── CFiber.cs.meta │ │ │ ├── CFileCacheList.cs │ │ │ ├── CFileCacheList.cs.meta │ │ │ ├── CHook.cs │ │ │ ├── CHook.cs.meta │ │ │ ├── CLzmaTool.cs │ │ │ ├── CLzmaTool.cs.meta │ │ │ ├── CObjectPool.cs │ │ │ ├── CObjectPool.cs.meta │ │ │ ├── CPrefs.cs │ │ │ ├── CPrefs.cs.meta │ │ │ ├── CSingleton.cs │ │ │ ├── CSingleton.cs.meta │ │ │ ├── CStateMachine.cs │ │ │ ├── CStateMachine.cs.meta │ │ │ ├── CTabFile.cs │ │ │ ├── CTabFile.cs.meta │ │ │ ├── CTabReader.cs │ │ │ ├── CTabReader.cs.meta │ │ │ ├── CTool.cs │ │ │ ├── CTool.cs.meta │ │ │ ├── CUnityObjectPool.cs │ │ │ ├── CUnityObjectPool.cs.meta │ │ │ ├── CWaitCo.cs │ │ │ ├── CWaitCo.cs.meta │ │ │ ├── ICTabReadble.cs │ │ │ └── ICTabReadble.cs.meta │ ├── Tests.meta │ └── Tests │ │ ├── CFiber.meta │ │ └── CFiber │ │ ├── CFiber(SuperCoroutine).unity │ │ ├── CFiber(SuperCoroutine).unity.meta │ │ ├── CFiber_Demo.cs │ │ └── CFiber_Demo.cs.meta ├── Plugins.meta ├── Plugins │ └── CosmosEngine.meta ├── Resources.meta ├── Resources │ ├── CEngineConfig.txt │ ├── CEngineConfig.txt.meta │ ├── UI.meta │ └── UI │ │ ├── DemoHome_UI.prefab │ │ └── DemoHome_UI.prefab.meta ├── StreamingAssets.meta ├── StreamingAssets │ ├── Android.meta │ ├── Android │ │ ├── UI.meta │ │ └── UI │ │ │ ├── DemoHome_UI.unity3d │ │ │ └── DemoHome_UI.unity3d.meta │ ├── Win32.meta │ └── Win32 │ │ ├── UI.meta │ │ └── UI │ │ ├── DemoHome_UI.unity3d │ │ └── DemoHome_UI.unity3d.meta ├── UnityVS.meta ├── _ResourcesBuild_.meta └── _ResourcesBuild_ │ ├── UI.meta │ └── UI │ ├── DemoHome.unity │ ├── DemoHome.unity.meta │ ├── Textures.meta │ └── Textures │ ├── button_green.png │ ├── button_green.png.meta │ ├── button_green_border.png │ ├── button_green_border.png.meta │ ├── button_red.png │ ├── button_red.png.meta │ ├── button_yellow.png │ └── button_yellow.png.meta ├── CosmosEngineStructure.png ├── Docs ├── Workflow.png ├── Workflow.xmind ├── structure.vsdx ├── ui_module.png ├── ui_module.vsdx └── ~$$ui_module.~vsdx ├── Product └── setting │ └── test_tab.bytes ├── ProjectSettings ├── AudioManager.asset ├── DynamicsManager.asset ├── EditorBuildSettings.asset ├── EditorSettings.asset ├── GraphicsSettings.asset ├── InputManager.asset ├── NavMeshLayers.asset ├── NetworkManager.asset ├── Physics2DSettings.asset ├── ProjectSettings.asset ├── QualitySettings.asset ├── TagManager.asset └── TimeManager.asset └── README.md /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | *.sln merge=union 7 | *.csproj merge=union 8 | *.vbproj merge=union 9 | *.fsproj merge=union 10 | *.dbproj merge=union 11 | 12 | # Standard to msysgit 13 | *.doc diff=astextplain 14 | *.DOC diff=astextplain 15 | *.docx diff=astextplain 16 | *.DOCX diff=astextplain 17 | *.dot diff=astextplain 18 | *.DOT diff=astextplain 19 | *.pdf diff=astextplain 20 | *.PDF diff=astextplain 21 | *.rtf diff=astextplain 22 | *.RTF diff=astextplain 23 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.suo 2 | /Temp 3 | /Library 4 | /obj 5 | /UnityVS.CosmosEngineBootstrap.sln.DotSettings 6 | /SyncFromClient.bat 7 | /UnityVS.CosmosEngineBootstrap.CSharp.csproj 8 | /UnityVS.CosmosEngineBootstrap.CSharp.Editor.csproj 9 | /UnityVS.CosmosEngineBootstrap.CSharp.Plugins.csproj 10 | /UnityVS.CosmosEngineBootstrap.sln 11 | /PushToClient.bat 12 | /Assets/UnityVS 13 | /UnityVS.CosmosEngine.CSharp.Editor.csproj 14 | /UnityVS.CosmosEngine.CSharp.Plugins.csproj 15 | /UnityVS.CosmosEngine.CSharp.csproj 16 | /UnityVS.CosmosEngine.sln 17 | /UnityVS.CosmosEngine.sln.DotSettings 18 | /UnityVS.CosmosEngine.v11.suo 19 | /Assets/Resources/NGUIShaders 20 | /Assets/Resources/NGUIShaders.meta 21 | /Assets/NGUI 22 | /Assets/AssetStoreTools 23 | /Assets/AssetStoreTools.meta 24 | /Assets/NGUI.meta 25 | /Assets/Packages 26 | /Assets/Packages.meta 27 | /Assets/Plugins/NGUI.meta 28 | /Assets/Plugins/NGUI/Resources.meta 29 | /Assets/Plugins/NGUI/Resources/NGUIShaders.meta 30 | /Assets/Plugins/NGUI/Scripts.meta 31 | /Assets/Plugins/NGUI/Scripts/Interaction.meta 32 | /Assets/Plugins/NGUI/Scripts/Internal.meta 33 | /Assets/Plugins/NGUI/Scripts/Tweening.meta 34 | /Assets/Plugins/NGUI/Scripts/UI.meta 35 | /SyncFromClient2.bat 36 | *SyncToy* 37 | _gsdata_ 38 | /Assembly-CSharp-Editor-vs.csproj 39 | /Assembly-CSharp-Editor.csproj 40 | /Assembly-CSharp-vs.csproj 41 | /Assembly-CSharp.csproj 42 | /CosmosEngineBootstrap-csharp.sln 43 | /CosmosEngineBootstrap.sln 44 | /UnityVS.CosmosEngineBootstrap.CSharp.Editor.Plugins.csproj 45 | /UnityVS.CosmosEngineBootstrap.v11.suo 46 | /logs 47 | -------------------------------------------------------------------------------- /Assets/CosmosEngine.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eb0e94ea5c734a1429940685e6417182 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /Assets/CosmosEngine/Demo.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 76890f5cea89b164d9ab5f493f28d411 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /Assets/CosmosEngine/Demo/DemoGame.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5d2c793610471774ebdeadfd04a70f04 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /Assets/CosmosEngine/Demo/DemoGame/Bootstrap.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aab0c62e6eb363c49a8e4ca0034302c2 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/CosmosEngine/Demo/DemoGame/CMyGame.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // CosmosEngine - The Lightweight Unity3D Game Develop Framework 4 | // 5 | // Version 0.9.1 (20151010) 6 | // Copyright © 2011-2015 7 | // MrKelly <23110388@qq.com> 8 | // https://github.com/mr-kelly/CosmosEngine 9 | // 10 | //------------------------------------------------------------------------------ 11 | using System; 12 | using UnityEngine; 13 | using System.Collections; 14 | using CosmosEngine; 15 | using System.IO; 16 | 17 | public class CMyGame : MonoBehaviour 18 | { 19 | void Awake() 20 | { 21 | CGameSettings.Instance.InitAction += OnGameSettingsInit; 22 | 23 | CCosmosEngine.New( 24 | gameObject, 25 | new ICModule[] { 26 | CGameSettings.Instance, 27 | }, 28 | null, 29 | null); 30 | 31 | CUIModule.Instance.OpenWindow(); 32 | 33 | CUIModule.Instance.CallUI(ui => { 34 | 35 | // Do some UI stuff 36 | 37 | }); 38 | } 39 | 40 | void OnGameSettingsInit() 41 | { 42 | CGameSettings _ = CGameSettings.Instance; 43 | 44 | CDebug.Log("Begin Load tab file..."); 45 | 46 | //var tabContent = File.ReadAllText("Assets/" + CCosmosEngine.GetConfig("ProductRelPath") + "/setting/test_tab.bytes"); 47 | //var path = CResourceModule.GetResourceFullPath("/setting/test_tab.bytes"); 48 | var tabContent = File.ReadAllText(Application.dataPath + "/" + CCosmosEngine.GetConfig("ProductRelPath") + "/setting/test_tab.bytes"); 49 | _.LoadTab(tabContent); 50 | CDebug.Log("Output the tab file..."); 51 | foreach (CTestTabInfo info in _.GetInfos()) 52 | { 53 | CDebug.Log("Id:{0}, Name: {1}", info.Id, info.Name); 54 | } 55 | 56 | } 57 | } 58 | 59 | public class CTestTabInfo : CBaseInfo 60 | { 61 | // Id auto inherit 62 | public string Name; 63 | } 64 | -------------------------------------------------------------------------------- /Assets/CosmosEngine/Demo/DemoGame/CMyGame.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f10defc853958a745a83a235b0330caf 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Assets/CosmosEngine/Demo/DemoGame/CUIDemoHome.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // CosmosEngine - The Lightweight Unity3D Game Develop Framework 4 | // 5 | // Version 0.9.1 (20151010) 6 | // Copyright © 2011-2015 7 | // MrKelly <23110388@qq.com> 8 | // https://github.com/mr-kelly/CosmosEngine 9 | // 10 | //------------------------------------------------------------------------------ 11 | using UnityEngine; 12 | using System.Collections; 13 | using UnityEngine.UI; 14 | 15 | /// 16 | /// A script class that auto AddComponent to the UI AssetBundle(or Prefab) 17 | /// 18 | public class CUIDemoHome : CUIController 19 | { 20 | Button Button1; 21 | private Text HomeLabel; 22 | public override void OnInit() 23 | { 24 | base.OnInit(); 25 | 26 | Button1 = GetControl