├── .gitattributes ├── .gitignore ├── Assets ├── GUI.meta ├── GUI │ ├── Box.meta │ ├── Box │ │ ├── Bevel_FaceBox.png │ │ ├── Bevel_FaceBox.png.meta │ │ ├── Border_FaceBox.png │ │ ├── Border_FaceBox.png.meta │ │ ├── RectangularR40.png │ │ ├── RectangularR40.png.meta │ │ ├── Round.png │ │ ├── Round.png.meta │ │ ├── Shadow_FaceBoxElement.png │ │ └── Shadow_FaceBoxElement.png.meta │ ├── Icon.meta │ ├── Icon │ │ ├── Icon_Element.meta │ │ ├── Icon_Element │ │ │ ├── Icon_ElementDark.png │ │ │ ├── Icon_ElementDark.png.meta │ │ │ ├── Icon_ElementEarth.png │ │ │ ├── Icon_ElementEarth.png.meta │ │ │ ├── Icon_ElementFire.png │ │ │ ├── Icon_ElementFire.png.meta │ │ │ ├── Icon_ElementIce.png │ │ │ ├── Icon_ElementIce.png.meta │ │ │ ├── Icon_ElementLight.png │ │ │ ├── Icon_ElementLight.png.meta │ │ │ ├── Icon_ElementMetal.png │ │ │ └── Icon_ElementMetal.png.meta │ │ ├── Icon_Sex.meta │ │ ├── Icon_Sex │ │ │ ├── Icon_SexFemale.png │ │ │ ├── Icon_SexFemale.png.meta │ │ │ ├── Icon_SexMale.png │ │ │ └── Icon_SexMale.png.meta │ │ ├── Icon_Weapon.meta │ │ └── Icon_Weapon │ │ │ ├── Icon_WeaponAxe.png │ │ │ ├── Icon_WeaponAxe.png.meta │ │ │ ├── Icon_WeaponBow.png │ │ │ ├── Icon_WeaponBow.png.meta │ │ │ ├── Icon_WeaponGun.png │ │ │ ├── Icon_WeaponGun.png.meta │ │ │ ├── Icon_WeaponRod.png │ │ │ ├── Icon_WeaponRod.png.meta │ │ │ ├── Icon_WeaponSpear.png │ │ │ ├── Icon_WeaponSpear.png.meta │ │ │ ├── Icon_WeaponSword.png │ │ │ └── Icon_WeaponSword.png.meta │ ├── Mob.meta │ └── Mob │ │ ├── Avatar201_Face.png │ │ ├── Avatar201_Face.png.meta │ │ ├── Avatar201_Pose.png │ │ ├── Avatar201_Pose.png.meta │ │ ├── Avatar202_Face.png │ │ ├── Avatar202_Face.png.meta │ │ ├── Avatar202_Pose.png │ │ ├── Avatar202_Pose.png.meta │ │ ├── Avatar203_Face.png │ │ ├── Avatar203_Face.png.meta │ │ ├── Avatar203_Pose.png │ │ ├── Avatar203_Pose.png.meta │ │ ├── Avatar204_Face.png │ │ ├── Avatar204_Face.png.meta │ │ ├── Avatar204_Pose.png │ │ ├── Avatar204_Pose.png.meta │ │ ├── Avatar205_Face.png │ │ ├── Avatar205_Face.png.meta │ │ ├── Avatar205_Pose.png │ │ └── Avatar205_Pose.png.meta ├── Plugins.meta ├── Plugins │ ├── DOTween.meta │ └── DOTween │ │ ├── DOTween.XML │ │ ├── DOTween.XML.meta │ │ ├── DOTween.dll │ │ ├── DOTween.dll.mdb │ │ ├── DOTween.dll.mdb.meta │ │ ├── DOTween.dll.meta │ │ ├── DOTween43.dll │ │ ├── DOTween43.dll.mdb │ │ ├── DOTween43.dll.mdb.meta │ │ ├── DOTween43.dll.meta │ │ ├── DOTween43.xml │ │ ├── DOTween43.xml.meta │ │ ├── DOTween46.dll │ │ ├── DOTween46.dll.mdb │ │ ├── DOTween46.dll.mdb.meta │ │ ├── DOTween46.dll.meta │ │ ├── DOTween46.xml │ │ ├── DOTween46.xml.meta │ │ ├── DOTween50.dll │ │ ├── DOTween50.dll.mdb │ │ ├── DOTween50.dll.mdb.meta │ │ ├── DOTween50.dll.meta │ │ ├── DOTween50.xml │ │ ├── DOTween50.xml.meta │ │ ├── Editor.meta │ │ ├── Editor │ │ ├── DOTweenEditor.XML │ │ ├── DOTweenEditor.XML.meta │ │ ├── DOTweenEditor.dll │ │ ├── DOTweenEditor.dll.mdb │ │ ├── DOTweenEditor.dll.mdb.meta │ │ ├── DOTweenEditor.dll.meta │ │ ├── Imgs.meta │ │ └── Imgs │ │ │ ├── DOTweenIcon.png │ │ │ ├── DOTweenIcon.png.meta │ │ │ ├── Footer.png │ │ │ ├── Footer.png.meta │ │ │ ├── Footer_dark.png │ │ │ ├── Footer_dark.png.meta │ │ │ ├── Header.jpg │ │ │ └── Header.jpg.meta │ │ ├── readme.txt │ │ └── readme.txt.meta ├── Prefab.meta ├── Prefab │ ├── FaceBox_Unit.controller │ ├── FaceBox_Unit.controller.meta │ ├── FaceBox_Unit.prefab │ └── FaceBox_Unit.prefab.meta ├── Resources.meta ├── Resources │ ├── DOTweenSettings.asset │ └── DOTweenSettings.asset.meta ├── Scenes.meta ├── Scenes │ ├── DataBind.unity │ ├── DataBind.unity.meta │ ├── FaceBox.unity │ ├── FaceBox.unity.meta │ ├── LogMultiStrategy.unity │ ├── LogMultiStrategy.unity.meta │ ├── Network.unity │ ├── Network.unity.meta │ ├── ObservableList.unity │ ├── ObservableList.unity.meta │ ├── ThreadCoroutine.unity │ ├── ThreadCoroutine.unity.meta │ ├── ThreadDispatcher.unity │ └── ThreadDispatcher.unity.meta ├── Sources.meta └── Sources │ ├── Core.meta │ ├── Core │ ├── DataBinding.meta │ ├── DataBinding │ │ ├── BindableProperty.cs │ │ ├── BindableProperty.cs.meta │ │ ├── ObservableList.cs │ │ ├── ObservableList.cs.meta │ │ ├── PropertyBinder.cs │ │ ├── PropertyBinder.cs.meta │ │ ├── ViewModelBase.cs │ │ ├── ViewModelBase.cs.meta │ │ ├── ViewModelBaseExtensions.cs │ │ └── ViewModelBaseExtensions.cs.meta │ ├── Factory.meta │ ├── Factory │ │ ├── FactoryType.cs │ │ ├── FactoryType.cs.meta │ │ ├── IObjectFactory.cs │ │ ├── IObjectFactory.cs.meta │ │ ├── PoolObjectFactory.cs │ │ ├── PoolObjectFactory.cs.meta │ │ ├── SingletonObjectFactory.cs │ │ ├── SingletonObjectFactory.cs.meta │ │ ├── TransientObjectFactory.cs │ │ └── TransientObjectFactory.cs.meta │ ├── Infrastructure.meta │ ├── Infrastructure │ │ ├── HexConverter.cs │ │ ├── HexConverter.cs.meta │ │ ├── HttpMethod.cs │ │ ├── HttpMethod.cs.meta │ │ ├── HttpUtility.cs │ │ ├── HttpUtility.cs.meta │ │ ├── ISerializer.cs │ │ ├── ISerializer.cs.meta │ │ ├── MD5Helper.cs │ │ ├── MD5Helper.cs.meta │ │ ├── RepositoryKey.cs │ │ ├── RepositoryKey.cs.meta │ │ ├── Response.cs │ │ ├── Response.cs.meta │ │ ├── SQLite.cs │ │ ├── SQLite.cs.meta │ │ ├── SerializerJson.cs │ │ ├── SerializerJson.cs.meta │ │ ├── SerializerXml.cs │ │ ├── SerializerXml.cs.meta │ │ ├── Singleton.cs │ │ ├── Singleton.cs.meta │ │ ├── TokenHelper.cs │ │ ├── TokenHelper.cs.meta │ │ ├── TypeFinder.cs │ │ └── TypeFinder.cs.meta │ ├── Inject.meta │ ├── Inject │ │ ├── ServiceLocator.cs │ │ └── ServiceLocator.cs.meta │ ├── Log.meta │ ├── Log │ │ ├── ConsoleContentWriter.cs │ │ ├── ConsoleContentWriter.cs.meta │ │ ├── ConsoleLogStrategy.cs │ │ ├── ConsoleLogStrategy.cs.meta │ │ ├── DatabaseContentWriter.cs │ │ ├── DatabaseContentWriter.cs.meta │ │ ├── DatabaseLogStrategy.cs │ │ ├── DatabaseLogStrategy.cs.meta │ │ ├── FileContentWriter.cs │ │ ├── FileContentWriter.cs.meta │ │ ├── FileLogStrategy.cs │ │ ├── FileLogStrategy.cs.meta │ │ ├── IContentWriter.cs │ │ ├── IContentWriter.cs.meta │ │ ├── LogFactory.cs │ │ ├── LogFactory.cs.meta │ │ ├── LogStrategy.cs │ │ └── LogStrategy.cs.meta │ ├── Message.meta │ ├── Message │ │ ├── MessageAggregator.cs │ │ ├── MessageAggregator.cs.meta │ │ ├── MessageArgs.cs │ │ └── MessageArgs.cs.meta │ ├── Network.meta │ ├── Network │ │ ├── HttpClient.cs │ │ ├── HttpClient.cs.meta │ │ ├── HttpRequest.cs │ │ ├── HttpRequest.cs.meta │ │ ├── HttpResponse.cs │ │ ├── HttpResponse.cs.meta │ │ ├── HttpTool.cs │ │ └── HttpTool.cs.meta │ ├── Proxy.meta │ ├── Proxy │ │ ├── IInvocationHandler.cs │ │ ├── IInvocationHandler.cs.meta │ │ ├── LogInvocationHandler.cs │ │ ├── LogInvocationHandler.cs.meta │ │ ├── Proxy.cs │ │ └── Proxy.cs.meta │ ├── Repository.meta │ ├── Repository │ │ ├── DbRepository.cs │ │ ├── DbRepository.cs.meta │ │ ├── FileSystemRepository.cs │ │ ├── FileSystemRepository.cs.meta │ │ ├── IRepository.cs │ │ ├── IRepository.cs.meta │ │ ├── MemoryRepository.cs │ │ ├── MemoryRepository.cs.meta │ │ ├── PlayerPrefsRepository.cs │ │ ├── PlayerPrefsRepository.cs.meta │ │ ├── RemoteRepository.cs │ │ ├── RemoteRepository.cs.meta │ │ ├── UnityResourcesRepository.cs │ │ └── UnityResourcesRepository.cs.meta │ ├── Thread.meta │ ├── Thread │ │ ├── DispatcherTest.cs │ │ ├── DispatcherTest.cs.meta │ │ ├── ThreadJob.cs │ │ ├── ThreadJob.cs.meta │ │ ├── ThreadJobTest.cs │ │ ├── ThreadJobTest.cs.meta │ │ ├── UnityDispatcher.cs │ │ └── UnityDispatcher.cs.meta │ ├── View.meta │ └── View │ │ ├── IView.cs │ │ ├── IView.cs.meta │ │ ├── UnityGuiView.cs │ │ └── UnityGuiView.cs.meta │ ├── Infrastructure.meta │ ├── Infrastructure │ ├── ClanInstall.cs │ ├── ClanInstall.cs.meta │ ├── FaceBoxInstall.cs │ ├── FaceBoxInstall.cs.meta │ ├── GlobalSettings.cs │ ├── GlobalSettings.cs.meta │ ├── Install.cs │ └── Install.cs.meta │ ├── Models.meta │ ├── Models │ ├── Badge.cs │ ├── Badge.cs.meta │ ├── Combatant.cs │ ├── Combatant.cs.meta │ ├── FaceBox.cs │ ├── FaceBox.cs.meta │ ├── Identity.cs │ ├── Identity.cs.meta │ ├── User.cs │ └── User.cs.meta │ ├── Repositories.meta │ ├── Repositories │ ├── IUnitRepository.cs │ ├── IUnitRepository.cs.meta │ ├── IUserRepository.cs │ ├── IUserRepository.cs.meta │ ├── UnitRepository.cs │ ├── UnitRepository.cs.meta │ ├── UserRepository.cs │ └── UserRepository.cs.meta │ ├── ViewModels.meta │ ├── ViewModels │ ├── BadgeViewModel.cs │ ├── BadgeViewModel.cs.meta │ ├── ClanViewModel.cs │ ├── ClanViewModel.cs.meta │ ├── FaceBoxViewModel.cs │ ├── FaceBoxViewModel.cs.meta │ ├── SetupViewModel.cs │ ├── SetupViewModel.cs.meta │ ├── TestViewModel.cs │ └── TestViewModel.cs.meta │ ├── Views.meta │ └── Views │ ├── BadgeView.cs │ ├── BadgeView.cs.meta │ ├── ClanView.cs │ ├── ClanView.cs.meta │ ├── FaceBoxView.cs │ ├── FaceBoxView.cs.meta │ ├── LogMultiStrategyTest.cs │ ├── LogMultiStrategyTest.cs.meta │ ├── NetworkView.cs │ ├── NetworkView.cs.meta │ ├── SetupView.cs │ ├── SetupView.cs.meta │ ├── TestView.cs │ └── TestView.cs.meta ├── LICENSE ├── ProjectSettings ├── AudioManager.asset ├── ClusterInputManager.asset ├── DynamicsManager.asset ├── EditorBuildSettings.asset ├── EditorSettings.asset ├── GraphicsSettings.asset ├── InputManager.asset ├── NavMeshAreas.asset ├── NetworkManager.asset ├── Physics2DSettings.asset ├── ProjectSettings.asset ├── ProjectVersion.txt ├── QualitySettings.asset ├── TagManager.asset ├── TimeManager.asset └── UnityConnectSettings.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 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /[Ll]ibrary/ 2 | /[Tt]emp/ 3 | /[Oo]bj/ 4 | /[Bb]uild/ 5 | /[Bb]uilds/ 6 | [Pp]ackages/ 7 | /Assets/AssetStoreTools* 8 | 9 | # Autogenerated VS/MD solution and project files 10 | ExportedObj/ 11 | *.csproj 12 | *.unityproj 13 | *.sln 14 | *.suo 15 | *.tmp 16 | *.user 17 | *.userprefs 18 | *.pidb 19 | *.booproj 20 | *.svd 21 | 22 | 23 | # Unity3D generated meta files 24 | *.pidb.meta 25 | 26 | # Unity3D Generated File On Crash Reports 27 | sysinfo.txt 28 | -------------------------------------------------------------------------------- /Assets/GUI.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: af9d9c8244198c946bcf8f3beb7a8123 3 | folderAsset: yes 4 | timeCreated: 1490596094 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/GUI/Box.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cc9f15ef148772c4d9ea6c24c69c8dae 3 | folderAsset: yes 4 | timeCreated: 1490596155 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/GUI/Box/Bevel_FaceBox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/GUI/Box/Bevel_FaceBox.png -------------------------------------------------------------------------------- /Assets/GUI/Box/Bevel_FaceBox.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 606f72a08534a0a4d8008a9cee1d6614 3 | timeCreated: 1490596272 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: 1 34 | nPOTScale: 0 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 1 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 1 46 | spriteTessellationDetail: -1 47 | textureType: 8 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | - buildTarget: Standalone 62 | maxTextureSize: 2048 63 | textureFormat: -1 64 | textureCompression: 1 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | - buildTarget: Android 70 | maxTextureSize: 2048 71 | textureFormat: -1 72 | textureCompression: 1 73 | compressionQuality: 50 74 | crunchedCompression: 0 75 | allowsAlphaSplitting: 0 76 | overridden: 0 77 | spriteSheet: 78 | serializedVersion: 2 79 | sprites: [] 80 | outline: [] 81 | spritePackingTag: 82 | userData: 83 | assetBundleName: 84 | assetBundleVariant: 85 | -------------------------------------------------------------------------------- /Assets/GUI/Box/Border_FaceBox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/GUI/Box/Border_FaceBox.png -------------------------------------------------------------------------------- /Assets/GUI/Box/Border_FaceBox.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d541917b54fefd5448a8079a6df3f879 3 | timeCreated: 1490596300 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: 1 34 | nPOTScale: 0 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 1 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 1 46 | spriteTessellationDetail: -1 47 | textureType: 8 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | - buildTarget: Standalone 62 | maxTextureSize: 2048 63 | textureFormat: -1 64 | textureCompression: 1 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | - buildTarget: Android 70 | maxTextureSize: 2048 71 | textureFormat: -1 72 | textureCompression: 1 73 | compressionQuality: 50 74 | crunchedCompression: 0 75 | allowsAlphaSplitting: 0 76 | overridden: 0 77 | spriteSheet: 78 | serializedVersion: 2 79 | sprites: [] 80 | outline: [] 81 | spritePackingTag: 82 | userData: 83 | assetBundleName: 84 | assetBundleVariant: 85 | -------------------------------------------------------------------------------- /Assets/GUI/Box/RectangularR40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/GUI/Box/RectangularR40.png -------------------------------------------------------------------------------- /Assets/GUI/Box/RectangularR40.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f7c8a1610fb03af40882d49ad7e238a2 3 | timeCreated: 1490596168 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: 1 34 | nPOTScale: 0 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 1 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 1 46 | spriteTessellationDetail: -1 47 | textureType: 8 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | - buildTarget: Standalone 62 | maxTextureSize: 2048 63 | textureFormat: -1 64 | textureCompression: 1 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | - buildTarget: Android 70 | maxTextureSize: 2048 71 | textureFormat: -1 72 | textureCompression: 1 73 | compressionQuality: 50 74 | crunchedCompression: 0 75 | allowsAlphaSplitting: 0 76 | overridden: 0 77 | spriteSheet: 78 | serializedVersion: 2 79 | sprites: [] 80 | outline: [] 81 | spritePackingTag: 82 | userData: 83 | assetBundleName: 84 | assetBundleVariant: 85 | -------------------------------------------------------------------------------- /Assets/GUI/Box/Round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/GUI/Box/Round.png -------------------------------------------------------------------------------- /Assets/GUI/Box/Round.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 173d79be83cda1744938d2d9db31ebcc 3 | timeCreated: 1490596694 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: 1 34 | nPOTScale: 0 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 1 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 1 46 | spriteTessellationDetail: -1 47 | textureType: 8 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | - buildTarget: Standalone 62 | maxTextureSize: 2048 63 | textureFormat: -1 64 | textureCompression: 1 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | - buildTarget: Android 70 | maxTextureSize: 2048 71 | textureFormat: -1 72 | textureCompression: 1 73 | compressionQuality: 50 74 | crunchedCompression: 0 75 | allowsAlphaSplitting: 0 76 | overridden: 0 77 | spriteSheet: 78 | serializedVersion: 2 79 | sprites: [] 80 | outline: [] 81 | spritePackingTag: 82 | userData: 83 | assetBundleName: 84 | assetBundleVariant: 85 | -------------------------------------------------------------------------------- /Assets/GUI/Box/Shadow_FaceBoxElement.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/GUI/Box/Shadow_FaceBoxElement.png -------------------------------------------------------------------------------- /Assets/GUI/Box/Shadow_FaceBoxElement.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b57d363c45a463f4c9f5d241c6a9ab3d 3 | timeCreated: 1490596335 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: 1 34 | nPOTScale: 0 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 1 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 1 46 | spriteTessellationDetail: -1 47 | textureType: 8 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | - buildTarget: Standalone 62 | maxTextureSize: 2048 63 | textureFormat: -1 64 | textureCompression: 1 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | - buildTarget: Android 70 | maxTextureSize: 2048 71 | textureFormat: -1 72 | textureCompression: 1 73 | compressionQuality: 50 74 | crunchedCompression: 0 75 | allowsAlphaSplitting: 0 76 | overridden: 0 77 | spriteSheet: 78 | serializedVersion: 2 79 | sprites: [] 80 | outline: [] 81 | spritePackingTag: 82 | userData: 83 | assetBundleName: 84 | assetBundleVariant: 85 | -------------------------------------------------------------------------------- /Assets/GUI/Icon.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 46378a76c6d1ac1429eb9d61ae7054a1 3 | folderAsset: yes 4 | timeCreated: 1490596607 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/GUI/Icon/Icon_Element.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3072e45b94556c7428b08f3e8bc97d39 3 | folderAsset: yes 4 | timeCreated: 1490596632 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/GUI/Icon/Icon_Element/Icon_ElementDark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/GUI/Icon/Icon_Element/Icon_ElementDark.png -------------------------------------------------------------------------------- /Assets/GUI/Icon/Icon_Element/Icon_ElementDark.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7e71b3176f15448de9609b9e11cd54b9 3 | timeCreated: 1470195666 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 1 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 1 49 | textureType: 8 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/GUI/Icon/Icon_Element/Icon_ElementEarth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/GUI/Icon/Icon_Element/Icon_ElementEarth.png -------------------------------------------------------------------------------- /Assets/GUI/Icon/Icon_Element/Icon_ElementEarth.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eee7b5cc7f39d411c80dd268bf7a5b1e 3 | timeCreated: 1470195667 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 1 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 1 49 | textureType: 8 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/GUI/Icon/Icon_Element/Icon_ElementFire.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/GUI/Icon/Icon_Element/Icon_ElementFire.png -------------------------------------------------------------------------------- /Assets/GUI/Icon/Icon_Element/Icon_ElementFire.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9df50e678e18849f8bb243b249e2d2a3 3 | timeCreated: 1470195667 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 1 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 1 49 | textureType: 8 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/GUI/Icon/Icon_Element/Icon_ElementIce.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/GUI/Icon/Icon_Element/Icon_ElementIce.png -------------------------------------------------------------------------------- /Assets/GUI/Icon/Icon_Element/Icon_ElementIce.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7c540e0189d38421b8ab29e6193bc760 3 | timeCreated: 1470195666 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 1 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 1 49 | textureType: 8 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/GUI/Icon/Icon_Element/Icon_ElementLight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/GUI/Icon/Icon_Element/Icon_ElementLight.png -------------------------------------------------------------------------------- /Assets/GUI/Icon/Icon_Element/Icon_ElementLight.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8d988a4f68c914f32a7384e7bdb0733e 3 | timeCreated: 1470195666 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 1 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 1 49 | textureType: 8 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/GUI/Icon/Icon_Element/Icon_ElementMetal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/GUI/Icon/Icon_Element/Icon_ElementMetal.png -------------------------------------------------------------------------------- /Assets/GUI/Icon/Icon_Element/Icon_ElementMetal.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d27b0b5a560b649a885ab544a29ac5e0 3 | timeCreated: 1470195667 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 1 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 1 49 | textureType: 8 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/GUI/Icon/Icon_Sex.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c27e3c75271666c4cad7d923472a1fe3 3 | folderAsset: yes 4 | timeCreated: 1490596632 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/GUI/Icon/Icon_Sex/Icon_SexFemale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/GUI/Icon/Icon_Sex/Icon_SexFemale.png -------------------------------------------------------------------------------- /Assets/GUI/Icon/Icon_Sex/Icon_SexFemale.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2dbfa4760dde7479bab4813c0561342a 3 | timeCreated: 1470234770 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 1 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 1 49 | textureType: 8 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/GUI/Icon/Icon_Sex/Icon_SexMale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/GUI/Icon/Icon_Sex/Icon_SexMale.png -------------------------------------------------------------------------------- /Assets/GUI/Icon/Icon_Sex/Icon_SexMale.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eccda6de0973e4a45b2d5ceea4567db1 3 | timeCreated: 1470234770 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 1 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 1 49 | textureType: 8 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/GUI/Icon/Icon_Weapon.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7a0569a6830cfdb4985a87f3f515b1b3 3 | folderAsset: yes 4 | timeCreated: 1490596632 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/GUI/Icon/Icon_Weapon/Icon_WeaponAxe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/GUI/Icon/Icon_Weapon/Icon_WeaponAxe.png -------------------------------------------------------------------------------- /Assets/GUI/Icon/Icon_Weapon/Icon_WeaponAxe.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cc43e9500fcbc46538e9f817386bbf72 3 | timeCreated: 1470125177 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 1 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 1 49 | textureType: 8 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/GUI/Icon/Icon_Weapon/Icon_WeaponBow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/GUI/Icon/Icon_Weapon/Icon_WeaponBow.png -------------------------------------------------------------------------------- /Assets/GUI/Icon/Icon_Weapon/Icon_WeaponBow.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f4e9a17ab3ed444e1a45cd5b7939613a 3 | timeCreated: 1470125177 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 1 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 1 49 | textureType: 8 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/GUI/Icon/Icon_Weapon/Icon_WeaponGun.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/GUI/Icon/Icon_Weapon/Icon_WeaponGun.png -------------------------------------------------------------------------------- /Assets/GUI/Icon/Icon_Weapon/Icon_WeaponGun.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f5aa36678ab03490d8ee69358f3040cd 3 | timeCreated: 1470125177 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 1 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 1 49 | textureType: 8 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/GUI/Icon/Icon_Weapon/Icon_WeaponRod.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/GUI/Icon/Icon_Weapon/Icon_WeaponRod.png -------------------------------------------------------------------------------- /Assets/GUI/Icon/Icon_Weapon/Icon_WeaponRod.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c874de4ea63ea49eca5f57d8e211b966 3 | timeCreated: 1470125176 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 1 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 1 49 | textureType: 8 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/GUI/Icon/Icon_Weapon/Icon_WeaponSpear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/GUI/Icon/Icon_Weapon/Icon_WeaponSpear.png -------------------------------------------------------------------------------- /Assets/GUI/Icon/Icon_Weapon/Icon_WeaponSpear.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8724861a3766945df8ad7de6ec3bf331 3 | timeCreated: 1470125175 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 1 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 1 49 | textureType: 8 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/GUI/Icon/Icon_Weapon/Icon_WeaponSword.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/GUI/Icon/Icon_Weapon/Icon_WeaponSword.png -------------------------------------------------------------------------------- /Assets/GUI/Icon/Icon_Weapon/Icon_WeaponSword.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 00cd827326cda4989936fe0e82499984 3 | timeCreated: 1470125175 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 1 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 1 49 | textureType: 8 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/GUI/Mob.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: be8771119193fae4ab0cb0e89d038690 3 | folderAsset: yes 4 | timeCreated: 1490596566 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/GUI/Mob/Avatar201_Face.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/GUI/Mob/Avatar201_Face.png -------------------------------------------------------------------------------- /Assets/GUI/Mob/Avatar201_Face.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c278608efc04eb548aeafb8e8d0ec2e1 3 | timeCreated: 1490596571 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: 1 34 | nPOTScale: 0 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 1 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 1 46 | spriteTessellationDetail: -1 47 | textureType: 8 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | - buildTarget: Standalone 62 | maxTextureSize: 2048 63 | textureFormat: -1 64 | textureCompression: 1 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | - buildTarget: Android 70 | maxTextureSize: 2048 71 | textureFormat: -1 72 | textureCompression: 1 73 | compressionQuality: 50 74 | crunchedCompression: 0 75 | allowsAlphaSplitting: 0 76 | overridden: 0 77 | spriteSheet: 78 | serializedVersion: 2 79 | sprites: [] 80 | outline: [] 81 | spritePackingTag: 82 | userData: 83 | assetBundleName: 84 | assetBundleVariant: 85 | -------------------------------------------------------------------------------- /Assets/GUI/Mob/Avatar201_Pose.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/GUI/Mob/Avatar201_Pose.png -------------------------------------------------------------------------------- /Assets/GUI/Mob/Avatar201_Pose.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8f156cab4ca585349af8524820cef37a 3 | timeCreated: 1490596571 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: 1 34 | nPOTScale: 0 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 1 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 1 46 | spriteTessellationDetail: -1 47 | textureType: 8 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | - buildTarget: Standalone 62 | maxTextureSize: 2048 63 | textureFormat: -1 64 | textureCompression: 1 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | - buildTarget: Android 70 | maxTextureSize: 2048 71 | textureFormat: -1 72 | textureCompression: 1 73 | compressionQuality: 50 74 | crunchedCompression: 0 75 | allowsAlphaSplitting: 0 76 | overridden: 0 77 | spriteSheet: 78 | serializedVersion: 2 79 | sprites: [] 80 | outline: [] 81 | spritePackingTag: 82 | userData: 83 | assetBundleName: 84 | assetBundleVariant: 85 | -------------------------------------------------------------------------------- /Assets/GUI/Mob/Avatar202_Face.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/GUI/Mob/Avatar202_Face.png -------------------------------------------------------------------------------- /Assets/GUI/Mob/Avatar202_Face.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8e01810afe1bf2240991e879e9ac83e7 3 | timeCreated: 1490596571 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: 1 34 | nPOTScale: 0 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 1 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 1 46 | spriteTessellationDetail: -1 47 | textureType: 8 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | - buildTarget: Standalone 62 | maxTextureSize: 2048 63 | textureFormat: -1 64 | textureCompression: 1 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | - buildTarget: Android 70 | maxTextureSize: 2048 71 | textureFormat: -1 72 | textureCompression: 1 73 | compressionQuality: 50 74 | crunchedCompression: 0 75 | allowsAlphaSplitting: 0 76 | overridden: 0 77 | spriteSheet: 78 | serializedVersion: 2 79 | sprites: [] 80 | outline: [] 81 | spritePackingTag: 82 | userData: 83 | assetBundleName: 84 | assetBundleVariant: 85 | -------------------------------------------------------------------------------- /Assets/GUI/Mob/Avatar202_Pose.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/GUI/Mob/Avatar202_Pose.png -------------------------------------------------------------------------------- /Assets/GUI/Mob/Avatar202_Pose.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c822b0d473a2bfa48aeef64508c83228 3 | timeCreated: 1490596572 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: 1 34 | nPOTScale: 0 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 1 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 1 46 | spriteTessellationDetail: -1 47 | textureType: 8 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | - buildTarget: Standalone 62 | maxTextureSize: 2048 63 | textureFormat: -1 64 | textureCompression: 1 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | - buildTarget: Android 70 | maxTextureSize: 2048 71 | textureFormat: -1 72 | textureCompression: 1 73 | compressionQuality: 50 74 | crunchedCompression: 0 75 | allowsAlphaSplitting: 0 76 | overridden: 0 77 | spriteSheet: 78 | serializedVersion: 2 79 | sprites: [] 80 | outline: [] 81 | spritePackingTag: 82 | userData: 83 | assetBundleName: 84 | assetBundleVariant: 85 | -------------------------------------------------------------------------------- /Assets/GUI/Mob/Avatar203_Face.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/GUI/Mob/Avatar203_Face.png -------------------------------------------------------------------------------- /Assets/GUI/Mob/Avatar203_Face.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d21b500506e02bb4cac4c9f21a12fe69 3 | timeCreated: 1490596572 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: 1 34 | nPOTScale: 0 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 1 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 1 46 | spriteTessellationDetail: -1 47 | textureType: 8 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | - buildTarget: Standalone 62 | maxTextureSize: 2048 63 | textureFormat: -1 64 | textureCompression: 1 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | - buildTarget: Android 70 | maxTextureSize: 2048 71 | textureFormat: -1 72 | textureCompression: 1 73 | compressionQuality: 50 74 | crunchedCompression: 0 75 | allowsAlphaSplitting: 0 76 | overridden: 0 77 | spriteSheet: 78 | serializedVersion: 2 79 | sprites: [] 80 | outline: [] 81 | spritePackingTag: 82 | userData: 83 | assetBundleName: 84 | assetBundleVariant: 85 | -------------------------------------------------------------------------------- /Assets/GUI/Mob/Avatar203_Pose.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/GUI/Mob/Avatar203_Pose.png -------------------------------------------------------------------------------- /Assets/GUI/Mob/Avatar203_Pose.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 35c8a6ee05215ff4486b3d692b9f3d48 3 | timeCreated: 1490596570 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: 1 34 | nPOTScale: 0 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 1 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 1 46 | spriteTessellationDetail: -1 47 | textureType: 8 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | - buildTarget: Standalone 62 | maxTextureSize: 2048 63 | textureFormat: -1 64 | textureCompression: 1 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | - buildTarget: Android 70 | maxTextureSize: 2048 71 | textureFormat: -1 72 | textureCompression: 1 73 | compressionQuality: 50 74 | crunchedCompression: 0 75 | allowsAlphaSplitting: 0 76 | overridden: 0 77 | spriteSheet: 78 | serializedVersion: 2 79 | sprites: [] 80 | outline: [] 81 | spritePackingTag: 82 | userData: 83 | assetBundleName: 84 | assetBundleVariant: 85 | -------------------------------------------------------------------------------- /Assets/GUI/Mob/Avatar204_Face.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/GUI/Mob/Avatar204_Face.png -------------------------------------------------------------------------------- /Assets/GUI/Mob/Avatar204_Face.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3e463cb601882394a9d525d526b23855 3 | timeCreated: 1490596570 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: 1 34 | nPOTScale: 0 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 1 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 1 46 | spriteTessellationDetail: -1 47 | textureType: 8 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | - buildTarget: Standalone 62 | maxTextureSize: 2048 63 | textureFormat: -1 64 | textureCompression: 1 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | - buildTarget: Android 70 | maxTextureSize: 2048 71 | textureFormat: -1 72 | textureCompression: 1 73 | compressionQuality: 50 74 | crunchedCompression: 0 75 | allowsAlphaSplitting: 0 76 | overridden: 0 77 | spriteSheet: 78 | serializedVersion: 2 79 | sprites: [] 80 | outline: [] 81 | spritePackingTag: 82 | userData: 83 | assetBundleName: 84 | assetBundleVariant: 85 | -------------------------------------------------------------------------------- /Assets/GUI/Mob/Avatar204_Pose.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/GUI/Mob/Avatar204_Pose.png -------------------------------------------------------------------------------- /Assets/GUI/Mob/Avatar204_Pose.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 90c208e97fce4cf448356157a85e3e55 3 | timeCreated: 1490596571 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: 1 34 | nPOTScale: 0 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 1 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 1 46 | spriteTessellationDetail: -1 47 | textureType: 8 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | - buildTarget: Standalone 62 | maxTextureSize: 2048 63 | textureFormat: -1 64 | textureCompression: 1 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | - buildTarget: Android 70 | maxTextureSize: 2048 71 | textureFormat: -1 72 | textureCompression: 1 73 | compressionQuality: 50 74 | crunchedCompression: 0 75 | allowsAlphaSplitting: 0 76 | overridden: 0 77 | spriteSheet: 78 | serializedVersion: 2 79 | sprites: [] 80 | outline: [] 81 | spritePackingTag: 82 | userData: 83 | assetBundleName: 84 | assetBundleVariant: 85 | -------------------------------------------------------------------------------- /Assets/GUI/Mob/Avatar205_Face.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/GUI/Mob/Avatar205_Face.png -------------------------------------------------------------------------------- /Assets/GUI/Mob/Avatar205_Face.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f9d227f813ac3154c82563e3cd4e03fe 3 | timeCreated: 1490596572 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: 1 34 | nPOTScale: 0 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 1 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 1 46 | spriteTessellationDetail: -1 47 | textureType: 8 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | - buildTarget: Standalone 62 | maxTextureSize: 2048 63 | textureFormat: -1 64 | textureCompression: 1 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | - buildTarget: Android 70 | maxTextureSize: 2048 71 | textureFormat: -1 72 | textureCompression: 1 73 | compressionQuality: 50 74 | crunchedCompression: 0 75 | allowsAlphaSplitting: 0 76 | overridden: 0 77 | spriteSheet: 78 | serializedVersion: 2 79 | sprites: [] 80 | outline: [] 81 | spritePackingTag: 82 | userData: 83 | assetBundleName: 84 | assetBundleVariant: 85 | -------------------------------------------------------------------------------- /Assets/GUI/Mob/Avatar205_Pose.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/GUI/Mob/Avatar205_Pose.png -------------------------------------------------------------------------------- /Assets/GUI/Mob/Avatar205_Pose.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5e0bb71067a6201449e2bec72577558e 3 | timeCreated: 1490596571 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: 1 34 | nPOTScale: 0 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 1 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 1 46 | spriteTessellationDetail: -1 47 | textureType: 8 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | - buildTarget: Standalone 62 | maxTextureSize: 2048 63 | textureFormat: -1 64 | textureCompression: 1 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | - buildTarget: Android 70 | maxTextureSize: 2048 71 | textureFormat: -1 72 | textureCompression: 1 73 | compressionQuality: 50 74 | crunchedCompression: 0 75 | allowsAlphaSplitting: 0 76 | overridden: 0 77 | spriteSheet: 78 | serializedVersion: 2 79 | sprites: [] 80 | outline: [] 81 | spritePackingTag: 82 | userData: 83 | assetBundleName: 84 | assetBundleVariant: 85 | -------------------------------------------------------------------------------- /Assets/Plugins.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: edef5ff726760c5448e24e5c751f4261 3 | folderAsset: yes 4 | timeCreated: 1490505472 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Plugins/DOTween.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b9e992a1058073d4b9d9b3cf629d641e 3 | folderAsset: yes 4 | timeCreated: 1490505481 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Plugins/DOTween/DOTween.XML.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7708a0c96ce872843829c074900eff04 3 | timeCreated: 1490505493 4 | licenseType: Free 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/DOTween/DOTween.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/Plugins/DOTween/DOTween.dll -------------------------------------------------------------------------------- /Assets/Plugins/DOTween/DOTween.dll.mdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/Plugins/DOTween/DOTween.dll.mdb -------------------------------------------------------------------------------- /Assets/Plugins/DOTween/DOTween.dll.mdb.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 17e419bbb18bdd342918ccd3a8fd775d 3 | timeCreated: 1490505481 4 | licenseType: Free 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/DOTween/DOTween.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6360cd0441e433941892221e752c398f 3 | timeCreated: 1490505492 4 | licenseType: Free 5 | PluginImporter: 6 | serializedVersion: 1 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | isOverridable: 0 11 | platformData: 12 | Any: 13 | enabled: 1 14 | settings: {} 15 | Editor: 16 | enabled: 0 17 | settings: 18 | DefaultValueInitialized: true 19 | WindowsStoreApps: 20 | enabled: 0 21 | settings: 22 | CPU: AnyCPU 23 | userData: 24 | assetBundleName: 25 | assetBundleVariant: 26 | -------------------------------------------------------------------------------- /Assets/Plugins/DOTween/DOTween43.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/Plugins/DOTween/DOTween43.dll -------------------------------------------------------------------------------- /Assets/Plugins/DOTween/DOTween43.dll.mdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/Plugins/DOTween/DOTween43.dll.mdb -------------------------------------------------------------------------------- /Assets/Plugins/DOTween/DOTween43.dll.mdb.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e904559c79f54cb439d6826f00df274a 3 | timeCreated: 1490505540 4 | licenseType: Free 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/DOTween/DOTween43.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 29e5dce7f63467f468e31ae7b234b79f 3 | timeCreated: 1490505542 4 | licenseType: Free 5 | PluginImporter: 6 | serializedVersion: 1 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | isOverridable: 0 11 | platformData: 12 | Any: 13 | enabled: 1 14 | settings: {} 15 | Editor: 16 | enabled: 0 17 | settings: 18 | DefaultValueInitialized: true 19 | WindowsStoreApps: 20 | enabled: 0 21 | settings: 22 | CPU: AnyCPU 23 | userData: 24 | assetBundleName: 25 | assetBundleVariant: 26 | -------------------------------------------------------------------------------- /Assets/Plugins/DOTween/DOTween43.xml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a8e44cfa30b6e274ba8acc408e0b8d77 3 | timeCreated: 1490505545 4 | licenseType: Free 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/DOTween/DOTween46.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/Plugins/DOTween/DOTween46.dll -------------------------------------------------------------------------------- /Assets/Plugins/DOTween/DOTween46.dll.mdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/Plugins/DOTween/DOTween46.dll.mdb -------------------------------------------------------------------------------- /Assets/Plugins/DOTween/DOTween46.dll.mdb.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b0f006f36a0e83644902295c810c858f 3 | timeCreated: 1490505540 4 | licenseType: Free 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/DOTween/DOTween46.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 603a69e0a2a02f14da094cce77295ec7 3 | timeCreated: 1490505544 4 | licenseType: Free 5 | PluginImporter: 6 | serializedVersion: 1 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | isOverridable: 0 11 | platformData: 12 | Any: 13 | enabled: 1 14 | settings: {} 15 | Editor: 16 | enabled: 0 17 | settings: 18 | DefaultValueInitialized: true 19 | WindowsStoreApps: 20 | enabled: 0 21 | settings: 22 | CPU: AnyCPU 23 | userData: 24 | assetBundleName: 25 | assetBundleVariant: 26 | -------------------------------------------------------------------------------- /Assets/Plugins/DOTween/DOTween46.xml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1e6aeaf7e095aa14cb9bbc67d1f75592 3 | timeCreated: 1490505545 4 | licenseType: Free 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/DOTween/DOTween50.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/Plugins/DOTween/DOTween50.dll -------------------------------------------------------------------------------- /Assets/Plugins/DOTween/DOTween50.dll.mdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/Plugins/DOTween/DOTween50.dll.mdb -------------------------------------------------------------------------------- /Assets/Plugins/DOTween/DOTween50.dll.mdb.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 922ccbf6eaf513c4ba13db7bafbd19f8 3 | timeCreated: 1490505540 4 | licenseType: Free 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/DOTween/DOTween50.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7b342075dd1fa2f4f9c2edec1217f263 3 | timeCreated: 1490505545 4 | licenseType: Free 5 | PluginImporter: 6 | serializedVersion: 1 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | isOverridable: 0 11 | platformData: 12 | Any: 13 | enabled: 1 14 | settings: {} 15 | Editor: 16 | enabled: 0 17 | settings: 18 | DefaultValueInitialized: true 19 | WindowsStoreApps: 20 | enabled: 0 21 | settings: 22 | CPU: AnyCPU 23 | userData: 24 | assetBundleName: 25 | assetBundleVariant: 26 | -------------------------------------------------------------------------------- /Assets/Plugins/DOTween/DOTween50.xml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dafb945303b34cc4a9cd549b248c580d 3 | timeCreated: 1490505546 4 | licenseType: Free 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/DOTween/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f89a458df5918784c87eb954a73baae1 3 | folderAsset: yes 4 | timeCreated: 1490505481 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Plugins/DOTween/Editor/DOTweenEditor.XML.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c741c0a0aa34ad84e85defa54c6b775c 3 | timeCreated: 1490505493 4 | licenseType: Free 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/DOTween/Editor/DOTweenEditor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/Plugins/DOTween/Editor/DOTweenEditor.dll -------------------------------------------------------------------------------- /Assets/Plugins/DOTween/Editor/DOTweenEditor.dll.mdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/Plugins/DOTween/Editor/DOTweenEditor.dll.mdb -------------------------------------------------------------------------------- /Assets/Plugins/DOTween/Editor/DOTweenEditor.dll.mdb.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3b76a733db729c34392812774ca6da18 3 | timeCreated: 1490505481 4 | licenseType: Free 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/DOTween/Editor/DOTweenEditor.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 24c12a3d20273e240b9b650e49a2561e 3 | timeCreated: 1490505486 4 | licenseType: Free 5 | PluginImporter: 6 | serializedVersion: 1 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | isOverridable: 0 11 | platformData: 12 | Any: 13 | enabled: 0 14 | settings: {} 15 | Editor: 16 | enabled: 1 17 | settings: 18 | DefaultValueInitialized: true 19 | WindowsStoreApps: 20 | enabled: 0 21 | settings: 22 | CPU: AnyCPU 23 | userData: 24 | assetBundleName: 25 | assetBundleVariant: 26 | -------------------------------------------------------------------------------- /Assets/Plugins/DOTween/Editor/Imgs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c61425c6b707fb149b155563bd89d16d 3 | folderAsset: yes 4 | timeCreated: 1490505481 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Plugins/DOTween/Editor/Imgs/DOTweenIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/Plugins/DOTween/Editor/Imgs/DOTweenIcon.png -------------------------------------------------------------------------------- /Assets/Plugins/DOTween/Editor/Imgs/DOTweenIcon.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8761261c0f289b446b5fc277b69b8d58 3 | timeCreated: 1490505492 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: -1 34 | nPOTScale: 1 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 0 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 0 46 | spriteTessellationDetail: -1 47 | textureType: 0 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | spriteSheet: 62 | serializedVersion: 2 63 | sprites: [] 64 | outline: [] 65 | spritePackingTag: 66 | userData: 67 | assetBundleName: 68 | assetBundleVariant: 69 | -------------------------------------------------------------------------------- /Assets/Plugins/DOTween/Editor/Imgs/Footer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/Plugins/DOTween/Editor/Imgs/Footer.png -------------------------------------------------------------------------------- /Assets/Plugins/DOTween/Editor/Imgs/Footer.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 30f48e206232a114d97dbd6e7c59060d 3 | timeCreated: 1490505492 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: -1 34 | nPOTScale: 1 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 0 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 0 46 | spriteTessellationDetail: -1 47 | textureType: 0 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | spriteSheet: 62 | serializedVersion: 2 63 | sprites: [] 64 | outline: [] 65 | spritePackingTag: 66 | userData: 67 | assetBundleName: 68 | assetBundleVariant: 69 | -------------------------------------------------------------------------------- /Assets/Plugins/DOTween/Editor/Imgs/Footer_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/Plugins/DOTween/Editor/Imgs/Footer_dark.png -------------------------------------------------------------------------------- /Assets/Plugins/DOTween/Editor/Imgs/Footer_dark.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: be0ef31935b9dff4dabdd2a558756e62 3 | timeCreated: 1490505531 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | sRGBTexture: 0 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: 1 31 | aniso: 1 32 | mipBias: -1 33 | wrapMode: 1 34 | nPOTScale: 0 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 0 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 1 46 | spriteTessellationDetail: -1 47 | textureType: 2 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 256 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | spriteSheet: 62 | serializedVersion: 2 63 | sprites: [] 64 | outline: [] 65 | spritePackingTag: 66 | userData: 67 | assetBundleName: 68 | assetBundleVariant: 69 | -------------------------------------------------------------------------------- /Assets/Plugins/DOTween/Editor/Imgs/Header.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/Plugins/DOTween/Editor/Imgs/Header.jpg -------------------------------------------------------------------------------- /Assets/Plugins/DOTween/Editor/Imgs/Header.jpg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 56ba167ff687b4c4993f4dab444d9aa5 3 | timeCreated: 1490505531 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | sRGBTexture: 0 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: 1 31 | aniso: 1 32 | mipBias: -1 33 | wrapMode: 1 34 | nPOTScale: 0 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 0 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 1 46 | spriteTessellationDetail: -1 47 | textureType: 2 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 512 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | spriteSheet: 62 | serializedVersion: 2 63 | sprites: [] 64 | outline: [] 65 | spritePackingTag: 66 | userData: 67 | assetBundleName: 68 | assetBundleVariant: 69 | -------------------------------------------------------------------------------- /Assets/Plugins/DOTween/readme.txt: -------------------------------------------------------------------------------- 1 | DOTween and DOTween Pro are copyright (c) 2014 Daniele Giardini - Demigiant 2 | 3 | // GET STARTED ////////////////////////////////////////////// 4 | 5 | - After importing a new DOTween update, select DOTween's Utility Panel from the Tools menu (if it doesn't open automatically) and press the "Setup DOTween..." button to set up additional features based on your Unity version. 6 | - In your code, add "using DG.Tweening" to each class where you want to use DOTween. 7 | - You're ready to tween. Check out the links below for full documentation and license info. 8 | 9 | 10 | // LINKS /////////////////////////////////////////////////////// 11 | 12 | DOTween website (documentation, examples, etc): http://dotween.demigiant.com 13 | DOTween license: http://dotween.demigiant.com/license.php 14 | DOTween repository (Google Code): https://code.google.com/p/dotween/ 15 | 16 | // NOTES ////////////////////////////////////////////////////// 17 | 18 | - DOTween's Utility Panel can be found under "Tools > DOTween Utility Panel" and also contains other useful options, plus a tab to set DOTween's preferences -------------------------------------------------------------------------------- /Assets/Plugins/DOTween/readme.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9259860766ee1b54880b4f740b59b0a5 3 | timeCreated: 1490505493 4 | licenseType: Free 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e2a98e669d0686d40a713f696db0d7bd 3 | folderAsset: yes 4 | timeCreated: 1490595955 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Prefab/FaceBox_Unit.controller: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/Prefab/FaceBox_Unit.controller -------------------------------------------------------------------------------- /Assets/Prefab/FaceBox_Unit.controller.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3a0eb4436fb4aa942b85e42667cb1810 3 | timeCreated: 1490595982 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Prefab/FaceBox_Unit.prefab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/Prefab/FaceBox_Unit.prefab -------------------------------------------------------------------------------- /Assets/Prefab/FaceBox_Unit.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5b31cf8f9b949254ab8d452ccf6e08e2 3 | timeCreated: 1490595982 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 14acf2529867f124590e80d64cfefb31 3 | folderAsset: yes 4 | timeCreated: 1490505532 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Resources/DOTweenSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/Resources/DOTweenSettings.asset -------------------------------------------------------------------------------- /Assets/Resources/DOTweenSettings.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b289e6ec43f47594684c6d153c741521 3 | timeCreated: 1490505532 4 | licenseType: Free 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 519f8c0e9dc8fb042951ccbf3fbd9c69 3 | folderAsset: yes 4 | timeCreated: 1462801422 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Scenes/DataBind.unity: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/Scenes/DataBind.unity -------------------------------------------------------------------------------- /Assets/Scenes/DataBind.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3f9c916a268ffcc4da39f65c2647ca61 3 | timeCreated: 1462801492 4 | licenseType: Free 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Scenes/FaceBox.unity: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/Scenes/FaceBox.unity -------------------------------------------------------------------------------- /Assets/Scenes/FaceBox.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5a8156601432c314ba6a78827ae22d7b 3 | timeCreated: 1490597840 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Scenes/LogMultiStrategy.unity: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/Scenes/LogMultiStrategy.unity -------------------------------------------------------------------------------- /Assets/Scenes/LogMultiStrategy.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 632e1010862029a439b3a1bc9299e84d 3 | timeCreated: 1498995389 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Scenes/Network.unity: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/Scenes/Network.unity -------------------------------------------------------------------------------- /Assets/Scenes/Network.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 59e2861cca4fe1a4cbd24c692990ff4d 3 | timeCreated: 1496505020 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Scenes/ObservableList.unity: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/Scenes/ObservableList.unity -------------------------------------------------------------------------------- /Assets/Scenes/ObservableList.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6211428203391a744a0d127cad045edb 3 | timeCreated: 1490597840 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Scenes/ThreadCoroutine.unity: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/Scenes/ThreadCoroutine.unity -------------------------------------------------------------------------------- /Assets/Scenes/ThreadCoroutine.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 15d44931b061ee34c80652c0b3ce3c3b 3 | timeCreated: 1495723749 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Scenes/ThreadDispatcher.unity: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/Assets/Scenes/ThreadDispatcher.unity -------------------------------------------------------------------------------- /Assets/Scenes/ThreadDispatcher.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f2bdda3da498c4c71873323528ae1418 3 | timeCreated: 1495534998 4 | licenseType: Free 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Sources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b829e94098acc4e40830b9b93e8e9171 3 | folderAsset: yes 4 | timeCreated: 1462801401 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Sources/Core.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 349520f91bf7b1e448b0c476ad2fbcf3 3 | folderAsset: yes 4 | timeCreated: 1462802152 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Sources/Core/DataBinding.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2c877c284c673754b80698e4da080811 3 | folderAsset: yes 4 | timeCreated: 1462847090 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Sources/Core/DataBinding/BindableProperty.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using UnityEditor; 6 | 7 | namespace uMVVM.Sources.Infrastructure 8 | { 9 | public class BindableProperty 10 | { 11 | public delegate void ValueChangedHandler(T oldValue, T newValue); 12 | 13 | public ValueChangedHandler OnValueChanged; 14 | 15 | private T _value; 16 | public T Value 17 | { 18 | get 19 | { 20 | return _value; 21 | } 22 | set 23 | { 24 | if (!Equals(_value, value)) 25 | { 26 | T old = _value; 27 | _value = value; 28 | ValueChanged(old, _value); 29 | } 30 | } 31 | } 32 | 33 | private void ValueChanged(T oldValue, T newValue) 34 | { 35 | if (OnValueChanged != null) 36 | { 37 | OnValueChanged(oldValue, newValue); 38 | } 39 | } 40 | 41 | public override string ToString() 42 | { 43 | return (Value != null ? Value.ToString() : "null"); 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /Assets/Sources/Core/DataBinding/BindableProperty.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cd59cc99e53031a46acb8c553a0570b1 3 | timeCreated: 1462847094 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/DataBinding/ObservableList.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 305a956d4073d254992136a1db512305 3 | timeCreated: 1490715195 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/DataBinding/PropertyBinder.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cbb3d28eb726afd46a3773a347e64b8c 3 | timeCreated: 1490267903 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/DataBinding/ViewModelBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace uMVVM.Sources.Infrastructure 7 | { 8 | public class ViewModelBase 9 | { 10 | private bool _isInitialized; 11 | public ViewModelBase ParentViewModel { get; set; } 12 | public bool IsRevealed { get; private set; } 13 | public bool IsRevealInProgress { get; private set; } 14 | public bool IsHideInProgress { get; private set ; } 15 | 16 | protected virtual void OnInitialize() 17 | { 18 | 19 | } 20 | 21 | public virtual void OnStartReveal() 22 | { 23 | IsRevealInProgress = true; 24 | //在开始显示的时候进行初始化操作 25 | if (!_isInitialized) 26 | { 27 | OnInitialize(); 28 | _isInitialized = true; 29 | } 30 | } 31 | 32 | public virtual void OnFinishReveal() 33 | { 34 | IsRevealInProgress = false; 35 | IsRevealed = true; 36 | } 37 | 38 | public virtual void OnStartHide() 39 | { 40 | IsHideInProgress = true; 41 | 42 | } 43 | 44 | public virtual void OnFinishHide() 45 | { 46 | IsHideInProgress = false; 47 | IsRevealed = false; 48 | } 49 | 50 | public virtual void OnDestory() 51 | { 52 | 53 | } 54 | 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /Assets/Sources/Core/DataBinding/ViewModelBase.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1a070ca5270bd76409dd374c2273e41b 3 | timeCreated: 1462850181 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/DataBinding/ViewModelBaseExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using uMVVM.Sources.Infrastructure; 6 | 7 | namespace Assets.Sources.Core.DataBinding 8 | { 9 | public static class ViewModelBaseExtensions 10 | { 11 | public static IEnumerable Ancestors(this ViewModelBase origin) where T : ViewModelBase 12 | { 13 | if (origin==null) 14 | { 15 | yield break; 16 | } 17 | var parentViewModel = origin.ParentViewModel; 18 | while (parentViewModel!=null) 19 | { 20 | var castedViewModel = parentViewModel as T; 21 | if (castedViewModel != null) 22 | { 23 | yield return castedViewModel; 24 | } 25 | parentViewModel = parentViewModel.ParentViewModel; 26 | } 27 | 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /Assets/Sources/Core/DataBinding/ViewModelBaseExtensions.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d035d403ab891344e84e5199e4e58cc6 3 | timeCreated: 1490671823 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Factory.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 395037f58851dbc46b162c16b8ab50c9 3 | folderAsset: yes 4 | timeCreated: 1490866455 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Factory/FactoryType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Assets.Sources.Core.Factory 7 | { 8 | public enum FactoryType 9 | { 10 | Singleton, 11 | Transient, 12 | Pool 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Factory/FactoryType.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 37f96d19cf677f44fb6ceee04d03d2b9 3 | timeCreated: 1490874300 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Factory/IObjectFactory.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Assets.Sources.Core.Factory 7 | { 8 | public interface IObjectFactory 9 | { 10 | object AcquireObject(string className); 11 | object AcquireObject(Type type); 12 | object AcquireObject() where TInstance : class, new(); 13 | void ReleaseObject(object obj); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Factory/IObjectFactory.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5c08b770ca568c940bf9e8aae1615066 3 | timeCreated: 1490866455 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Factory/PoolObjectFactory.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 644f9ab715df8b44192a90b603f638b4 3 | timeCreated: 1490866455 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Factory/SingletonObjectFactory.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using Assets.Sources.Core.Infrastructure; 7 | 8 | namespace Assets.Sources.Core.Factory 9 | { 10 | public class SingletonObjectFactory:IObjectFactory 11 | { 12 | /// 13 | /// 共享的字典,不会因为不同的SingletonObjectFactory对象返回不唯一的实例对象 14 | /// 15 | private static Dictionary _cachedObjects = null; 16 | private static readonly object _lock=new object(); 17 | private Dictionary CachedObjects 18 | { 19 | get 20 | { 21 | lock (_lock) 22 | { 23 | if (_cachedObjects==null) 24 | { 25 | _cachedObjects=new Dictionary(); 26 | } 27 | return _cachedObjects; 28 | } 29 | } 30 | } 31 | public object AcquireObject(string className) 32 | { 33 | return AcquireObject(TypeFinder.ResolveType(className)); 34 | } 35 | 36 | public object AcquireObject(Type type) 37 | { 38 | if (CachedObjects.ContainsKey(type)) 39 | { 40 | return CachedObjects[type]; 41 | } 42 | lock (_lock) 43 | { 44 | CachedObjects.Add(type,Activator.CreateInstance(type,false)); 45 | return CachedObjects[type]; 46 | } 47 | } 48 | 49 | public object AcquireObject() where TInstance:class,new() 50 | { 51 | var type = typeof(TInstance); 52 | if (CachedObjects.ContainsKey(type)) 53 | { 54 | return CachedObjects[type]; 55 | } 56 | lock (_lock) 57 | { 58 | var instance=new TInstance(); 59 | CachedObjects.Add(type, instance); 60 | return CachedObjects[type]; 61 | } 62 | } 63 | 64 | public void ReleaseObject(object obj) 65 | { 66 | 67 | } 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Factory/SingletonObjectFactory.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5068147eb6b07a741877fc3dccfbaf17 3 | timeCreated: 1490866455 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Factory/TransientObjectFactory.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Assets.Sources.Core.Infrastructure; 3 | 4 | namespace Assets.Sources.Core.Factory 5 | { 6 | public class TransientObjectFactory : IObjectFactory 7 | { 8 | public object AcquireObject(string className) 9 | { 10 | return AcquireObject(TypeFinder.ResolveType(className)); 11 | } 12 | 13 | public object AcquireObject(Type type) 14 | { 15 | var obj = Activator.CreateInstance(type, false); 16 | return obj; 17 | } 18 | 19 | public object AcquireObject() where TInstance : class, new() 20 | { 21 | var instance = new TInstance(); 22 | return instance; 23 | } 24 | 25 | public void ReleaseObject(object obj) 26 | { 27 | 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Factory/TransientObjectFactory.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4909cc92ac1d01248b885b2dcb8fe8e8 3 | timeCreated: 1490866455 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Infrastructure.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cf587652ee240da47b8b04b6bd0b0101 3 | folderAsset: yes 4 | timeCreated: 1490506711 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Infrastructure/HexConverter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using UnityEngine; 6 | 7 | namespace Assets.Sources.Core.Infrastructure 8 | { 9 | public class HexConverter 10 | { 11 | // Note that Color32 and Color implictly convert to each other. You may pass a Color object to this method without first casting it. 12 | public static string ColorToHex(Color32 color) 13 | { 14 | string hex = color.r.ToString("X2") + color.g.ToString("X2") + color.b.ToString("X2") + color.a.ToString("X2"); 15 | return hex; 16 | } 17 | 18 | public static Color HexToColor(string hex) 19 | { 20 | hex = hex.Replace("0x", "");//in case the string is formatted 0xFFFFFF 21 | hex = hex.Replace("#", "");//in case the string is formatted #FFFFFF 22 | byte a = 255;//assume fully visible unless specified in hex 23 | byte r = byte.Parse(hex.Substring(0, 2), System.Globalization.NumberStyles.HexNumber); 24 | byte g = byte.Parse(hex.Substring(2, 2), System.Globalization.NumberStyles.HexNumber); 25 | byte b = byte.Parse(hex.Substring(4, 2), System.Globalization.NumberStyles.HexNumber); 26 | //Only use alpha if the string has enough characters 27 | if (hex.Length == 8) 28 | { 29 | a = byte.Parse(hex.Substring(6, 2), System.Globalization.NumberStyles.HexNumber); 30 | } 31 | return new Color32(r, g, b, a); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Infrastructure/HexConverter.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8624bc005fb30a3479b9e5ea4c2eb5cd 3 | timeCreated: 1490604395 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Infrastructure/HttpMethod.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Assets.Sources.Core.Infrastructure 7 | { 8 | public enum HttpMethod 9 | { 10 | Get, 11 | Post 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Infrastructure/HttpMethod.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3745aa66047e47c4bb97f1218434cfcf 3 | timeCreated: 1496579321 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Infrastructure/HttpUtility.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Assets.Sources.Core.Infrastructure 7 | { 8 | public class HttpUtility 9 | { 10 | public static string BuildParameters(T instance, StringBuilder sb) where T:class,new() 11 | { 12 | foreach (var property in instance.GetType().GetProperties()) 13 | { 14 | var propertyName = property.Name; 15 | var value = property.GetValue(instance, null); 16 | sb.Append(propertyName + "=" + value + "&"); 17 | } 18 | return sb.ToString().TrimEnd('&'); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Infrastructure/HttpUtility.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fefd1d4b16c78b14982b1e304f7357a9 3 | timeCreated: 1496829504 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Infrastructure/ISerializer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Assets.Sources.Core.Infrastructure 7 | { 8 | public interface ISerializer 9 | { 10 | string Serialize(T obj, bool readableOutput = false) where T : class, new(); 11 | T Deserialize(string json) where T : class, new(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Infrastructure/ISerializer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b621a83bc270c884690ec68e3d9e2887 3 | timeCreated: 1490595769 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Infrastructure/MD5Helper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Security.Cryptography; 3 | using System.Text; 4 | 5 | namespace uMVVM.Sources.Infrastructure 6 | { 7 | public class MD5Helper 8 | { 9 | public static string GetMd5Hash(MD5 md5Hash, string input) 10 | { 11 | // Convert the input string to a byte array and compute the hash. 12 | var data = md5Hash.ComputeHash(Encoding.UTF8.GetBytes(input)); 13 | 14 | // Create a new Stringbuilder to collect the bytes 15 | // and create a string. 16 | var sBuilder = new StringBuilder(); 17 | 18 | // Loop through each byte of the hashed data 19 | // and format each one as a hexadecimal string. 20 | for (var i = 0; i < data.Length; i++) 21 | { 22 | sBuilder.Append(data[i].ToString("x2")); 23 | } 24 | 25 | // Return the hexadecimal string. 26 | return sBuilder.ToString(); 27 | } 28 | 29 | // Verify a hash against a string. 30 | public static bool VerifyMd5Hash(MD5 md5Hash, string input, string hash) 31 | { 32 | // Hash the input. 33 | var hashOfInput = GetMd5Hash(md5Hash, input); 34 | 35 | // Create a StringComparer an compare the hashes. 36 | var comparer = StringComparer.OrdinalIgnoreCase; 37 | 38 | if (0 == comparer.Compare(hashOfInput, hash)) 39 | { 40 | return true; 41 | } 42 | return false; 43 | } 44 | } 45 | } -------------------------------------------------------------------------------- /Assets/Sources/Core/Infrastructure/MD5Helper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 726a141a3a8d2154e8843764e05864a9 3 | timeCreated: 1496842299 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Infrastructure/RepositoryKey.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Assets.Sources.Core.Repository 7 | { 8 | [AttributeUsage(AttributeTargets.Property)] 9 | public class RepositoryKey : Attribute 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Infrastructure/RepositoryKey.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 53cf2435a0fc3d04d97d28756d3fecbd 3 | timeCreated: 1490926260 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Infrastructure/Response.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Assets.Sources.Core.Infrastructure 7 | { 8 | [System.Serializable] 9 | public class Response 10 | { 11 | public List Items; 12 | public T Item 13 | { 14 | get 15 | { 16 | if (Items != null && Items.Count == 1) 17 | { 18 | return Items[0]; 19 | } 20 | return default(T); 21 | } 22 | } 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Infrastructure/Response.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 24fca29aef4026c4bbfc810afc92cad1 3 | timeCreated: 1496829504 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Infrastructure/SQLite.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 17a61c72a282fdd428bbc014915c5649 3 | timeCreated: 1490926770 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Infrastructure/SerializerJson.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using UnityEngine; 6 | 7 | namespace Assets.Sources.Core.Infrastructure 8 | { 9 | public class SerializerJson:ISerializer 10 | { 11 | public static readonly SerializerJson Instance=new SerializerJson(); 12 | private SerializerJson() 13 | { 14 | 15 | } 16 | public string Serialize(T obj, bool readableOutput = false) where T : class, new() 17 | { 18 | throw new NotImplementedException(); 19 | } 20 | 21 | public T Deserialize(string json) where T : class, new() 22 | { 23 | return JsonUtility.FromJson(json); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Infrastructure/SerializerJson.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3baccd95e1e28204ea205fc38ee45a96 3 | timeCreated: 1496839397 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Infrastructure/SerializerXml.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5b06cdf6fac92f747a3a3f7aa0566298 3 | timeCreated: 1490926260 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Infrastructure/Singleton.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using UnityEngine; 6 | 7 | namespace Assets.Sources.Core.Infrastructure 8 | { 9 | /// /// 继承自该类,实现 Unity MonoBehaviour 单例模式. /// 10 | public class Singleton:MonoBehaviour where T:MonoBehaviour 11 | { 12 | private static T _instance; 13 | private static bool _applicationIsQuitting=false; 14 | 15 | protected Singleton() 16 | { 17 | } 18 | 19 | public static T Instance 20 | { 21 | get 22 | { 23 | if (_instance==null && !_applicationIsQuitting) 24 | { 25 | _instance = Create(); 26 | } 27 | return _instance; 28 | } 29 | } 30 | 31 | private static T Create() 32 | { 33 | var go=new GameObject(typeof(T).Name,typeof(T)); 34 | DontDestroyOnLoad(go); 35 | return go.GetComponent(); 36 | } 37 | 38 | protected virtual void OnApplicationQuit() 39 | { 40 | if (_instance == null) return; 41 | Destroy(_instance.gameObject); 42 | _instance = null; 43 | } 44 | 45 | protected virtual void OnDestory() 46 | { 47 | _applicationIsQuitting = true; 48 | } 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Infrastructure/Singleton.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dc6c031c4e7724246a9e90086465cf05 3 | timeCreated: 1496493131 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Infrastructure/TokenHelper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Net; 5 | using System.Security.Cryptography; 6 | using System.Text; 7 | using uMVVM.Sources.Infrastructure; 8 | using UnityEngine; 9 | using UnityEngine.iOS; 10 | 11 | namespace Assets.Sources.Core.Infrastructure 12 | { 13 | public class TokenHelper 14 | { 15 | public static string Create() 16 | { 17 | var deviceId = SystemInfo.deviceUniqueIdentifier; 18 | var day = DateTime.Now.Day; 19 | var month = DateTime.Now.Month; 20 | var last2DigitsofYear = DateTime.Now.Year % 100; 21 | //依照规则可以添加其他字段,确保足够复杂 22 | var source = ((day * 10) + (month * 100) + (last2DigitsofYear) * 1000) + deviceId; 23 | //创建md5 24 | using (var md5Hash = MD5.Create()) 25 | { 26 | return MD5Helper.GetMd5Hash(md5Hash, source); 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Infrastructure/TokenHelper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fc5866cac20cfeb479f583f264878fc0 3 | timeCreated: 1496842299 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Infrastructure/TypeFinder.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Reflection; 5 | using System.Text; 6 | 7 | namespace Assets.Sources.Core.Infrastructure 8 | { 9 | public class TypeFinder 10 | { 11 | /// 12 | /// 根据class name反射获取Type 13 | /// 14 | /// 15 | /// 16 | public static Type ResolveType(string className) 17 | { 18 | Assembly assembly=Assembly.GetExecutingAssembly(); 19 | Type type = assembly.GetTypes().FirstOrDefault(t => t.Name == className); 20 | if (type==null) 21 | { 22 | throw new Exception(string.Format("Cant't find Class by class name:'{0}'",className)); 23 | } 24 | return type; 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Infrastructure/TypeFinder.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bcdcebab2dc23bb468369da70d37caac 3 | timeCreated: 1490866455 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Inject.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1df027eb1aeeb2d428f8d40d5cd1b325 3 | folderAsset: yes 4 | timeCreated: 1490866455 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Inject/ServiceLocator.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 49a88656d5a22864b8921e9e4fbffc7e 3 | timeCreated: 1490866455 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Log.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3cc347233e09181469ab2edad79d1f2c 3 | folderAsset: yes 4 | timeCreated: 1498404529 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Log/ConsoleContentWriter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using UnityEngine; 6 | 7 | namespace Assets.Sources.Core.Log 8 | { 9 | public class ConsoleContentWriter:IContentWriter 10 | { 11 | public void Write(string message) 12 | { 13 | Debug.Log("Console Log!:"+message); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Log/ConsoleContentWriter.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f10c2366005edf04ca14726e9c0432a2 3 | timeCreated: 1498995316 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Log/ConsoleLogStrategy.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using UnityEngine; 6 | 7 | namespace Assets.Sources.Core.Log 8 | { 9 | public class ConsoleLogStrategy:LogStrategy 10 | { 11 | public ConsoleLogStrategy() 12 | { 13 | SetContentWriter(); 14 | } 15 | protected sealed override void SetContentWriter() 16 | { 17 | Writer=new ConsoleContentWriter(); 18 | } 19 | protected override void RecordMessage(string message) 20 | { 21 | Writer.Write(message); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Log/ConsoleLogStrategy.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2dd6cd8aacbe68a49b76d202adda10b8 3 | timeCreated: 1498988801 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Log/DatabaseContentWriter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using UnityEngine; 6 | 7 | namespace Assets.Sources.Core.Log 8 | { 9 | public class DatabaseContentWriter : IContentWriter 10 | { 11 | public void Write(string message) 12 | { 13 | Debug.Log("Database Log!:"+message); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Log/DatabaseContentWriter.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e004161a2e0cc0c4d838554e79b11a74 3 | timeCreated: 1498405167 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Log/DatabaseLogStrategy.cs: -------------------------------------------------------------------------------- 1 | namespace Assets.Sources.Core.Log 2 | { 3 | public class DatabaseLogStrategy : LogStrategy 4 | { 5 | public DatabaseLogStrategy() 6 | { 7 | SetContentWriter(); 8 | } 9 | protected sealed override void SetContentWriter() 10 | { 11 | Writer = new DatabaseContentWriter(); 12 | } 13 | 14 | protected override void RecordMessage(string message) 15 | { 16 | Writer.Write(message); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Log/DatabaseLogStrategy.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bdb5c0a6a78991d4ebf674daadbfaeda 3 | timeCreated: 1498988802 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Log/FileContentWriter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using UnityEngine; 6 | 7 | namespace Assets.Sources.Core.Log 8 | { 9 | public class FileContentWriter:IContentWriter 10 | { 11 | public void Write(string message) 12 | { 13 | //IO 14 | Debug.Log("File Log!:{0}"+message); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Log/FileContentWriter.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a718b67fd7c83d140b4be2ec8a1ea16f 3 | timeCreated: 1498988802 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Log/FileLogStrategy.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Assets.Sources.Core.Log 7 | { 8 | public class FileLogStrategy:LogStrategy 9 | { 10 | public FileLogStrategy() 11 | { 12 | SetContentWriter(); 13 | } 14 | protected sealed override void SetContentWriter() 15 | { 16 | Writer = new FileContentWriter(); 17 | } 18 | protected override void RecordMessage(string message) 19 | { 20 | Writer.Write(message); 21 | } 22 | 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Log/FileLogStrategy.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f36007956a2d1e54a91ab37db3fef9d8 3 | timeCreated: 1498988802 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Log/IContentWriter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Assets.Sources.Core.Log 7 | { 8 | public interface IContentWriter 9 | { 10 | void Write(string message); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Log/IContentWriter.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0b85d1b6f8e4c9243801231a5c7427e6 3 | timeCreated: 1498405166 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Log/LogFactory.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Assets.Sources.Core.Log 7 | { 8 | public class LogFactory 9 | { 10 | public static LogFactory Instance=new LogFactory(); 11 | private readonly Dictionary _strategies=new Dictionary() 12 | { 13 | {typeof(ConsoleLogStrategy).Name,new ConsoleLogStrategy() }, 14 | {typeof(FileLogStrategy).Name,new FileLogStrategy() }, 15 | {typeof(DatabaseLogStrategy).Name,new DatabaseLogStrategy() } 16 | }; 17 | public LogStrategy Resolve() where T:LogStrategy 18 | { 19 | return _strategies[typeof(T).Name]; 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Log/LogFactory.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b02b82bf8a287834991f0fc9a06bc943 3 | timeCreated: 1498404529 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Log/LogStrategy.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Text; 3 | using UnityEngine; 4 | 5 | namespace Assets.Sources.Core.Log 6 | { 7 | public abstract class LogStrategy 8 | { 9 | private readonly StringBuilder _messageBuilder=new StringBuilder(); 10 | protected IContentWriter Writer { get; set; } 11 | 12 | /// 13 | /// 模板方法 14 | /// 15 | protected abstract void RecordMessage(string message); 16 | 17 | protected abstract void SetContentWriter(); 18 | 19 | /// 20 | /// 公共的API 21 | /// 22 | public void Log(string message,bool verbose=false) 23 | { 24 | if (verbose) 25 | { 26 | //公共方法 27 | RecordDateTime(); 28 | RecordDeviceModel(); 29 | RecordDeviceName(); 30 | RecordOperatingSystem(); 31 | } 32 | //抽象方法,交由子类实现 33 | RecordMessage(_messageBuilder.AppendLine(string.Format("Message:{0}", message)).ToString()); 34 | } 35 | 36 | private void RecordDateTime() 37 | { 38 | _messageBuilder.AppendLine(string.Format("DateTime:{0}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"))); 39 | } 40 | 41 | private void RecordDeviceModel() 42 | { 43 | _messageBuilder.AppendLine(string.Format("Device Model:{0}",SystemInfo.deviceModel)); 44 | } 45 | 46 | private void RecordDeviceName() 47 | { 48 | _messageBuilder.AppendLine(string.Format("Device Name:{0}", SystemInfo.deviceName)); 49 | } 50 | 51 | private void RecordOperatingSystem() 52 | { 53 | _messageBuilder 54 | .AppendLine(string.Format("Operating System:{0}", SystemInfo.operatingSystem)) 55 | .AppendLine(); 56 | } 57 | 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Log/LogStrategy.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 36c3a3dae180ded49b9edfd125257b5b 3 | timeCreated: 1498404529 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Message.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a728f3ff852931d41a33f6b350951ac3 3 | folderAsset: yes 4 | timeCreated: 1489081483 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Message/MessageAggregator.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Assets.Sources.Core.Message; 6 | 7 | namespace Assets.Sources.Infrastructure 8 | { 9 | public delegate void MessageHandler(object sender, MessageArgs args); 10 | public class MessageAggregator 11 | { 12 | private readonly Dictionary> _messages = new Dictionary>(); 13 | 14 | public static readonly MessageAggregator Instance=new MessageAggregator(); 15 | 16 | private MessageAggregator() 17 | { 18 | 19 | } 20 | 21 | public void Subscribe(string name, MessageHandler handler) 22 | { 23 | if (!_messages.ContainsKey(name)) 24 | { 25 | _messages.Add(name, handler); 26 | } 27 | else 28 | { 29 | _messages[name] += handler; 30 | } 31 | 32 | } 33 | public void Publish(string name, object sender, MessageArgs args) 34 | { 35 | if (_messages.ContainsKey(name) && _messages[name] != null) 36 | { 37 | //转发 38 | _messages[name](sender, args); 39 | } 40 | } 41 | 42 | } 43 | 44 | 45 | } 46 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Message/MessageAggregator.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7cdfb532ea37e6e42a211e6e05e92638 3 | timeCreated: 1489081484 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Message/MessageArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Assets.Sources.Core.Message 7 | { 8 | public class MessageArgs 9 | { 10 | public T Item { get; set; } 11 | public MessageArgs(T item) 12 | { 13 | Item = item; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Message/MessageArgs.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d26cf6745eb2b8c47a5fe79ce08b0bef 3 | timeCreated: 1490267903 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Network.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 297a51a476c55914e9222b809052cd1c 3 | folderAsset: yes 4 | timeCreated: 1496477121 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Network/HttpClient.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 50ae2e33f57f2a1458f9a70a0b3a7509 3 | timeCreated: 1496504978 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Network/HttpRequest.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Assets.Sources.Core.Infrastructure; 6 | 7 | namespace Assets.Sources.Core.Network 8 | { 9 | public class HttpRequest 10 | { 11 | public string Url { get; set; } 12 | public HttpMethod Method { get; set; } 13 | public string Parameters { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Network/HttpRequest.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e60059ac273d646409c96e6e36d2b8dd 3 | timeCreated: 1496642113 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Network/HttpResponse.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Assets.Sources.Core.Network 7 | { 8 | public class HttpResponse 9 | { 10 | public bool IsSuccess { get; set; } 11 | public string Error { get; set; } 12 | public long StatusCode { get; set; } 13 | public string Data { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Network/HttpResponse.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4c4c48b6cc727664a844575b4d00aa5b 3 | timeCreated: 1496579321 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Network/HttpTool.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Assets.Sources.Core.Infrastructure; 6 | 7 | namespace Assets.Sources.Core.HTTP 8 | { 9 | public class HttpTool : Singleton 10 | { 11 | // 无法在外界使用构造函数,确保Singleton 12 | protected HttpTool() { } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Network/HttpTool.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8759777e98d3105428920e4a2d0c6380 3 | timeCreated: 1496477121 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Proxy.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2e0850411bb808a46b6f6bb8453aaf0d 3 | folderAsset: yes 4 | timeCreated: 1498057484 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Proxy/IInvocationHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Reflection; 5 | using System.Runtime.CompilerServices; 6 | using System.Text; 7 | 8 | namespace Assets.Sources.Core.Proxy 9 | { 10 | public interface IInvocationHandler 11 | { 12 | void PreProcess(); 13 | object Invoke(object proxy, MethodInfo method, object[] args); 14 | void PostProcess(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Proxy/IInvocationHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0210fd06f48101a47ab86a9cf5bf1d9e 3 | timeCreated: 1498057484 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Proxy/LogInvocationHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Reflection; 5 | using System.Text; 6 | using Assets.Sources.Core.Log; 7 | using UnityEngine; 8 | 9 | namespace Assets.Sources.Core.Proxy 10 | { 11 | public class LogInvocationHandler:IInvocationHandler 12 | { 13 | public void PreProcess() 14 | { 15 | LogFactory.Instance.Resolve().Log("Pre Process"); 16 | } 17 | 18 | public object Invoke(object target, MethodInfo method, object[] args) 19 | { 20 | PreProcess(); 21 | var result= method.Invoke(target, args); 22 | PostProcess(); 23 | return result; 24 | } 25 | 26 | public void PostProcess() 27 | { 28 | LogFactory.Instance.Resolve().Log("Post Process"); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Proxy/LogInvocationHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: de68c3414e879fc408761c7e0634f2d0 3 | timeCreated: 1498057484 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Proxy/Proxy.cs: -------------------------------------------------------------------------------- 1 | namespace Assets.Sources.Core.Proxy 2 | { 3 | public class Proxy 4 | { 5 | public static Proxy Instance = new Proxy(); 6 | 7 | private IInvocationHandler _invocationHandler; 8 | private object _target; 9 | private string _method; 10 | private object[] _args; 11 | 12 | private Proxy() 13 | { 14 | } 15 | 16 | public Proxy SetInvocationHandler(IInvocationHandler invocationHandler) 17 | { 18 | _invocationHandler = invocationHandler; 19 | return this; 20 | } 21 | 22 | public Proxy SetTarget(object target) 23 | { 24 | _target = target; 25 | return this; 26 | } 27 | 28 | public Proxy SetMethod(string method) 29 | { 30 | _method = method; 31 | return this; 32 | } 33 | 34 | public Proxy SetArgs(object[] args) 35 | { 36 | _args = args; 37 | return this; 38 | } 39 | 40 | public object Invoke() 41 | { 42 | var methodInfo = _target.GetType().GetMethod(_method); 43 | return _invocationHandler.Invoke(_target, methodInfo, _args); 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Proxy/Proxy.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6b7b0335c7f414e478151eeb9295cd1f 3 | timeCreated: 1498057484 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Repository.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9d80bc354f019d7409673beef185dd71 3 | folderAsset: yes 4 | timeCreated: 1490505274 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Repository/DbRepository.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using SQLite4Unity3d; 6 | 7 | namespace Assets.Sources.Core.Repository 8 | { 9 | public class DbRepository : IRepository where T : class, new() 10 | { 11 | private readonly SQLiteConnection _connection; 12 | public void Delete(T instance) 13 | { 14 | throw new NotImplementedException(); 15 | } 16 | 17 | public void Insert(T instance) 18 | { 19 | try 20 | { 21 | _connection.Insert(instance); 22 | } 23 | catch (Exception e) 24 | { 25 | throw new Exception(e.ToString()); 26 | } 27 | } 28 | 29 | public IEnumerable Select(Func func) 30 | { 31 | throw new NotImplementedException(); 32 | } 33 | 34 | public void Update(T instance) 35 | { 36 | throw new NotImplementedException(); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Repository/DbRepository.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5372e6f281e61fd459bdf89e3606a270 3 | timeCreated: 1490926260 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Repository/FileSystemRepository.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using Assets.Sources.Core.Infrastructure; 7 | 8 | namespace Assets.Sources.Core.Repository 9 | { 10 | public class FileSystemRepository : IRepository where T:class,new() 11 | { 12 | 13 | public string DataDirectory { get; private set; } 14 | 15 | protected ISerializer Serializer { get; set; } 16 | 17 | public FileSystemRepository(string pathToDataDirectory, ISerializer serializer = null) 18 | { 19 | DataDirectory = Path.Combine(pathToDataDirectory, typeof(T).Name); 20 | Serializer = (serializer != null ? serializer : SerializerXml.Instance); 21 | if (!Directory.Exists(DataDirectory)) 22 | { 23 | Directory.CreateDirectory(DataDirectory); 24 | } 25 | } 26 | 27 | public void Insert(T instance) 28 | { 29 | try 30 | { 31 | string filename = GetFilename(Guid.NewGuid()); 32 | if (File.Exists(filename)) 33 | { 34 | throw new Exception("Attempting to insert an object which already exists. Filename=" + filename); 35 | } 36 | 37 | string serializedObject = Serializer.Serialize(instance, true); 38 | using (StreamWriter stream = new StreamWriter(filename)) 39 | { 40 | stream.Write(serializedObject); 41 | } 42 | } 43 | catch (Exception e) 44 | { 45 | throw new Exception(e.ToString()); 46 | } 47 | finally 48 | { 49 | 50 | } 51 | } 52 | public void Delete(T instance) 53 | { 54 | throw new NotImplementedException(); 55 | } 56 | public void Update(T instance) 57 | { 58 | throw new NotImplementedException(); 59 | } 60 | public IEnumerable Select(Func func) 61 | { 62 | throw new NotImplementedException(); 63 | } 64 | 65 | private string GetFilename(object key) 66 | { 67 | return Path.Combine(DataDirectory, string.Format("{0}.{1}", key.ToString(), ".xml")); 68 | } 69 | 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Repository/FileSystemRepository.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f16dfbf0bab02fc44b0e7d90907c354a 3 | timeCreated: 1490595769 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Repository/IRepository.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Assets.Sources.Core.Repository 7 | { 8 | public interface IRepository where T:class,new() 9 | { 10 | void Insert(T instance); 11 | void Delete(T instance); 12 | void Update(T instance); 13 | IEnumerable Select(Func func ); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Repository/IRepository.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a9d0a9b8c5d6dee47bdc65ec1dce8b9a 3 | timeCreated: 1490595769 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Repository/MemoryRepository.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Reflection; 5 | using System.Text; 6 | 7 | namespace Assets.Sources.Core.Repository 8 | { 9 | public class MemoryRepository : IRepository where T : class, new() 10 | { 11 | private Dictionary repository = new Dictionary(); 12 | protected PropertyInfo KeyPropertyInfo { get; private set; } 13 | 14 | public MemoryRepository() 15 | { 16 | FindKeyPropertyInDataType(); 17 | } 18 | 19 | public void Insert(T instance) 20 | { 21 | try 22 | { 23 | var id = KeyPropertyInfo.GetValue(instance, null); 24 | repository[id] = instance; 25 | } 26 | catch (Exception e) 27 | { 28 | throw new Exception(e.ToString()); 29 | } 30 | } 31 | 32 | public void Delete(T instance) 33 | { 34 | throw new NotImplementedException(); 35 | } 36 | 37 | public void Update(T instance) 38 | { 39 | throw new NotImplementedException(); 40 | } 41 | 42 | public IEnumerable Select(Func func) 43 | { 44 | throw new NotImplementedException(); 45 | } 46 | 47 | private void FindKeyPropertyInDataType() 48 | { 49 | foreach (PropertyInfo propertyInfo in typeof(T).GetProperties()) 50 | { 51 | object[] attributes = propertyInfo.GetCustomAttributes(typeof(RepositoryKey), false); 52 | if (attributes != null && attributes.Length == 1) 53 | { 54 | KeyPropertyInfo = propertyInfo; 55 | } 56 | else 57 | { 58 | throw new Exception("more than one repository key exist"); 59 | } 60 | } 61 | 62 | } 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Repository/MemoryRepository.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bc55270c5d0c2b24cbc5446e156872cb 3 | timeCreated: 1490926260 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Repository/PlayerPrefsRepository.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3cfb5e0a15c24cb40b2f1719fed87493 3 | timeCreated: 1490926259 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Repository/RemoteRepository.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using Assets.Sources.Core.Infrastructure; 5 | using Assets.Sources.Core.Network; 6 | using Assets.Sources.Models; 7 | using UnityEngine; 8 | 9 | namespace Assets.Sources.Core.Repository 10 | { 11 | public class RemoteRepository where T : class, new() 12 | { 13 | public ISerializer Serializer { get; set; } 14 | 15 | public RemoteRepository(ISerializer serializer=null) 16 | { 17 | Serializer = serializer ?? SerializerJson.Instance; 18 | } 19 | public void Get(string url, T instance, Action onSuccess) where R : class, new() 20 | { 21 | var parameters= HttpUtility.BuildParameters(instance, new StringBuilder("?")); 22 | var httpRequest = new HttpRequest 23 | { 24 | Url = url, 25 | Method = HttpMethod.Get, 26 | Parameters = parameters 27 | }; 28 | HttpClient.Instance.SendAsync(httpRequest, httpResponse => 29 | { 30 | if (httpResponse.IsSuccess) 31 | { 32 | onSuccess(Serializer.Deserialize(httpResponse.Data)); 33 | } 34 | //TODO:异常处理 35 | }); 36 | } 37 | 38 | public void Post(string url, T instance, Action onSuccess) where R : class, new() 39 | { 40 | var parameters = HttpUtility.BuildParameters(instance, new StringBuilder()); 41 | var httpRequest = new HttpRequest 42 | { 43 | Url = url, 44 | Method = HttpMethod.Post, 45 | Parameters = parameters 46 | }; 47 | HttpClient.Instance.SendAsync(httpRequest, httpResponse => 48 | { 49 | if (httpResponse.IsSuccess) 50 | { 51 | //TODO:判断是否有Data 52 | onSuccess(Serializer.Deserialize(httpResponse.Data)); 53 | } 54 | }); 55 | } 56 | 57 | public void Test() 58 | { 59 | Debug.Log("Hello..."); 60 | } 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Repository/RemoteRepository.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f58d73772536f34409f08a9e56326017 3 | timeCreated: 1490926771 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Repository/UnityResourcesRepository.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using Assets.Sources.Core.Infrastructure; 7 | using UnityEngine; 8 | 9 | namespace Assets.Sources.Core.Repository 10 | { 11 | public class UnityResourcesRepository : IRepository where T : class, new() 12 | { 13 | public string DataDirectory { get; private set; } 14 | private ISerializer Serializer { get; set; } 15 | public UnityResourcesRepository(string repositoryPath, ISerializer serializer = null) 16 | { 17 | DataDirectory = Path.Combine(repositoryPath, typeof(T).Name); 18 | Serializer = (serializer ?? SerializerXml.Instance); 19 | } 20 | 21 | public void Insert(T instance) 22 | { 23 | throw new NotImplementedException(); 24 | } 25 | 26 | public void Delete(T instance) 27 | { 28 | throw new NotImplementedException(); 29 | } 30 | 31 | public void Update(T instance) 32 | { 33 | throw new NotImplementedException(); 34 | } 35 | 36 | public IEnumerable Select(Func func) 37 | { 38 | List items = new List(); 39 | try 40 | { 41 | TextAsset[] textAssets = Resources.LoadAll(DataDirectory); 42 | for (int i = 0; i < textAssets.Length; i++) 43 | { 44 | TextAsset textAsset = textAssets[i]; 45 | T item = Serializer.Deserialize(textAsset.text); 46 | items.Add(item); 47 | } 48 | } 49 | catch (Exception e) 50 | { 51 | throw new Exception(e.ToString()); 52 | } 53 | return items.Where(func); 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Repository/UnityResourcesRepository.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bc1e53ebfe5b2de4d8218d3df83770bd 3 | timeCreated: 1490926260 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Thread.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: deca30a8850d2460c96db208312a77a4 3 | folderAsset: yes 4 | timeCreated: 1495532164 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Thread/DispatcherTest.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.UI; 3 | using System.Collections; 4 | using System.Threading; 5 | using AssemblyCSharp; 6 | using System; 7 | 8 | public class DispatcherTest : MonoBehaviour 9 | { 10 | 11 | public UnityEngine.UI.InputField output; 12 | 13 | private void Start() 14 | { 15 | Debug.Log("Main Thread Id:"+Thread.CurrentThread.ManagedThreadId); 16 | for (int i = 0; i < 10; ++i) 17 | { 18 | Thread t = new Thread(ThreadFunction); 19 | t.Start("Dispatched from Thread :" + i); 20 | } 21 | } 22 | 23 | private void ThreadFunction(object param) 24 | { 25 | Debug.Log("Current Thread Id :" + Thread.CurrentThread.ManagedThreadId); 26 | try{ 27 | 28 | UnityDispatcher.Current.BeginInvoke(() => 29 | { 30 | Debug.Log(" Is Main Thread:" + Thread.CurrentThread.ManagedThreadId); 31 | 32 | output.text += param; 33 | output.text += "\n"; 34 | }); 35 | }catch(Exception e){ 36 | 37 | Debug.Log (e.ToString()); 38 | 39 | } 40 | } 41 | } -------------------------------------------------------------------------------- /Assets/Sources/Core/Thread/DispatcherTest.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8c8369ac94f3d4926ae79fa98c1d8acd 3 | timeCreated: 1495545608 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Thread/ThreadJob.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using UnityEngine; 5 | using System.Threading; 6 | 7 | public class ThreadJob 8 | { 9 | private volatile bool _isDown; 10 | private Thread _thread; 11 | 12 | private Action _onBeginHandler; 13 | private Action _onFinishHandler; 14 | 15 | public ThreadJob(Action onBeginHandler,Action onFinishedHandler) 16 | { 17 | this._onBeginHandler = onBeginHandler; 18 | this._onFinishHandler = onFinishedHandler; 19 | } 20 | 21 | public virtual void Start(){ 22 | _thread = new Thread (Run); 23 | _thread.Start (); 24 | } 25 | 26 | public virtual void Abort(){ 27 | _thread.Abort (); 28 | } 29 | 30 | public void ThreadHandler(){ 31 | if(this._onBeginHandler!=null){ 32 | this._onBeginHandler (); 33 | } 34 | } 35 | 36 | public void OnFinished(){ 37 | if(this._onFinishHandler!=null){ 38 | this._onFinishHandler (); 39 | } 40 | } 41 | 42 | public virtual bool Update(){ 43 | if(_isDown){ 44 | OnFinished (); 45 | return true; 46 | 47 | } 48 | return false; 49 | } 50 | public IEnumerator WaitFor(){ 51 | while(!Update()){ 52 | //暂停协同程序,下一帧再继续往下执行 53 | yield return null; 54 | } 55 | } 56 | private void Run(){ 57 | ThreadHandler (); 58 | _isDown = true; 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Thread/ThreadJob.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c950edf266e95420386c9cb907baad5a 3 | timeCreated: 1495532210 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Thread/ThreadJobTest.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Threading; 4 | using DG.Tweening; 5 | using UnityEngine; 6 | using UnityEngine.UI; 7 | 8 | namespace AssemblyCSharp 9 | { 10 | public class ThreadJobTest:MonoBehaviour 11 | { 12 | 13 | public Image greenRect; 14 | public Image pinkRect; 15 | 16 | ThreadJob job; 17 | 18 | void Awake() 19 | { 20 | job = new ThreadJob( 21 | () => { 22 | Debug.Log("Work Thread :" + Thread.CurrentThread.ManagedThreadId + " work!"); 23 | //heavy job 24 | for (int i = 0; i < 12345; i++) 25 | { 26 | for (int j = 0; j < 12345; j++) 27 | { 28 | var z = i + j; 29 | } 30 | } 31 | }, 32 | 33 | () => { 34 | Debug.Log("Down"); 35 | }); 36 | } 37 | 38 | void Start(){ 39 | 40 | Debug.Log("Main Thread :"+Thread.CurrentThread.ManagedThreadId+" work!"); 41 | StartCoroutine (Move()); 42 | } 43 | 44 | IEnumerator Move() 45 | { 46 | 47 | pinkRect.transform.DOLocalMoveX(250, 1.0f); 48 | yield return new WaitForSeconds(1); 49 | pinkRect.transform.DOLocalMoveY(-150, 2); 50 | yield return new WaitForSeconds(2); 51 | //AI操作,陷入深思,在异步线程执行,GreenRect不会卡顿 52 | job.Start(); 53 | yield return StartCoroutine (job.WaitFor()); 54 | pinkRect.transform.DOLocalMoveY(150, 2); 55 | 56 | } 57 | 58 | void Update() 59 | { 60 | greenRect.transform.Rotate(Vector3.left, Time.deltaTime * 180); 61 | } 62 | } 63 | } 64 | 65 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Thread/ThreadJobTest.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e5265d3a69c1843e6a317e68cd195dbc 3 | timeCreated: 1495534984 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Thread/UnityDispatcher.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | using System.Collections.Generic; 4 | using System.Threading; 5 | 6 | namespace AssemblyCSharp 7 | { 8 | public class UnityDispatcher:MonoBehaviour 9 | { 10 | //Singletion 11 | private UnityDispatcher _current; 12 | public static UnityDispatcher Current { 13 | get; 14 | private set; 15 | } 16 | 17 | private int _lock; 18 | private bool _run; 19 | private Queue _wait; 20 | 21 | public void BeginInvoke(Action action){ 22 | while (true) { 23 | //以原子操作的形式,将 32 位有符号整数设置为指定的值并返回原始值。 24 | if (0 == Interlocked.Exchange (ref _lock, 1)) { 25 | //acquire lock 26 | _wait.Enqueue(action); 27 | _run = true; 28 | //exist 29 | Interlocked.Exchange (ref _lock,0); 30 | break; 31 | } 32 | 33 | } 34 | 35 | } 36 | 37 | void Awake(){ 38 | 39 | if (Current != null) { 40 | Destroy (Current); 41 | } 42 | 43 | Current = this; 44 | _wait = new Queue (); 45 | } 46 | 47 | void Update(){ 48 | 49 | if (_run) { 50 | Queue execute = null; 51 | //主线程不推荐使用lock关键字,防止block 线程,以至于deadlock 52 | if (0 == Interlocked.Exchange (ref _lock, 1)) { 53 | 54 | execute = new Queue(_wait.Count); 55 | 56 | while(_wait.Count!=0){ 57 | 58 | Action action = _wait.Dequeue (); 59 | execute.Enqueue (action); 60 | 61 | } 62 | //finished 63 | _run=false; 64 | //release 65 | Interlocked.Exchange (ref _lock,0); 66 | } 67 | //not block 68 | if (execute != null) { 69 | 70 | while (execute.Count != 0) { 71 | 72 | Action action = execute.Dequeue (); 73 | action (); 74 | } 75 | } 76 | 77 | } 78 | } 79 | } 80 | } 81 | 82 | -------------------------------------------------------------------------------- /Assets/Sources/Core/Thread/UnityDispatcher.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: da520db57580a4cecae2fbf5484080c4 3 | timeCreated: 1495545608 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/View.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 02aafd2a21033b3438ed5cb525ef564c 3 | folderAsset: yes 4 | timeCreated: 1489081482 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Sources/Core/View/IView.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace uMVVM.Sources.Infrastructure 7 | { 8 | /// 9 | /// 统一的视图接口 10 | /// 11 | public interface IView where T : ViewModelBase 12 | { 13 | T BindingContext { get; set; } 14 | void Reveal(bool immediate=false,Action action=null); 15 | void Hide(bool immediate=false,Action action=null); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Assets/Sources/Core/View/IView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 834fb3dcc21e9454386f20c06075a90f 3 | timeCreated: 1462850185 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Core/View/UnityGuiView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5e0c584451c0b654a9aaf7630e79bddb 3 | timeCreated: 1462850182 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Infrastructure.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e53407bfe5f475a4a903caa77ed480f4 3 | folderAsset: yes 4 | timeCreated: 1490604481 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Sources/Infrastructure/ClanInstall.cs: -------------------------------------------------------------------------------- 1 | using Assets.Sources.Core.Factory; 2 | using Assets.Sources.Core.Inject; 3 | using Assets.Sources.Repositories; 4 | using Assets.Sources.ViewModels; 5 | using Assets.Sources.Views; 6 | using UnityEngine; 7 | 8 | namespace Assets.Sources.Infrastructure 9 | { 10 | public class ClanInstall:MonoBehaviour 11 | { 12 | public ClanView clanView; 13 | void Start() 14 | { 15 | //绑定上下文 16 | clanView.BindingContext = new ClanViewModel(); 17 | //立刻显示 18 | clanView.Reveal(); 19 | 20 | PoolObjectFactory poolObjectFactory=new PoolObjectFactory(5,true); 21 | 22 | poolObjectFactory.AcquireObject(typeof(UserRepository)); 23 | poolObjectFactory.AcquireObject(typeof(UserRepository)); 24 | poolObjectFactory.AcquireObject(typeof(UserRepository)); 25 | 26 | var result=poolObjectFactory.AcquireObject(typeof(UserRepository)); 27 | poolObjectFactory.ReleaseObject(result); 28 | 29 | poolObjectFactory.AcquireObject(typeof(UserRepository)); 30 | poolObjectFactory.AcquireObject(typeof(UserRepository)); 31 | 32 | // ServiceLocator.RegisterSingleton(); 33 | 34 | // 35 | // var userRepo = ServiceLocator.Resolve(); 36 | // userRepo.Add(); 37 | // 38 | // var userRepo1 = ServiceLocator.Resolve(); 39 | // userRepo1.Add(); 40 | 41 | // var unitRepo = ServiceLocator.Resolve(); 42 | // unitRepo.Get(); 43 | 44 | ServiceLocator.RegisterSingleton(); 45 | ServiceLocator.Resolve(); 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /Assets/Sources/Infrastructure/ClanInstall.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cc086f61ef9f34146923df3d3680ba0b 3 | timeCreated: 1490720063 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Infrastructure/FaceBoxInstall.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Assets.Sources.ViewModels; 6 | using Assets.Sources.Views; 7 | using uMVVM.Sources.ViewModels; 8 | using uMVVM.Sources.Views; 9 | using UnityEngine; 10 | 11 | namespace Assets.Sources.Infrastructure 12 | { 13 | public class FaceBoxInstall : MonoBehaviour 14 | { 15 | 16 | public FaceBoxView FaceBoxView; 17 | void Start() 18 | { 19 | //绑定上下文 20 | FaceBoxView.BindingContext = new FaceBoxViewModel(); 21 | //立刻显示 22 | FaceBoxView.Reveal(); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Assets/Sources/Infrastructure/FaceBoxInstall.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f22f71c429f02de4388bdf6e75fe571f 3 | timeCreated: 1490605111 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Infrastructure/GlobalSettings.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using UnityEngine; 6 | 7 | namespace Assets.Sources.Infrastructure 8 | { 9 | public class GlobalSettings:MonoBehaviour 10 | { 11 | public Sprite Avatar201_Face; 12 | public Sprite Avatar201_Pose; 13 | 14 | public Sprite Avatar202_Face; 15 | public Sprite Avatar202_Pose; 16 | 17 | public Sprite Avatar203_Face; 18 | public Sprite Avatar203_Pose; 19 | 20 | public Sprite Avatar204_Face; 21 | public Sprite Avatar204_Pose; 22 | 23 | public Sprite Avatar205_Face; 24 | public Sprite Avatar205_Pose; 25 | 26 | public Sprite Icon_ElementDark; 27 | public Sprite Icon_ElementEarth; 28 | public Sprite Icon_ElementFire; 29 | public Sprite Icon_ElementIce; 30 | public Sprite Icon_ElementLight; 31 | public Sprite Icon_ElementMetal; 32 | 33 | public Sprite Icon_WeaponAxe; 34 | public Sprite Icon_WeaponBow; 35 | public Sprite Icon_WeaponGun; 36 | public Sprite Icon_WeaponRod; 37 | public Sprite Icon_WeaponSpear; 38 | public Sprite Icon_WeaponSword; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /Assets/Sources/Infrastructure/GlobalSettings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 834bd17e9a7c1304681a969ae388a3f2 3 | timeCreated: 1490604481 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Infrastructure/Install.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Assets.Sources.ViewModels; 6 | using Assets.Sources.Views; 7 | using uMVVM.Sources.ViewModels; 8 | using uMVVM.Sources.Views; 9 | using UnityEngine; 10 | 11 | 12 | namespace uMVVM.Sources 13 | { 14 | public class Install:MonoBehaviour 15 | { 16 | // Use this for initialization 17 | public SetupView setupView; 18 | public TestView testView; 19 | void Start() 20 | { 21 | //绑定上下文 22 | setupView.BindingContext=new SetupViewModel(); 23 | testView.BindingContext=new TestViewModel(); 24 | //以动画模式缓慢显示 25 | setupView.Reveal(false, () => 26 | { 27 | Debug.Log("测试"); 28 | }); 29 | //立刻显示 30 | testView.Reveal(true); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Assets/Sources/Infrastructure/Install.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7e40d080a261c674781de4ad63dd0d76 3 | timeCreated: 1462864621 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Models.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ffce20a6b2fd3e940a3ee782210f2bb4 3 | folderAsset: yes 4 | timeCreated: 1462802129 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Sources/Models/Badge.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Assets.Sources.Models 7 | { 8 | public class Badge 9 | { 10 | public string Icon { get; set; } 11 | public string ElementColor { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Assets/Sources/Models/Badge.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f680cf5bb16b1f14c8d26feb71af635b 3 | timeCreated: 1490603881 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Models/Combatant.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Security.Principal; 5 | using System.Text; 6 | using Assets.Sources.Core.Repository; 7 | 8 | namespace uMVVM.Sources.Models 9 | { 10 | public class Combatant 11 | { 12 | [RepositoryKey] 13 | public int Id { get; set; } 14 | public string Name { get; set; } 15 | public string Job { get; set; } 16 | public float SuccessRate { get; set; } 17 | public State State { get; set; } 18 | } 19 | public enum State 20 | { 21 | JoinIn, 22 | Wait 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /Assets/Sources/Models/Combatant.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b4186b28cc59a744882f511a1162488c 3 | timeCreated: 1462847385 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Models/FaceBox.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Assets.Sources.Models 7 | { 8 | public class FaceBox 9 | { 10 | public string Name { get; set; } 11 | public int Level { get; set; } 12 | public string Face { get; set; } 13 | public Badge Badge { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Assets/Sources/Models/FaceBox.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2b71df2f9dce54d4a8d6071392bbeff6 3 | timeCreated: 1490718367 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Models/Identity.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Assets.Sources.Models 4 | { 5 | public class Identity 6 | { 7 | public string Token{ get; set; } 8 | public string DeviceId{ get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Assets/Sources/Models/Identity.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0cd97842b07f443bf97a7c1da0901560 3 | timeCreated: 1496747752 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Models/User.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Assets.Sources.Core.Repository; 6 | 7 | namespace Assets.Sources.Models 8 | { 9 | [System.Serializable] 10 | public class User 11 | { 12 | public string Name; 13 | public int Age; 14 | public Address Address; 15 | public List Trades; 16 | } 17 | 18 | [System.Serializable] 19 | public class Address 20 | { 21 | public string Name; 22 | public string PostCode; 23 | } 24 | 25 | [System.Serializable] 26 | public class Trade 27 | { 28 | public string Name; 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /Assets/Sources/Models/User.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d0be62a60b12048eb8523d619ddeead6 3 | timeCreated: 1496747752 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Repositories.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fee65f8bea75566449d8cad9c457a7e4 3 | folderAsset: yes 4 | timeCreated: 1490878744 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Sources/Repositories/IUnitRepository.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Assets.Sources.Repositories 7 | { 8 | public interface IUnitRepository 9 | { 10 | void Get(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Assets/Sources/Repositories/IUnitRepository.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bea0b31b9c9f4f741b9361768407c5c1 3 | timeCreated: 1490878745 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Repositories/IUserRepository.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Assets.Sources.Repositories 7 | { 8 | public interface IUserRepository 9 | { 10 | void Add(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Assets/Sources/Repositories/IUserRepository.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 808475e7d199a4047926e79fdf904858 3 | timeCreated: 1490878745 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Repositories/UnitRepository.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using UnityEngine; 6 | 7 | namespace Assets.Sources.Repositories 8 | { 9 | public class UnitRepository:IUnitRepository 10 | { 11 | public void Get() 12 | { 13 | Debug.Log("Get----UnitRepository"); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Assets/Sources/Repositories/UnitRepository.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 109c851502c7206489271fd8e6739617 3 | timeCreated: 1490878744 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Repositories/UserRepository.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using UnityEngine; 6 | 7 | namespace Assets.Sources.Repositories 8 | { 9 | public class UserRepository:IUserRepository 10 | { 11 | public void Add() 12 | { 13 | Debug.Log("UserRepository"); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Assets/Sources/Repositories/UserRepository.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a9b9fb7a075c17c44803ae871d4dab21 3 | timeCreated: 1490878745 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/ViewModels.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1e788bf9e9838ed4784a12373241e11e 3 | folderAsset: yes 4 | timeCreated: 1462802117 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Sources/ViewModels/BadgeViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Assets.Sources.Core.DataBinding; 6 | using Assets.Sources.Models; 7 | using uMVVM.Sources.Infrastructure; 8 | 9 | namespace Assets.Sources.ViewModels 10 | { 11 | public class BadgeViewModel:ViewModelBase 12 | { 13 | public readonly BindableProperty Icon=new BindableProperty(); 14 | public readonly BindableProperty ElementColor = new BindableProperty(); 15 | public void Initialization(Badge badge) 16 | { 17 | Icon.Value = badge.Icon; 18 | ElementColor.Value = badge.ElementColor; 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Assets/Sources/ViewModels/BadgeViewModel.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0076f7f8c896ec04daee333fb754ebc8 3 | timeCreated: 1490603881 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/ViewModels/ClanViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using Assets.Sources.Core.DataBinding; 5 | using Assets.Sources.Models; 6 | using uMVVM.Sources.Infrastructure; 7 | 8 | namespace Assets.Sources.ViewModels 9 | { 10 | public class ClanViewModel : ViewModelBase 11 | { 12 | public readonly ObservableList Members = new ObservableList(); 13 | 14 | #region 数据源 15 | public List DataSource = new List 16 | { 17 | new FaceBox 18 | { 19 | Name = "Eyes", 20 | Level = 10, 21 | Face = "Avatar201_Face", 22 | Badge = new Badge {Icon = "Icon_WeaponRod", ElementColor = "1CB9FFFF"} 23 | }, 24 | new FaceBox 25 | { 26 | Name = "Jack", 27 | Level = 8, 28 | Face = "Avatar202_Face", 29 | Badge = new Badge {Icon = "Icon_WeaponSpear", ElementColor = "FF5821FF"} 30 | }, 31 | new FaceBox 32 | { 33 | Name = "James", 34 | Level = 11, 35 | Face = "Avatar203_Face", 36 | Badge = new Badge {Icon = "Icon_WeaponSword", ElementColor = "09953BFF"} 37 | }, 38 | new FaceBox 39 | { 40 | Name = "Bruce", 41 | Level = 8, 42 | Face = "Avatar204_Face", 43 | Badge = new Badge {Icon = "Icon_WeaponGun", ElementColor = "591E9FFF"} 44 | } 45 | }; 46 | #endregion 47 | 48 | public override void OnStartReveal() 49 | { 50 | base.OnStartReveal(); 51 | Initialization(); 52 | } 53 | 54 | 55 | public void Initialization() 56 | { 57 | Members.Value = DataSource.ToList(); 58 | } 59 | 60 | public void AddMember() 61 | { 62 | if (Members.Count<4) 63 | { 64 | var result = DataSource.OrderBy(o => Guid.NewGuid()).First(); 65 | Members.Add(result); 66 | } 67 | } 68 | 69 | public void RemoveMember() 70 | { 71 | if (Members.Count>0) 72 | { 73 | Members.Remove(Members[0]); 74 | } 75 | } 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /Assets/Sources/ViewModels/ClanViewModel.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e1bbb4ef635bdb84abe1cbb6d3c3f04f 3 | timeCreated: 1490718367 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/ViewModels/FaceBoxViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Assets.Sources.Models; 6 | using uMVVM.Sources.Infrastructure; 7 | 8 | namespace Assets.Sources.ViewModels 9 | { 10 | public class FaceBoxViewModel:ViewModelBase 11 | { 12 | public readonly BindableProperty Name=new BindableProperty(); 13 | public readonly BindableProperty Level=new BindableProperty(); 14 | public readonly BindableProperty Face=new BindableProperty(); 15 | public readonly BindableProperty Badge=new BindableProperty(); 16 | public delegate void OnBeginDragHandler(); 17 | public OnBeginDragHandler OnBeginDrag; 18 | public delegate void OnDragHandler(); 19 | public OnDragHandler OnDrag; 20 | public delegate void OnEndDragHandler(); 21 | public OnEndDragHandler OnEndDrag; 22 | public delegate void OnClickHandler(); 23 | public OnClickHandler OnClick; 24 | 25 | public override void OnStartReveal() 26 | { 27 | base.OnStartReveal(); 28 | //Initialization(); 29 | } 30 | 31 | public void Initialization() 32 | { 33 | Name.Value = "比尔"; 34 | Level.Value = 9; 35 | Face.Value = "Avatar204_Face"; 36 | Badge.Value = new Badge() {Icon = "Icon_WeaponRod", ElementColor = "1CB9FFFF"}; 37 | } 38 | 39 | public void InitializationFromData(FaceBox member) 40 | { 41 | Name.Value = member.Name; 42 | Level.Value = member.Level; 43 | Face.Value = member.Face; 44 | Badge.Value = new Badge() { Icon = member.Badge.Icon, ElementColor = member.Badge.ElementColor }; 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /Assets/Sources/ViewModels/FaceBoxViewModel.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5777294ecc09100469d4edc1db5dd17a 3 | timeCreated: 1490603881 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/ViewModels/SetupViewModel.cs: -------------------------------------------------------------------------------- 1 |  2 | using System; 3 | using Assets.Sources.Core.Message; 4 | using Assets.Sources.Infrastructure; 5 | using uMVVM.Sources.Infrastructure; 6 | using uMVVM.Sources.Models; 7 | using Debug = UnityEngine.Debug; 8 | 9 | namespace uMVVM.Sources.ViewModels 10 | { 11 | public class SetupViewModel:ViewModelBase 12 | { 13 | public readonly BindableProperty Name = new BindableProperty(); 14 | public readonly BindableProperty Job=new BindableProperty(); 15 | public readonly BindableProperty ATK = new BindableProperty(); 16 | public readonly BindableProperty SuccessRate=new BindableProperty(); 17 | public readonly BindableProperty State=new BindableProperty(); 18 | 19 | 20 | public void JoininCurrentTeam() 21 | { 22 | MessageAggregator.Instance.Publish("Toggle", this,new MessageArgs("Red")); 23 | 24 | Debug.Log(Name.Value + "加入当前Team,职业:"+Job.Value+",攻击力:"+ATK.Value+"成功率:"+SuccessRate.Value); 25 | } 26 | 27 | public void JoininClan() 28 | { 29 | MessageAggregator.Instance.Publish("Toggle", this, new MessageArgs("Yellow")); 30 | Debug.Log(Name.Value + "加入当前Clan,职业:" + Job.Value + ",攻击力:" + ATK.Value + "成功率:" + SuccessRate.Value); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Assets/Sources/ViewModels/SetupViewModel.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ee79f7c4e92f62e4ea4e850ad6672e8f 3 | timeCreated: 1462847385 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/ViewModels/TestViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Assets.Sources.Core.Message; 6 | using Assets.Sources.Infrastructure; 7 | using uMVVM.Sources.Infrastructure; 8 | using UnityEngine; 9 | 10 | namespace Assets.Sources.ViewModels 11 | { 12 | public class TestViewModel:ViewModelBase 13 | { 14 | public readonly BindableProperty Color=new BindableProperty(); 15 | 16 | public TestViewModel() 17 | { 18 | MessageAggregator.Instance.Subscribe("Toggle",ToggleHandler); 19 | } 20 | 21 | private void ToggleHandler(object sender, MessageArgs args) 22 | { 23 | Color.Value = (string) args.Item; 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Assets/Sources/ViewModels/TestViewModel.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b381893ccc6248943913a924838e381d 3 | timeCreated: 1489082380 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Views.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e50a1b00728d95f4f9ef497386dd2086 3 | folderAsset: yes 4 | timeCreated: 1462802143 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Sources/Views/BadgeView.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Assets.Sources.Core.Infrastructure; 6 | using Assets.Sources.Infrastructure; 7 | using Assets.Sources.ViewModels; 8 | using uMVVM.Sources.Infrastructure; 9 | using UnityEngine; 10 | using UnityEngine.UI; 11 | 12 | namespace Assets.Sources.Views 13 | { 14 | public class BadgeView:UnityGuiView 15 | { 16 | public Image iconImage; 17 | public Image elementColorImage; 18 | 19 | protected override void OnInitialize() 20 | { 21 | base.OnInitialize(); 22 | Binder.Add("Icon",OnIconPropertyValueChanged); 23 | Binder.Add("ElementColor",OnElementColorPropertyValueChanged); 24 | } 25 | 26 | private void OnElementColorPropertyValueChanged(string oldvalue, string newvalue) 27 | { 28 | elementColorImage.color = HexConverter.HexToColor(newvalue); 29 | } 30 | 31 | private void OnIconPropertyValueChanged(string oldValue, string newValue) 32 | { 33 | var settings = GameObject.Find("UICamera").GetComponent(); 34 | var field = typeof(GlobalSettings).GetField(newValue); 35 | iconImage.sprite = field.GetValue(settings) as Sprite; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /Assets/Sources/Views/BadgeView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0812083d7bd4b9b449e4d64ef334eb79 3 | timeCreated: 1490603881 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Views/ClanView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0f0a8bb4552925f48a8e1aea49cb0dbc 3 | timeCreated: 1490718367 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Views/FaceBoxView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1852253a46494904bb930eb96d5a60ac 3 | timeCreated: 1490603881 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Views/LogMultiStrategyTest.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Assets.Sources.Core.Log; 6 | using UnityEngine; 7 | 8 | namespace Assets.Sources.Views 9 | { 10 | public class LogMultiStrategyTest:MonoBehaviour 11 | { 12 | void Start() 13 | { 14 | LogFactory.Instance.Resolve().Log("Welcome",true); 15 | 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Assets/Sources/Views/LogMultiStrategyTest.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 43f87674064ab4846a16aefc8989fdb0 3 | timeCreated: 1498995526 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Views/NetworkView.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Assets.Sources.Core.Infrastructure; 6 | using Assets.Sources.Core.Network; 7 | using Assets.Sources.Core.Proxy; 8 | using Assets.Sources.Core.Repository; 9 | using Assets.Sources.Models; 10 | using uMVVM.Sources.Infrastructure; 11 | using UnityEngine; 12 | using UnityEngine.UI; 13 | 14 | namespace Assets.Sources.Views 15 | { 16 | public class NetworkView:MonoBehaviour 17 | { 18 | public Image greenRect; 19 | 20 | private bool stop; 21 | void Start() 22 | { 23 | 24 | var repository=new RemoteRepository(); 25 | //Proxy 26 | 27 | Proxy.Instance.SetTarget(repository) 28 | .SetMethod("Test") 29 | .SetArgs(new object[] {}) 30 | .SetInvocationHandler(new LogInvocationHandler()) 31 | .Invoke(); 32 | 33 | //Loding 34 | repository.Get>("http://localhost/User/List", 35 | new Identity() {DeviceId = SystemInfo.deviceUniqueIdentifier, Token = TokenHelper.Create()}, 36 | (response) => 37 | { 38 | Debug.Log(response.Items[0].Address.Name); 39 | stop = true; 40 | }); 41 | } 42 | 43 | void Update() 44 | { 45 | if (!stop) 46 | { 47 | greenRect.transform.Rotate(Vector3.left, Time.deltaTime * 180); 48 | } 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /Assets/Sources/Views/NetworkView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2b2dbe9a82781a14a9a5f45e70b754fe 3 | timeCreated: 1496505136 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Views/SetupView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7b176f2b3cff2a34da01a90f9ae737b4 3 | timeCreated: 1462847385 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Views/TestView.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Assets.Sources.ViewModels; 6 | using uMVVM.Sources.Infrastructure; 7 | using uMVVM.Sources.ViewModels; 8 | using UnityEngine; 9 | using UnityEngine.UI; 10 | 11 | namespace Assets.Sources.Views 12 | { 13 | public class TestView:UnityGuiView 14 | { 15 | public Image buttonImage; 16 | public TestViewModel ViewModelBase { get { return (TestViewModel)BindingContext; } } 17 | 18 | protected override void OnInitialize() 19 | { 20 | base.OnInitialize(); 21 | Binder.Add("Color",OnColorPropertyValueChanged); 22 | } 23 | 24 | private void OnColorPropertyValueChanged(string oldValue, string newValue) 25 | { 26 | switch (newValue) 27 | { 28 | case "Red": 29 | buttonImage.color = Color.red; 30 | break; 31 | case "Yellow": 32 | buttonImage.color = Color.yellow; 33 | break; 34 | default: 35 | break; 36 | } 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /Assets/Sources/Views/TestView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d8c39bfe533ec3c44b7ffb895650a6a9 3 | timeCreated: 1489082380 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 木宛城主 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/ProjectSettings/AudioManager.asset -------------------------------------------------------------------------------- /ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/ProjectSettings/ClusterInputManager.asset -------------------------------------------------------------------------------- /ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/ProjectSettings/DynamicsManager.asset -------------------------------------------------------------------------------- /ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/ProjectSettings/EditorBuildSettings.asset -------------------------------------------------------------------------------- /ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/ProjectSettings/EditorSettings.asset -------------------------------------------------------------------------------- /ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/ProjectSettings/GraphicsSettings.asset -------------------------------------------------------------------------------- /ProjectSettings/InputManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/ProjectSettings/InputManager.asset -------------------------------------------------------------------------------- /ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/ProjectSettings/NavMeshAreas.asset -------------------------------------------------------------------------------- /ProjectSettings/NetworkManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/ProjectSettings/NetworkManager.asset -------------------------------------------------------------------------------- /ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/ProjectSettings/Physics2DSettings.asset -------------------------------------------------------------------------------- /ProjectSettings/ProjectSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/ProjectSettings/ProjectSettings.asset -------------------------------------------------------------------------------- /ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 5.5.0f3 2 | -------------------------------------------------------------------------------- /ProjectSettings/QualitySettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/ProjectSettings/QualitySettings.asset -------------------------------------------------------------------------------- /ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/ProjectSettings/TagManager.asset -------------------------------------------------------------------------------- /ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/ProjectSettings/TimeManager.asset -------------------------------------------------------------------------------- /ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEyes/uMVVM/c7ceaa25a4543da44d456d17b4d2878b1c5bd22d/ProjectSettings/UnityConnectSettings.asset -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | **Architecting Application for Unity,the main content includes several parts:** 3 | 4 | - 1).Designing view&viewmodel 5 | - 2).Using message mediator communication between viewmodels 6 | - 3).Setting up view&viewmodel lifecycle 7 | - 4).Using Reusable subview&subviewmodel components 8 | - 5).Sharing data between viewmodels 9 | - 6).Building singleton,transient & pool factory 10 | - 7).Using service locator & Repository pattern 11 | - 8).Async Thread work with croutine 12 | - 9).Building lightweight network layer 13 | - 10).Simple AOP implement 14 | - 11).using log strategy 15 | 16 | The wiki page link: http://www.cnblogs.com/OceanEyes/category/972425.html 17 | --------------------------------------------------------------------------------