From a23f74c2f922421a4d2154e8669f314e234ee6e8 Mon Sep 17 00:00:00 2001 From: ALEXTANG <574809918@qq.com> Date: Fri, 23 Sep 2022 10:38:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0Demo=E7=A4=BA=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 增加Demo示例 --- Assets/TEngine.Demo.meta | 8 + Assets/TEngine.Demo/Readme.asset | 40 ++ Assets/TEngine.Demo/Readme.asset.meta | 8 + Assets/TEngine.Demo/ReadmeHelper.meta | 8 + Assets/TEngine.Demo/ReadmeHelper/Layout.wlt | 654 ++++++++++++++++++ .../TEngine.Demo/ReadmeHelper/Layout.wlt.meta | 7 + Assets/TEngine.Demo/ReadmeHelper/Scripts.meta | 8 + .../ReadmeHelper/Scripts/Editor.meta | 9 + .../Scripts/Editor/ReadmeEditor.cs | 160 +++++ .../Scripts/Editor/ReadmeEditor.cs.meta | 12 + .../ReadmeHelper/Scripts/Readme.cs | 14 + .../ReadmeHelper/Scripts/Readme.cs.meta | 12 + Assets/TEngine.Demo/TEngine.ActorDemo.meta | 8 + .../TEngine.ActorDemo/ActorTest.unity | 433 ++++++++++++ .../TEngine.ActorDemo/ActorTest.unity.meta | 7 + .../TEngine.ActorDemo/ActorTestMain.cs | 249 +++++++ .../TEngine.ActorDemo/ActorTestMain.cs.meta | 11 + .../TEngine.ActorDemo/Resources.meta | 8 + .../Resources/Capsule.prefab | 96 +++ .../Resources/Capsule.prefab.meta | 7 + Assets/TEngine.Demo/TEngine.Demo.asmdef | 15 + Assets/TEngine.Demo/TEngine.Demo.asmdef.meta | 7 + Assets/TEngine.Demo/TEngine.EntityDemo.meta | 8 + .../TEngine.EntityDemo/EntityDemo.unity | 433 ++++++++++++ .../TEngine.EntityDemo/EntityDemo.unity.meta | 7 + .../TEngine.EntityDemo/EntityTestMain.cs | 56 ++ .../TEngine.EntityDemo/EntityTestMain.cs.meta | 11 + .../TEngine.EntityDemo/Resources.meta | 8 + .../TEngine.EntityDemo/Resources/Cube.prefab | 95 +++ .../Resources/Cube.prefab.meta | 7 + Assets/TEngine.Demo/TEngine.NetDemo.meta | 8 + .../TEngine.NetDemo/NetDemo.unity | 326 +++++++++ .../TEngine.NetDemo/NetDemo.unity.meta | 7 + .../TEngine.NetDemo/NetTestMain.cs | 68 ++ .../TEngine.NetDemo/NetTestMain.cs.meta | 11 + .../TEngine.NetDemo/TEngineLoginUI.cs | 47 ++ .../TEngine.NetDemo/TEngineLoginUI.cs.meta | 11 + Assets/TEngine.Demo/TEngine.UIDemo.meta | 8 + 38 files changed, 2892 insertions(+) create mode 100644 Assets/TEngine.Demo.meta create mode 100644 Assets/TEngine.Demo/Readme.asset create mode 100644 Assets/TEngine.Demo/Readme.asset.meta create mode 100644 Assets/TEngine.Demo/ReadmeHelper.meta create mode 100644 Assets/TEngine.Demo/ReadmeHelper/Layout.wlt create mode 100644 Assets/TEngine.Demo/ReadmeHelper/Layout.wlt.meta create mode 100644 Assets/TEngine.Demo/ReadmeHelper/Scripts.meta create mode 100644 Assets/TEngine.Demo/ReadmeHelper/Scripts/Editor.meta create mode 100644 Assets/TEngine.Demo/ReadmeHelper/Scripts/Editor/ReadmeEditor.cs create mode 100644 Assets/TEngine.Demo/ReadmeHelper/Scripts/Editor/ReadmeEditor.cs.meta create mode 100644 Assets/TEngine.Demo/ReadmeHelper/Scripts/Readme.cs create mode 100644 Assets/TEngine.Demo/ReadmeHelper/Scripts/Readme.cs.meta create mode 100644 Assets/TEngine.Demo/TEngine.ActorDemo.meta create mode 100644 Assets/TEngine.Demo/TEngine.ActorDemo/ActorTest.unity create mode 100644 Assets/TEngine.Demo/TEngine.ActorDemo/ActorTest.unity.meta create mode 100644 Assets/TEngine.Demo/TEngine.ActorDemo/ActorTestMain.cs create mode 100644 Assets/TEngine.Demo/TEngine.ActorDemo/ActorTestMain.cs.meta create mode 100644 Assets/TEngine.Demo/TEngine.ActorDemo/Resources.meta create mode 100644 Assets/TEngine.Demo/TEngine.ActorDemo/Resources/Capsule.prefab create mode 100644 Assets/TEngine.Demo/TEngine.ActorDemo/Resources/Capsule.prefab.meta create mode 100644 Assets/TEngine.Demo/TEngine.Demo.asmdef create mode 100644 Assets/TEngine.Demo/TEngine.Demo.asmdef.meta create mode 100644 Assets/TEngine.Demo/TEngine.EntityDemo.meta create mode 100644 Assets/TEngine.Demo/TEngine.EntityDemo/EntityDemo.unity create mode 100644 Assets/TEngine.Demo/TEngine.EntityDemo/EntityDemo.unity.meta create mode 100644 Assets/TEngine.Demo/TEngine.EntityDemo/EntityTestMain.cs create mode 100644 Assets/TEngine.Demo/TEngine.EntityDemo/EntityTestMain.cs.meta create mode 100644 Assets/TEngine.Demo/TEngine.EntityDemo/Resources.meta create mode 100644 Assets/TEngine.Demo/TEngine.EntityDemo/Resources/Cube.prefab create mode 100644 Assets/TEngine.Demo/TEngine.EntityDemo/Resources/Cube.prefab.meta create mode 100644 Assets/TEngine.Demo/TEngine.NetDemo.meta create mode 100644 Assets/TEngine.Demo/TEngine.NetDemo/NetDemo.unity create mode 100644 Assets/TEngine.Demo/TEngine.NetDemo/NetDemo.unity.meta create mode 100644 Assets/TEngine.Demo/TEngine.NetDemo/NetTestMain.cs create mode 100644 Assets/TEngine.Demo/TEngine.NetDemo/NetTestMain.cs.meta create mode 100644 Assets/TEngine.Demo/TEngine.NetDemo/TEngineLoginUI.cs create mode 100644 Assets/TEngine.Demo/TEngine.NetDemo/TEngineLoginUI.cs.meta create mode 100644 Assets/TEngine.Demo/TEngine.UIDemo.meta diff --git a/Assets/TEngine.Demo.meta b/Assets/TEngine.Demo.meta new file mode 100644 index 00000000..1954d2a3 --- /dev/null +++ b/Assets/TEngine.Demo.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7c5d235a25f43b446814e0c3ce606a96 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TEngine.Demo/Readme.asset b/Assets/TEngine.Demo/Readme.asset new file mode 100644 index 00000000..0326f1ba --- /dev/null +++ b/Assets/TEngine.Demo/Readme.asset @@ -0,0 +1,40 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fcf7219bab7fe46a1ad266029b2fee19, type: 3} + m_Name: Readme + m_EditorClassIdentifier: + icon: {fileID: 2800000, guid: 9b84c330de497af4793fd7b376afed13, type: 3} + title: TEngine Demo + sections: + - heading: + text: '这些案例是基于TEngine2.0的Demo ' + linkText: + url: + - heading: 1.TEngine.NetDemo + text: '网络模块demo.' + - heading: 2.TEngine.EntityDemo + text: '实体模块demo.' + linkText: + url: + - heading: 3.TEngine.UIDemo + text: 'UI模块demo 示例以及常用用法' + linkText: + url: + - heading: 4.TEngine.ActorDemo + text: 'Actor模块demo 示例以及常用用法' + linkText: + url: + - heading: 在线文档 + text: 'To read more about TEngine please see the TEngine documentation :' + linkText: TEngine documentation + url: http://1.12.241.46:5000/ + loadedLayout: 1 \ No newline at end of file diff --git a/Assets/TEngine.Demo/Readme.asset.meta b/Assets/TEngine.Demo/Readme.asset.meta new file mode 100644 index 00000000..86bcb295 --- /dev/null +++ b/Assets/TEngine.Demo/Readme.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2ac4e22bd79738542892052f64618470 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TEngine.Demo/ReadmeHelper.meta b/Assets/TEngine.Demo/ReadmeHelper.meta new file mode 100644 index 00000000..60d9b667 --- /dev/null +++ b/Assets/TEngine.Demo/ReadmeHelper.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7dcbf81c27f989848aefedef78557b49 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TEngine.Demo/ReadmeHelper/Layout.wlt b/Assets/TEngine.Demo/ReadmeHelper/Layout.wlt new file mode 100644 index 00000000..7b50a252 --- /dev/null +++ b/Assets/TEngine.Demo/ReadmeHelper/Layout.wlt @@ -0,0 +1,654 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &1 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12004, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_PixelRect: + serializedVersion: 2 + x: 0 + y: 45 + width: 1666 + height: 958 + m_ShowMode: 4 + m_Title: + m_RootView: {fileID: 6} + m_MinSize: {x: 950, y: 542} + m_MaxSize: {x: 10000, y: 10000} +--- !u!114 &2 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 0 + y: 466 + width: 290 + height: 442 + m_MinSize: {x: 234, y: 271} + m_MaxSize: {x: 10004, y: 10021} + m_ActualView: {fileID: 14} + m_Panes: + - {fileID: 14} + m_Selected: 0 + m_LastSelected: 0 +--- !u!114 &3 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: + - {fileID: 4} + - {fileID: 2} + m_Position: + serializedVersion: 2 + x: 973 + y: 0 + width: 290 + height: 908 + m_MinSize: {x: 234, y: 492} + m_MaxSize: {x: 10004, y: 14042} + vertical: 1 + controlID: 226 +--- !u!114 &4 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 290 + height: 466 + m_MinSize: {x: 204, y: 221} + m_MaxSize: {x: 4004, y: 4021} + m_ActualView: {fileID: 17} + m_Panes: + - {fileID: 17} + m_Selected: 0 + m_LastSelected: 0 +--- !u!114 &5 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 0 + y: 466 + width: 973 + height: 442 + m_MinSize: {x: 202, y: 221} + m_MaxSize: {x: 4002, y: 4021} + m_ActualView: {fileID: 15} + m_Panes: + - {fileID: 15} + m_Selected: 0 + m_LastSelected: 0 +--- !u!114 &6 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12008, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: + - {fileID: 7} + - {fileID: 8} + - {fileID: 9} + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 1666 + height: 958 + m_MinSize: {x: 950, y: 542} + m_MaxSize: {x: 10000, y: 10000} +--- !u!114 &7 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12011, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 1666 + height: 30 + m_MinSize: {x: 0, y: 0} + m_MaxSize: {x: 0, y: 0} + m_LastLoadedLayoutName: Tutorial +--- !u!114 &8 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: + - {fileID: 10} + - {fileID: 3} + - {fileID: 11} + m_Position: + serializedVersion: 2 + x: 0 + y: 30 + width: 1666 + height: 908 + m_MinSize: {x: 713, y: 492} + m_MaxSize: {x: 18008, y: 14042} + vertical: 0 + controlID: 74 +--- !u!114 &9 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12042, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 0 + y: 938 + width: 1666 + height: 20 + m_MinSize: {x: 0, y: 0} + m_MaxSize: {x: 0, y: 0} +--- !u!114 &10 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: + - {fileID: 12} + - {fileID: 5} + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 973 + height: 908 + m_MinSize: {x: 202, y: 442} + m_MaxSize: {x: 4002, y: 8042} + vertical: 1 + controlID: 75 +--- !u!114 &11 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 1263 + y: 0 + width: 403 + height: 908 + m_MinSize: {x: 277, y: 71} + m_MaxSize: {x: 4002, y: 4021} + m_ActualView: {fileID: 13} + m_Panes: + - {fileID: 13} + m_Selected: 0 + m_LastSelected: 0 +--- !u!114 &12 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 973 + height: 466 + m_MinSize: {x: 202, y: 221} + m_MaxSize: {x: 4002, y: 4021} + m_ActualView: {fileID: 16} + m_Panes: + - {fileID: 16} + m_Selected: 0 + m_LastSelected: 0 +--- !u!114 &13 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12019, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_AutoRepaintOnSceneChange: 0 + m_MinSize: {x: 275, y: 50} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Inspector + m_Image: {fileID: -6905738622615590433, guid: 0000000000000000d000000000000000, + type: 0} + m_Tooltip: + m_DepthBufferBits: 0 + m_Pos: + serializedVersion: 2 + x: 2 + y: 19 + width: 401 + height: 887 + m_ScrollPosition: {x: 0, y: 0} + m_InspectorMode: 0 + m_PreviewResizer: + m_CachedPref: -160 + m_ControlHash: -371814159 + m_PrefName: Preview_InspectorPreview + m_PreviewWindow: {fileID: 0} +--- !u!114 &14 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12014, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_AutoRepaintOnSceneChange: 0 + m_MinSize: {x: 230, y: 250} + m_MaxSize: {x: 10000, y: 10000} + m_TitleContent: + m_Text: Project + m_Image: {fileID: -7501376956915960154, guid: 0000000000000000d000000000000000, + type: 0} + m_Tooltip: + m_DepthBufferBits: 0 + m_Pos: + serializedVersion: 2 + x: 2 + y: 19 + width: 286 + height: 421 + m_SearchFilter: + m_NameFilter: + m_ClassNames: [] + m_AssetLabels: [] + m_AssetBundleNames: [] + m_VersionControlStates: [] + m_ReferencingInstanceIDs: + m_ScenePaths: [] + m_ShowAllHits: 0 + m_SearchArea: 0 + m_Folders: + - Assets + m_ViewMode: 0 + m_StartGridSize: 64 + m_LastFolders: + - Assets + m_LastFoldersGridSize: -1 + m_LastProjectPath: /Users/danielbrauer/Unity Projects/New Unity Project 47 + m_IsLocked: 0 + m_FolderTreeState: + scrollPos: {x: 0, y: 0} + m_SelectedIDs: ee240000 + m_LastClickedID: 9454 + m_ExpandedIDs: ee24000000ca9a3bffffff7f + m_RenameOverlay: + m_UserAcceptedRename: 0 + m_Name: + m_OriginalName: + m_EditFieldRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_UserData: 0 + m_IsWaitingForDelay: 0 + m_IsRenaming: 0 + m_OriginalEventType: 11 + m_IsRenamingFilename: 1 + m_ClientGUIView: {fileID: 0} + m_SearchString: + m_CreateAssetUtility: + m_EndAction: {fileID: 0} + m_InstanceID: 0 + m_Path: + m_Icon: {fileID: 0} + m_ResourceFile: + m_AssetTreeState: + scrollPos: {x: 0, y: 0} + m_SelectedIDs: 68fbffff + m_LastClickedID: 0 + m_ExpandedIDs: ee240000 + m_RenameOverlay: + m_UserAcceptedRename: 0 + m_Name: + m_OriginalName: + m_EditFieldRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_UserData: 0 + m_IsWaitingForDelay: 0 + m_IsRenaming: 0 + m_OriginalEventType: 11 + m_IsRenamingFilename: 1 + m_ClientGUIView: {fileID: 0} + m_SearchString: + m_CreateAssetUtility: + m_EndAction: {fileID: 0} + m_InstanceID: 0 + m_Path: + m_Icon: {fileID: 0} + m_ResourceFile: + m_ListAreaState: + m_SelectedInstanceIDs: 68fbffff + m_LastClickedInstanceID: -1176 + m_HadKeyboardFocusLastEvent: 0 + m_ExpandedInstanceIDs: c6230000 + m_RenameOverlay: + m_UserAcceptedRename: 0 + m_Name: + m_OriginalName: + m_EditFieldRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_UserData: 0 + m_IsWaitingForDelay: 0 + m_IsRenaming: 0 + m_OriginalEventType: 11 + m_IsRenamingFilename: 1 + m_ClientGUIView: {fileID: 0} + m_CreateAssetUtility: + m_EndAction: {fileID: 0} + m_InstanceID: 0 + m_Path: + m_Icon: {fileID: 0} + m_ResourceFile: + m_NewAssetIndexInList: -1 + m_ScrollPosition: {x: 0, y: 0} + m_GridSize: 64 + m_DirectoriesAreaWidth: 110 +--- !u!114 &15 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12015, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_AutoRepaintOnSceneChange: 1 + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Game + m_Image: {fileID: -2087823869225018852, guid: 0000000000000000d000000000000000, + type: 0} + m_Tooltip: + m_DepthBufferBits: 32 + m_Pos: + serializedVersion: 2 + x: 0 + y: 19 + width: 971 + height: 421 + m_MaximizeOnPlay: 0 + m_Gizmos: 0 + m_Stats: 0 + m_SelectedSizes: 00000000000000000000000000000000000000000000000000000000000000000000000000000000 + m_TargetDisplay: 0 + m_ZoomArea: + m_HRangeLocked: 0 + m_VRangeLocked: 0 + m_HBaseRangeMin: -242.75 + m_HBaseRangeMax: 242.75 + m_VBaseRangeMin: -101 + m_VBaseRangeMax: 101 + m_HAllowExceedBaseRangeMin: 1 + m_HAllowExceedBaseRangeMax: 1 + m_VAllowExceedBaseRangeMin: 1 + m_VAllowExceedBaseRangeMax: 1 + m_ScaleWithWindow: 0 + m_HSlider: 0 + m_VSlider: 0 + m_IgnoreScrollWheelUntilClicked: 0 + m_EnableMouseInput: 1 + m_EnableSliderZoom: 0 + m_UniformScale: 1 + m_UpDirection: 1 + m_DrawArea: + serializedVersion: 2 + x: 0 + y: 17 + width: 971 + height: 404 + m_Scale: {x: 2, y: 2} + m_Translation: {x: 485.5, y: 202} + m_MarginLeft: 0 + m_MarginRight: 0 + m_MarginTop: 0 + m_MarginBottom: 0 + m_LastShownAreaInsideMargins: + serializedVersion: 2 + x: -242.75 + y: -101 + width: 485.5 + height: 202 + m_MinimalGUI: 1 + m_defaultScale: 2 + m_TargetTexture: {fileID: 0} + m_CurrentColorSpace: 0 + m_LastWindowPixelSize: {x: 1942, y: 842} + m_ClearInEditMode: 1 + m_NoCameraWarning: 1 + m_LowResolutionForAspectRatios: 01000000000100000100 +--- !u!114 &16 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12013, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_AutoRepaintOnSceneChange: 1 + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Scene + m_Image: {fileID: 2318424515335265636, guid: 0000000000000000d000000000000000, + type: 0} + m_Tooltip: + m_DepthBufferBits: 32 + m_Pos: + serializedVersion: 2 + x: 0 + y: 19 + width: 971 + height: 445 + m_SceneLighting: 1 + lastFramingTime: 0 + m_2DMode: 0 + m_isRotationLocked: 0 + m_AudioPlay: 0 + m_Position: + m_Target: {x: 0, y: 0, z: 0} + speed: 2 + m_Value: {x: 0, y: 0, z: 0} + m_RenderMode: 0 + m_ValidateTrueMetals: 0 + m_SceneViewState: + showFog: 1 + showMaterialUpdate: 0 + showSkybox: 1 + showFlares: 1 + showImageEffects: 1 + grid: + xGrid: + m_Target: 0 + speed: 2 + m_Value: 0 + yGrid: + m_Target: 1 + speed: 2 + m_Value: 1 + zGrid: + m_Target: 0 + speed: 2 + m_Value: 0 + m_Rotation: + m_Target: {x: -0.08717229, y: 0.89959055, z: -0.21045254, w: -0.3726226} + speed: 2 + m_Value: {x: -0.08717229, y: 0.89959055, z: -0.21045254, w: -0.3726226} + m_Size: + m_Target: 10 + speed: 2 + m_Value: 10 + m_Ortho: + m_Target: 0 + speed: 2 + m_Value: 0 + m_LastSceneViewRotation: {x: 0, y: 0, z: 0, w: 0} + m_LastSceneViewOrtho: 0 + m_ReplacementShader: {fileID: 0} + m_ReplacementString: + m_LastLockedObject: {fileID: 0} + m_ViewIsLockedToObject: 0 +--- !u!114 &17 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12061, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_AutoRepaintOnSceneChange: 0 + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Hierarchy + m_Image: {fileID: -590624980919486359, guid: 0000000000000000d000000000000000, + type: 0} + m_Tooltip: + m_DepthBufferBits: 0 + m_Pos: + serializedVersion: 2 + x: 2 + y: 19 + width: 286 + height: 445 + m_TreeViewState: + scrollPos: {x: 0, y: 0} + m_SelectedIDs: 68fbffff + m_LastClickedID: -1176 + m_ExpandedIDs: 7efbffff00000000 + m_RenameOverlay: + m_UserAcceptedRename: 0 + m_Name: + m_OriginalName: + m_EditFieldRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_UserData: 0 + m_IsWaitingForDelay: 0 + m_IsRenaming: 0 + m_OriginalEventType: 11 + m_IsRenamingFilename: 0 + m_ClientGUIView: {fileID: 0} + m_SearchString: + m_ExpandedScenes: + - + m_CurrenRootInstanceID: 0 + m_Locked: 0 + m_CurrentSortingName: TransformSorting diff --git a/Assets/TEngine.Demo/ReadmeHelper/Layout.wlt.meta b/Assets/TEngine.Demo/ReadmeHelper/Layout.wlt.meta new file mode 100644 index 00000000..775dc6e2 --- /dev/null +++ b/Assets/TEngine.Demo/ReadmeHelper/Layout.wlt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 301df312eb867514193de47f27ef4ba9 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TEngine.Demo/ReadmeHelper/Scripts.meta b/Assets/TEngine.Demo/ReadmeHelper/Scripts.meta new file mode 100644 index 00000000..30793fb1 --- /dev/null +++ b/Assets/TEngine.Demo/ReadmeHelper/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6ce2a687e162e7c428529647b6983de2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TEngine.Demo/ReadmeHelper/Scripts/Editor.meta b/Assets/TEngine.Demo/ReadmeHelper/Scripts/Editor.meta new file mode 100644 index 00000000..f59f0996 --- /dev/null +++ b/Assets/TEngine.Demo/ReadmeHelper/Scripts/Editor.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 3ad9b87dffba344c89909c6d1b1c17e1 +folderAsset: yes +timeCreated: 1475593892 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TEngine.Demo/ReadmeHelper/Scripts/Editor/ReadmeEditor.cs b/Assets/TEngine.Demo/ReadmeHelper/Scripts/Editor/ReadmeEditor.cs new file mode 100644 index 00000000..cf822040 --- /dev/null +++ b/Assets/TEngine.Demo/ReadmeHelper/Scripts/Editor/ReadmeEditor.cs @@ -0,0 +1,160 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; +using System; +using System.IO; +using System.Reflection; + +[CustomEditor(typeof(Readme))] +[InitializeOnLoad] +public class ReadmeEditor : Editor { + + static string kShowedReadmeSessionStateName = "ReadmeEditor.showedReadme"; + + static float kSpace = 16f; + + static ReadmeEditor() + { + EditorApplication.delayCall += SelectReadmeAutomatically; + } + + static void SelectReadmeAutomatically() + { + if (!SessionState.GetBool(kShowedReadmeSessionStateName, false )) + { + var readme = SelectReadme(); + SessionState.SetBool(kShowedReadmeSessionStateName, true); + + if (readme && !readme.loadedLayout) + { + LoadLayout(); + readme.loadedLayout = true; + } + } + } + + static void LoadLayout() + { + var assembly = typeof(EditorApplication).Assembly; + var windowLayoutType = assembly.GetType("UnityEditor.WindowLayout", true); + var method = windowLayoutType.GetMethod("LoadWindowLayout", BindingFlags.Public | BindingFlags.Static); + method.Invoke(null, new object[]{Path.Combine(Application.dataPath, "TutorialInfo/Layout.wlt"), false}); + } + + [MenuItem("Tutorial/Show Tutorial Instructions")] + static Readme SelectReadme() + { + var ids = AssetDatabase.FindAssets("Readme t:Readme"); + if (ids.Length == 1) + { + var readmeObject = AssetDatabase.LoadMainAssetAtPath(AssetDatabase.GUIDToAssetPath(ids[0])); + + Selection.objects = new UnityEngine.Object[]{readmeObject}; + + return (Readme)readmeObject; + } + else + { + Debug.Log("Couldn't find a readme"); + return null; + } + } + + protected override void OnHeaderGUI() + { + var readme = (Readme)target; + Init(); + + var iconWidth = Mathf.Min(EditorGUIUtility.currentViewWidth/3f - 20f, 128f); + + GUILayout.BeginHorizontal("In BigTitle"); + { + GUILayout.Label(readme.icon, GUILayout.Width(iconWidth), GUILayout.Height(iconWidth)); + GUILayout.Label(readme.title, TitleStyle); + } + GUILayout.EndHorizontal(); + } + + public override void OnInspectorGUI() + { + var readme = (Readme)target; + Init(); + + foreach (var section in readme.sections) + { + if (!string.IsNullOrEmpty(section.heading)) + { + GUILayout.Label(section.heading, HeadingStyle); + } + if (!string.IsNullOrEmpty(section.text)) + { + GUILayout.Label(section.text, BodyStyle); + } + if (!string.IsNullOrEmpty(section.linkText)) + { + if (LinkLabel(new GUIContent(section.linkText))) + { + Application.OpenURL(section.url); + } + } + GUILayout.Space(kSpace); + } + } + + + bool m_Initialized; + + GUIStyle LinkStyle { get { return m_LinkStyle; } } + [SerializeField] GUIStyle m_LinkStyle; + + GUIStyle TitleStyle { get { return m_TitleStyle; } } + [SerializeField] GUIStyle m_TitleStyle; + + GUIStyle HeadingStyle { get { return m_HeadingStyle; } } + [SerializeField] GUIStyle m_HeadingStyle; + + GUIStyle BodyStyle { get { return m_BodyStyle; } } + [SerializeField] GUIStyle m_BodyStyle; + + void Init() + { + if (m_Initialized) + return; + m_BodyStyle = new GUIStyle(EditorStyles.label); + m_BodyStyle.wordWrap = true; + m_BodyStyle.fontSize = 14; + m_BodyStyle.richText = true; + + m_TitleStyle = new GUIStyle(m_BodyStyle); + m_TitleStyle.fontSize = 26; + + m_HeadingStyle = new GUIStyle(m_BodyStyle); + m_HeadingStyle.fontStyle = FontStyle.Bold; + m_HeadingStyle.fontSize = 18 ; + + m_LinkStyle = new GUIStyle(m_BodyStyle); + m_LinkStyle.wordWrap = false; + // Match selection color which works nicely for both light and dark skins + m_LinkStyle.normal.textColor = new Color (0x00/255f, 0x78/255f, 0xDA/255f, 1f); + m_LinkStyle.stretchWidth = false; + + m_Initialized = true; + } + + bool LinkLabel (GUIContent label, params GUILayoutOption[] options) + { + var position = GUILayoutUtility.GetRect(label, LinkStyle, options); + + Handles.BeginGUI (); + Handles.color = LinkStyle.normal.textColor; + Handles.DrawLine (new Vector3(position.xMin, position.yMax), new Vector3(position.xMax, position.yMax)); + Handles.color = Color.white; + Handles.EndGUI (); + + EditorGUIUtility.AddCursorRect (position, MouseCursor.Link); + + return GUI.Button (position, label, LinkStyle); + } +} + diff --git a/Assets/TEngine.Demo/ReadmeHelper/Scripts/Editor/ReadmeEditor.cs.meta b/Assets/TEngine.Demo/ReadmeHelper/Scripts/Editor/ReadmeEditor.cs.meta new file mode 100644 index 00000000..f0386181 --- /dev/null +++ b/Assets/TEngine.Demo/ReadmeHelper/Scripts/Editor/ReadmeEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 476cc7d7cd9874016adc216baab94a0a +timeCreated: 1484146680 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TEngine.Demo/ReadmeHelper/Scripts/Readme.cs b/Assets/TEngine.Demo/ReadmeHelper/Scripts/Readme.cs new file mode 100644 index 00000000..48843dbf --- /dev/null +++ b/Assets/TEngine.Demo/ReadmeHelper/Scripts/Readme.cs @@ -0,0 +1,14 @@ +using System; +using UnityEngine; + +public class Readme : ScriptableObject { + public Texture2D icon; + public string title; + public Section[] sections; + public bool loadedLayout; + + [Serializable] + public class Section { + public string heading, text, linkText, url; + } +} diff --git a/Assets/TEngine.Demo/ReadmeHelper/Scripts/Readme.cs.meta b/Assets/TEngine.Demo/ReadmeHelper/Scripts/Readme.cs.meta new file mode 100644 index 00000000..935153ff --- /dev/null +++ b/Assets/TEngine.Demo/ReadmeHelper/Scripts/Readme.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: fcf7219bab7fe46a1ad266029b2fee19 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: + - icon: {instanceID: 0} + executionOrder: 0 + icon: {fileID: 2800000, guid: a186f8a87ca4f4d3aa864638ad5dfb65, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TEngine.Demo/TEngine.ActorDemo.meta b/Assets/TEngine.Demo/TEngine.ActorDemo.meta new file mode 100644 index 00000000..4a84cc2f --- /dev/null +++ b/Assets/TEngine.Demo/TEngine.ActorDemo.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 254ab054b76f42e4a9bebbda5735095c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TEngine.Demo/TEngine.ActorDemo/ActorTest.unity b/Assets/TEngine.Demo/TEngine.ActorDemo/ActorTest.unity new file mode 100644 index 00000000..e32a4612 --- /dev/null +++ b/Assets/TEngine.Demo/TEngine.ActorDemo/ActorTest.unity @@ -0,0 +1,433 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &11302789 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 11302792} + - component: {fileID: 11302791} + - component: {fileID: 11302790} + m_Layer: 0 + m_Name: Camera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &11302790 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 11302789} + m_Enabled: 1 +--- !u!20 &11302791 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 11302789} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 1, g: 1, b: 1, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &11302792 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 11302789} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.09852947, y: -0.036630105, z: -7.85} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &377324528 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 377324530} + - component: {fileID: 377324529} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &377324529 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 377324528} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &377324530 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 377324528} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0.09852947, y: -0.036630105, z: -0.003117605} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &827815071 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 827815073} + - component: {fileID: 827815072} + m_Layer: 0 + m_Name: DemoMain + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &827815072 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 827815071} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e97061e71ef4ea640a61a194f3e4c843, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &827815073 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 827815071} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &1260260860 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 96376813, guid: 161ff7c8132079c4a95e2e4e70ddd41b, type: 3} + propertyPath: m_EntityHelperTypeName + value: TEngine.Runtime.Entity.DefaultEntityHelper + objectReference: {fileID: 0} + - target: {fileID: 96376813, guid: 161ff7c8132079c4a95e2e4e70ddd41b, type: 3} + propertyPath: m_EntityGroupHelperTypeName + value: TEngine.Runtime.Entity.DefaultEntityGroupHelper + objectReference: {fileID: 0} + - target: {fileID: 3463045026010536330, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_ResourceHelperTypeName + value: TEngine.Runtime.UnityResourceHelper + objectReference: {fileID: 0} + - target: {fileID: 3463045026010536330, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: ResourceMode + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 3463045026180535776, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_Name + value: TEngine + objectReference: {fileID: 0} + - target: {fileID: 3463045026180535779, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3463045026180535779, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3463045026180535779, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3463045026180535779, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3463045026180535779, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3463045026180535779, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3463045026180535779, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3463045026180535779, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3463045026180535779, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3463045026180535779, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3463045026180535779, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3463045026377943191, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_EntranceProcedureTypeName + value: TEngine.Runtime.ProcedureCodeInit + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 161ff7c8132079c4a95e2e4e70ddd41b, type: 3} diff --git a/Assets/TEngine.Demo/TEngine.ActorDemo/ActorTest.unity.meta b/Assets/TEngine.Demo/TEngine.ActorDemo/ActorTest.unity.meta new file mode 100644 index 00000000..fce92c56 --- /dev/null +++ b/Assets/TEngine.Demo/TEngine.ActorDemo/ActorTest.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 3c0041c22c1b7bf4588694710642b4d5 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TEngine.Demo/TEngine.ActorDemo/ActorTestMain.cs b/Assets/TEngine.Demo/TEngine.ActorDemo/ActorTestMain.cs new file mode 100644 index 00000000..ece55a34 --- /dev/null +++ b/Assets/TEngine.Demo/TEngine.ActorDemo/ActorTestMain.cs @@ -0,0 +1,249 @@ +using System.Collections.Generic; +using TEngine.Runtime; +using TEngine.Runtime.Actor; +using UnityEngine; + +namespace TEngine.Runtime.Actor +{ + public class PlayerActor:GameActor + { + public override int GetActorType() + { + return ActorType.ActorPlayer; + } + + public override void Awake() + { + base.Awake(); + } + + public override void OnInit() + { + base.OnInit(); + } + } + + public class AnimatorComponent : ActorComponent + { + private Animator _animator; + + protected override void Awake() + { + base.Awake(); + + _animator = OwnActor.gameObject.AddComponent(); + } + } + + public class ModelComponent : ActorComponent + { + private GameObject _model; + + protected override void Awake() + { + base.Awake(); + + var obj = TResources.Load("Capsule"); + + _model = Object.Instantiate(obj); + + _model.transform.SetParent(OwnActor.gameObject.transform); + } + } + + public class FsmComponent : ActorComponent + { + public IFsm Fsm; + + protected override void Awake() + { + base.Awake(); + + List> stateList = new List>() { IdleState.Create(), MoveState.Create() }; + + Fsm = FsmManager.Instance.CreateFsm(OwnActor.ActorId.ToString(), this, stateList); + + Fsm.Start(); + } + + #region 状态机 + public class IdleState : FsmState, IMemory + { + //触发移动的指令列表 + private static KeyCode[] MOVE_COMMANDS = + { + KeyCode.LeftArrow, + KeyCode.RightArrow, + KeyCode.UpArrow, + KeyCode.DownArrow, + KeyCode.A, + KeyCode.W, + KeyCode.S, + KeyCode.D + }; + + protected override void OnInit(IFsm fsm) + { + base.OnInit(fsm); + } + + protected override void OnEnter(IFsm fsm) + { + Log.Warning("OnEnter IdleState"); + base.OnEnter(fsm); + } + + protected override void OnUpdate(IFsm fsm, float elapseSeconds, float realElapseSeconds) + { + base.OnUpdate(fsm, elapseSeconds, realElapseSeconds); + + foreach (var command in MOVE_COMMANDS) + { + //触发任何一个移动指令时 + if (Input.GetKeyDown(command)) + { + //记录这个移动指令 + fsm.SetData("MoveCommand", (int)command); + //切换到移动状态 + ChangeState(fsm); + } + } + } + + protected override void OnLeave(IFsm fsm, bool isShutdown) + { + base.OnLeave(fsm, isShutdown); + } + + protected override void OnDestroy(IFsm fsm) + { + base.OnDestroy(fsm); + } + + public static IdleState Create() + { + IdleState state = MemoryPool.Acquire(); + return state; + } + + public void Clear() + { + //此类无状态记录,Clear为空实现 + } + } + + public class MoveState : FsmState, IMemory + { + private static readonly float EXIT_TIME = 0.01f; + private float exitTimer; + private KeyCode moveCommand; + + protected override void OnInit(IFsm fsm) + { + base.OnInit(fsm); + } + + protected override void OnEnter(IFsm fsm) + { + base.OnEnter(fsm); + + //进入移动状态时,获取移动指令数据 + moveCommand = (KeyCode)(int)fsm.GetData("MoveCommand"); + + Log.Warning("OnEnter MoveState" + moveCommand); + + } + + protected override void OnUpdate(IFsm fsm, float elapseSeconds, float realElapseSeconds) + { + base.OnUpdate(fsm, elapseSeconds, realElapseSeconds); + + //计时器累计时间 + exitTimer += elapseSeconds; + + //switch(moveCommand) + //{ + //根据移动方向指令向对应方向移动 + //} + + if (moveCommand != 0) + { + exitTimer = 0; + } + + //达到指定时间后 + if (exitTimer > EXIT_TIME) + { + //切换回空闲状态 + ChangeState(fsm); + } + } + + protected override void OnLeave(IFsm fsm, bool isShutdown) + { + base.OnLeave(fsm, isShutdown); + + //推出移动状态时,把计时器清零 + exitTimer = 0; + //清空移动指令 + moveCommand = KeyCode.None; + fsm.RemoveData("MoveCommand"); + } + + protected override void OnDestroy(IFsm fsm) + { + base.OnDestroy(fsm); + } + + public static MoveState Create() + { + MoveState state = MemoryPool.Acquire(); + return state; + } + + public void Clear() + { + //还原状态内数据 + exitTimer = 0; + moveCommand = KeyCode.None; + } + } + + #endregion + + } +} + +public class ActorTestMain : MonoBehaviour +{ + private uint _actorId = 0; + + void Start() + { + //Demo示例,监听TEngine流程加载器OnStartGame事件 + //抛出这个事件说明框架流程加载完成(热更新,初始化等) + GameEventMgr.Instance.AddEventListener(TEngineEvent.OnStartGame,OnStartGame); + } + + private void OnStartGame() + { + Log.Debug("TEngineEvent.OnStartGame"); + + + //激活ActorManager + ActorManager.Instance.Active(); + + //注册Actor类型 + ActorManager.Instance.RegisterActorType(ActorType.ActorPlayer,typeof(PlayerActor)); + + //创建Actor + var actor = ActorManager.Instance.CreateGameActor(ActorType.ActorPlayer, _actorId++, true); + + //附加组件(ActorGameObjet可视化) + actor.Attach(); + + actor.Attach(); + + actor.Attach(); + } +} \ No newline at end of file diff --git a/Assets/TEngine.Demo/TEngine.ActorDemo/ActorTestMain.cs.meta b/Assets/TEngine.Demo/TEngine.ActorDemo/ActorTestMain.cs.meta new file mode 100644 index 00000000..cf514bfe --- /dev/null +++ b/Assets/TEngine.Demo/TEngine.ActorDemo/ActorTestMain.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e97061e71ef4ea640a61a194f3e4c843 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TEngine.Demo/TEngine.ActorDemo/Resources.meta b/Assets/TEngine.Demo/TEngine.ActorDemo/Resources.meta new file mode 100644 index 00000000..59d134d3 --- /dev/null +++ b/Assets/TEngine.Demo/TEngine.ActorDemo/Resources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2623ab7c99aa3e5428fc4ac2206b5228 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TEngine.Demo/TEngine.ActorDemo/Resources/Capsule.prefab b/Assets/TEngine.Demo/TEngine.ActorDemo/Resources/Capsule.prefab new file mode 100644 index 00000000..dd219a89 --- /dev/null +++ b/Assets/TEngine.Demo/TEngine.ActorDemo/Resources/Capsule.prefab @@ -0,0 +1,96 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &3703891270702430018 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1370523666314749900} + - component: {fileID: 6592245469683542297} + - component: {fileID: 8013269893544118830} + - component: {fileID: 3395945536845874213} + m_Layer: 0 + m_Name: Capsule + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1370523666314749900 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3703891270702430018} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &6592245469683542297 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3703891270702430018} + m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &8013269893544118830 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3703891270702430018} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!136 &3395945536845874213 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3703891270702430018} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} diff --git a/Assets/TEngine.Demo/TEngine.ActorDemo/Resources/Capsule.prefab.meta b/Assets/TEngine.Demo/TEngine.ActorDemo/Resources/Capsule.prefab.meta new file mode 100644 index 00000000..08f628ee --- /dev/null +++ b/Assets/TEngine.Demo/TEngine.ActorDemo/Resources/Capsule.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ad726adb51b0cac4cbee953b2a60aeb0 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TEngine.Demo/TEngine.Demo.asmdef b/Assets/TEngine.Demo/TEngine.Demo.asmdef new file mode 100644 index 00000000..cb51d68a --- /dev/null +++ b/Assets/TEngine.Demo/TEngine.Demo.asmdef @@ -0,0 +1,15 @@ +{ + "name": "TEngine.Demo", + "references": [ + "GUID:f4ecd6f7bd8993043b6cec60dd0cf2b2" + ], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/Assets/TEngine.Demo/TEngine.Demo.asmdef.meta b/Assets/TEngine.Demo/TEngine.Demo.asmdef.meta new file mode 100644 index 00000000..57c07f15 --- /dev/null +++ b/Assets/TEngine.Demo/TEngine.Demo.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 786fadd7944e4da47b5272e501edc067 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TEngine.Demo/TEngine.EntityDemo.meta b/Assets/TEngine.Demo/TEngine.EntityDemo.meta new file mode 100644 index 00000000..b9209bbb --- /dev/null +++ b/Assets/TEngine.Demo/TEngine.EntityDemo.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b333acc09a404c14ea87d1ae5687754f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TEngine.Demo/TEngine.EntityDemo/EntityDemo.unity b/Assets/TEngine.Demo/TEngine.EntityDemo/EntityDemo.unity new file mode 100644 index 00000000..21e48c02 --- /dev/null +++ b/Assets/TEngine.Demo/TEngine.EntityDemo/EntityDemo.unity @@ -0,0 +1,433 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &1619219028 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1619219030} + - component: {fileID: 1619219029} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &1619219029 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1619219028} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1619219030 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1619219028} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0.09852947, y: -0.036630105, z: -0.003117605} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &1652714767 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1652714769} + - component: {fileID: 1652714768} + m_Layer: 0 + m_Name: DemoMain + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1652714768 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1652714767} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 58f4c290a724b9f418601d445595d924, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &1652714769 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1652714767} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &1786253393 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 96376813, guid: 161ff7c8132079c4a95e2e4e70ddd41b, type: 3} + propertyPath: m_EntityHelperTypeName + value: TEngine.Runtime.Entity.DefaultEntityHelper + objectReference: {fileID: 0} + - target: {fileID: 96376813, guid: 161ff7c8132079c4a95e2e4e70ddd41b, type: 3} + propertyPath: m_EntityGroupHelperTypeName + value: TEngine.Runtime.Entity.DefaultEntityGroupHelper + objectReference: {fileID: 0} + - target: {fileID: 3463045026010536330, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_ResourceHelperTypeName + value: TEngine.Runtime.UnityResourceHelper + objectReference: {fileID: 0} + - target: {fileID: 3463045026010536330, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: ResourceMode + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 3463045026180535776, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_Name + value: TEngine + objectReference: {fileID: 0} + - target: {fileID: 3463045026180535779, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 3463045026180535779, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3463045026180535779, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3463045026180535779, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3463045026180535779, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3463045026180535779, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3463045026180535779, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3463045026180535779, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3463045026180535779, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3463045026180535779, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3463045026180535779, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3463045026377943191, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_EntranceProcedureTypeName + value: TEngine.Runtime.ProcedureCodeInit + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 161ff7c8132079c4a95e2e4e70ddd41b, type: 3} +--- !u!1 &1809407202 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1809407205} + - component: {fileID: 1809407204} + - component: {fileID: 1809407203} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1809407203 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1809407202} + m_Enabled: 1 +--- !u!20 &1809407204 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1809407202} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1809407205 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1809407202} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/TEngine.Demo/TEngine.EntityDemo/EntityDemo.unity.meta b/Assets/TEngine.Demo/TEngine.EntityDemo/EntityDemo.unity.meta new file mode 100644 index 00000000..3f892d67 --- /dev/null +++ b/Assets/TEngine.Demo/TEngine.EntityDemo/EntityDemo.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0abe20efc865c3e42b6b80e541d03354 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TEngine.Demo/TEngine.EntityDemo/EntityTestMain.cs b/Assets/TEngine.Demo/TEngine.EntityDemo/EntityTestMain.cs new file mode 100644 index 00000000..2386a2a2 --- /dev/null +++ b/Assets/TEngine.Demo/TEngine.EntityDemo/EntityTestMain.cs @@ -0,0 +1,56 @@ +using System; +using TEngine.Runtime; +using TEngine.Runtime.Entity; +using UnityEngine; + +public class EntityTestMain : MonoBehaviour +{ + void Start() + { + //Demo示例,监听TEngine流程加载器OnStartGame事件 + //抛出这个事件说明框架流程加载完成(热更新,初始化等) + GameEventMgr.Instance.AddEventListener(TEngineEvent.OnStartGame,OnStartGame); + } + + private void OnStartGame() + { + Log.Debug("TEngineEvent.OnStartGame"); + + for (int i = 1; i < 10; i++) + { + //实体数据创建 + EntityData entityData= EntityData.Create(); + entityData.Position = new Vector3(i, i, 0); + entityData.Rotation = Quaternion.identity; + //实体系统创建实体,自动创建实体组 + EntitySystem.Instance.CreateEntity("Cube",entityData); + } + } + + /// + /// 实体Cube + /// + public class EntityCube:EntityLogicEx + { + protected override void OnAttached(EntityLogic childEntity, Transform parentTransform, object userData) + { + base.OnAttached(childEntity, parentTransform, userData); + Log.Info("OnAttached"); + } + + /// + /// 实体显示事件 + /// + /// EntityData + protected override void OnShow(object userData) + { + base.OnShow(userData); + Log.Info("OnShow"); + } + + protected override void OnUpdate(float elapseSeconds, float realElapseSeconds) + { + base.OnUpdate(elapseSeconds, realElapseSeconds); + } + } +} diff --git a/Assets/TEngine.Demo/TEngine.EntityDemo/EntityTestMain.cs.meta b/Assets/TEngine.Demo/TEngine.EntityDemo/EntityTestMain.cs.meta new file mode 100644 index 00000000..d24e8bb7 --- /dev/null +++ b/Assets/TEngine.Demo/TEngine.EntityDemo/EntityTestMain.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 58f4c290a724b9f418601d445595d924 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TEngine.Demo/TEngine.EntityDemo/Resources.meta b/Assets/TEngine.Demo/TEngine.EntityDemo/Resources.meta new file mode 100644 index 00000000..7bf120c1 --- /dev/null +++ b/Assets/TEngine.Demo/TEngine.EntityDemo/Resources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 61e838d414272bd44bd90931d2892985 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TEngine.Demo/TEngine.EntityDemo/Resources/Cube.prefab b/Assets/TEngine.Demo/TEngine.EntityDemo/Resources/Cube.prefab new file mode 100644 index 00000000..c770bfe9 --- /dev/null +++ b/Assets/TEngine.Demo/TEngine.EntityDemo/Resources/Cube.prefab @@ -0,0 +1,95 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &6799340087353736309 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 320608266407273384} + - component: {fileID: 4142954123097395421} + - component: {fileID: 515296061090029414} + - component: {fileID: 6884112646263478254} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &320608266407273384 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6799340087353736309} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.09852947, y: -0.036630105, z: -0.003117605} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &4142954123097395421 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6799340087353736309} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &515296061090029414 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6799340087353736309} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &6884112646263478254 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6799340087353736309} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} diff --git a/Assets/TEngine.Demo/TEngine.EntityDemo/Resources/Cube.prefab.meta b/Assets/TEngine.Demo/TEngine.EntityDemo/Resources/Cube.prefab.meta new file mode 100644 index 00000000..0bdc79ff --- /dev/null +++ b/Assets/TEngine.Demo/TEngine.EntityDemo/Resources/Cube.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 93b1f023d439d0f468520a5f29d8a8f5 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TEngine.Demo/TEngine.NetDemo.meta b/Assets/TEngine.Demo/TEngine.NetDemo.meta new file mode 100644 index 00000000..87f27c3d --- /dev/null +++ b/Assets/TEngine.Demo/TEngine.NetDemo.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 55d9c4d625abac14388a132e9990a8d4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TEngine.Demo/TEngine.NetDemo/NetDemo.unity b/Assets/TEngine.Demo/TEngine.NetDemo/NetDemo.unity new file mode 100644 index 00000000..28056aac --- /dev/null +++ b/Assets/TEngine.Demo/TEngine.NetDemo/NetDemo.unity @@ -0,0 +1,326 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1001 &1198523773 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 96376813, guid: 161ff7c8132079c4a95e2e4e70ddd41b, type: 3} + propertyPath: m_EntityHelperTypeName + value: TEngine.Runtime.Entity.DefaultEntityHelper + objectReference: {fileID: 0} + - target: {fileID: 96376813, guid: 161ff7c8132079c4a95e2e4e70ddd41b, type: 3} + propertyPath: m_EntityGroupHelperTypeName + value: TEngine.Runtime.Entity.DefaultEntityGroupHelper + objectReference: {fileID: 0} + - target: {fileID: 3463045026180535776, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_Name + value: TEngine + objectReference: {fileID: 0} + - target: {fileID: 3463045026180535779, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3463045026180535779, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3463045026180535779, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3463045026180535779, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3463045026180535779, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3463045026180535779, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3463045026180535779, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3463045026180535779, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 3463045026180535779, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3463045026180535779, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3463045026180535779, guid: 161ff7c8132079c4a95e2e4e70ddd41b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 161ff7c8132079c4a95e2e4e70ddd41b, type: 3} +--- !u!1 &1247649843 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1247649845} + - component: {fileID: 1247649844} + m_Layer: 0 + m_Name: DemoMain + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1247649844 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1247649843} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e575ce9b8ae601544aa839e78d837d96, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &1247649845 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1247649843} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1783270674 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1783270677} + - component: {fileID: 1783270676} + - component: {fileID: 1783270675} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1783270675 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1783270674} + m_Enabled: 1 +--- !u!20 &1783270676 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1783270674} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1783270677 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1783270674} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/TEngine.Demo/TEngine.NetDemo/NetDemo.unity.meta b/Assets/TEngine.Demo/TEngine.NetDemo/NetDemo.unity.meta new file mode 100644 index 00000000..aac2b5ae --- /dev/null +++ b/Assets/TEngine.Demo/TEngine.NetDemo/NetDemo.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 656de57090bdf814d91456b86e982b85 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TEngine.Demo/TEngine.NetDemo/NetTestMain.cs b/Assets/TEngine.Demo/TEngine.NetDemo/NetTestMain.cs new file mode 100644 index 00000000..630ac93f --- /dev/null +++ b/Assets/TEngine.Demo/TEngine.NetDemo/NetTestMain.cs @@ -0,0 +1,68 @@ +using System.Net; +using TEngine.Runtime; +using TEngine.Runtime.UIModule; +using TEngineProto; +using UnityEngine; + +public class NetTestMain : MonoBehaviour +{ + public const string MainTcp = "MainTcp"; + + void Start() + { + //Demo示例,监听TEngine流程加载器OnStartGame事件 + //抛出这个事件说明框架流程加载完成(热更新,初始化等) + GameEventMgr.Instance.AddEventListener(TEngineEvent.OnStartGame,OnStartGame); + + } + + /// + /// NetworkChannel通信Channel + /// + private INetworkChannel _networkChannel; + + /// + /// OnStartGame + /// + private void OnStartGame() + { + Log.Debug("TEngineEvent.OnStartGame"); + + //创建网络Channel Service类型 Tcp + _networkChannel = TEngine.Runtime.Network.Instance.CreateNetworkChannel(MainTcp, ServiceType.Tcp, new NetworkChannelHelper()); + + //连接Channel 本地8081 需要开启服务器 + _networkChannel.Connect(IPAddress.Parse("127.0.0.1"),8081); + + //注册消息包回调 ActionCode.Login -> Action Login + TEngine.Runtime.Network.Instance.RegisterHandler(MainTcp,(int)ActionCode.Login,Login); + } + + /// + /// 测试发送消息包,需要开启服务器 + /// + private void Update() + { + if (Input.GetKeyDown(KeyCode.K)) + { + var a = MemoryPool.Acquire(); + a.actioncode = ActionCode.Login; + a.requestcode = RequestCode.User; + a.loginPack = new LoginPack(); + a.loginPack.username = "1111"; + a.loginPack.password = "2222"; + TEngine.Runtime.Network.Instance.Send(MainTcp, a); + } + } + + /// + /// Login消息回调 + /// + /// 消息包 + private void Login(MainPack mainPack) + { + Log.Debug(mainPack.extstr); + } +} + + diff --git a/Assets/TEngine.Demo/TEngine.NetDemo/NetTestMain.cs.meta b/Assets/TEngine.Demo/TEngine.NetDemo/NetTestMain.cs.meta new file mode 100644 index 00000000..6b9f0f2a --- /dev/null +++ b/Assets/TEngine.Demo/TEngine.NetDemo/NetTestMain.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e575ce9b8ae601544aa839e78d837d96 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TEngine.Demo/TEngine.NetDemo/TEngineLoginUI.cs b/Assets/TEngine.Demo/TEngine.NetDemo/TEngineLoginUI.cs new file mode 100644 index 00000000..ee4d60e8 --- /dev/null +++ b/Assets/TEngine.Demo/TEngine.NetDemo/TEngineLoginUI.cs @@ -0,0 +1,47 @@ +using TEngine.Runtime.UIModule; +using TEngineProto; +using UnityEngine; +using UnityEngine.UI; +using Network = TEngine.Runtime.Network; + +class TEngineLoginUI : UIWindow +{ + #region 脚本工具生成的代码 + private Image m_imgbg; + private Text m_textTittle; + private Text m_textVer; + private Image m_imgLogo; + private GameObject m_goLoading; + private GameObject m_goLoginRoot; + private InputField m_inputName; + private InputField m_inputPassword; + private Button m_btnLogin; + protected override void ScriptGenerator() + { + m_imgbg = FindChildComponent("m_imgbg"); + m_textTittle = FindChildComponent("m_textTittle"); + m_textVer = FindChildComponent("m_textVer"); + m_imgLogo = FindChildComponent("m_imgLogo"); + m_goLoading = FindChild("m_goLoading").gameObject; + m_goLoginRoot = FindChild("m_goLoginRoot").gameObject; + m_inputName = FindChildComponent("m_goLoginRoot/m_inputName"); + m_inputPassword = FindChildComponent("m_goLoginRoot/m_inputPassword"); + m_btnLogin = FindChildComponent