51 changed files with 5953 additions and 0 deletions
@ -0,0 +1,6 @@ |
|||||||
|
{ |
||||||
|
"version": "1.0", |
||||||
|
"components": [ |
||||||
|
"Microsoft.VisualStudio.Workload.ManagedGame" |
||||||
|
] |
||||||
|
} |
@ -0,0 +1,8 @@ |
|||||||
|
fileFormatVersion: 2 |
||||||
|
guid: 73c348b1358f225418667796b0760831 |
||||||
|
folderAsset: yes |
||||||
|
DefaultImporter: |
||||||
|
externalObjects: {} |
||||||
|
userData: |
||||||
|
assetBundleName: |
||||||
|
assetBundleVariant: |
@ -0,0 +1,164 @@ |
|||||||
|
using System; |
||||||
|
using System.IO; |
||||||
|
using System.Collections; |
||||||
|
using System.Collections.Generic; |
||||||
|
using UnityEngine; |
||||||
|
using System.Configuration; |
||||||
|
using System.Linq; |
||||||
|
using LitJson; |
||||||
|
using System.Text; |
||||||
|
|
||||||
|
namespace JXSoft { |
||||||
|
public class JsonIOUtility |
||||||
|
{ |
||||||
|
private string DefaultJsonFile = ""; |
||||||
|
private JsonIOCContainer jsonContainer = new JsonIOCContainer(); |
||||||
|
private JsonData mInstance = new JsonData(); |
||||||
|
public JsonIOUtility() { |
||||||
|
loadJsonFile(); |
||||||
|
} |
||||||
|
|
||||||
|
//Setting FileName and Path(Default using Application.persistentDataPath) |
||||||
|
public void setLoadFile(string fileName) |
||||||
|
{ |
||||||
|
DefaultJsonFile = Application.persistentDataPath +"/" + fileName + ".json"; |
||||||
|
Debug.Log(DefaultJsonFile); |
||||||
|
} |
||||||
|
#region load |
||||||
|
//Load From File |
||||||
|
public void loadJsonFile() { |
||||||
|
loadJsonFile("JsonConfig"); |
||||||
|
} |
||||||
|
public void loadJsonFile(string fileName) |
||||||
|
{ |
||||||
|
setLoadFile(fileName); |
||||||
|
if (!File.Exists(DefaultJsonFile)) |
||||||
|
{ |
||||||
|
Debug.LogWarning("No Such File,create New"); |
||||||
|
File.Create(DefaultJsonFile).Dispose(); |
||||||
|
SaveToJsonFile(); |
||||||
|
//return null; |
||||||
|
} |
||||||
|
string jsonFile = File.ReadAllText(DefaultJsonFile); |
||||||
|
mInstance = JsonMapper.ToObject(jsonFile); |
||||||
|
} |
||||||
|
#endregion |
||||||
|
|
||||||
|
#region save |
||||||
|
//Save to local |
||||||
|
public void SaveToJsonFile() { |
||||||
|
setData(new JsonIOUtilitySaveDate()); |
||||||
|
foreach (Type type in jsonContainer.getInstance().Keys) { |
||||||
|
string data = JsonMapper.ToJson(jsonContainer.getInstance()[type]); |
||||||
|
mInstance[type.ToString()] = JsonMapper.ToObject(data); |
||||||
|
} |
||||||
|
StringBuilder sb = new StringBuilder(); |
||||||
|
JsonWriter jWriter = new JsonWriter(sb); |
||||||
|
jWriter.PrettyPrint = true; |
||||||
|
jWriter.IndentValue = 4; |
||||||
|
JsonMapper.ToJson(mInstance, jWriter); |
||||||
|
Debug.Log("saveFileData:" + mInstance.ToJson()); |
||||||
|
File.WriteAllText(DefaultJsonFile, sb.ToString()); |
||||||
|
} |
||||||
|
#endregion |
||||||
|
|
||||||
|
//Loading FileList From Folder(Default using Application.persistentDataPath) |
||||||
|
public void loadFileList() { |
||||||
|
|
||||||
|
} |
||||||
|
public void loadFileList(string path) |
||||||
|
{ |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
#region Save&Read interface |
||||||
|
public void setData<TData>(TData data) where TData : class { |
||||||
|
jsonContainer.Register(data); |
||||||
|
} |
||||||
|
public TData getData<TData>() where TData : class,new() |
||||||
|
{ |
||||||
|
TData data = jsonContainer.Get<TData>(); |
||||||
|
if (data == null) { |
||||||
|
var key = typeof(TData); |
||||||
|
if (mInstance.ContainsKey(key.ToString())) |
||||||
|
{ |
||||||
|
data = JsonMapper.ToObject<TData>(mInstance[key.ToString()].ToJson()); |
||||||
|
} |
||||||
|
else |
||||||
|
Debug.LogWarning("No Such Data"); |
||||||
|
} |
||||||
|
return data; |
||||||
|
} |
||||||
|
#endregion |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
/// <summary> |
||||||
|
/// Every Time Create&Save Recording this Time |
||||||
|
/// </summary> |
||||||
|
public class JsonIOUtilitySaveDate |
||||||
|
{ |
||||||
|
public long timeStamp; |
||||||
|
public string timeStr; |
||||||
|
public JsonIOUtilitySaveDate() { |
||||||
|
timeStamp = DateUtil.getTimeStamp(); |
||||||
|
timeStr = DateUtil.getFullDateMsg(); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public class DateUtil |
||||||
|
{ |
||||||
|
public static string getFullDateMsg() |
||||||
|
{ |
||||||
|
return DateTime.Now.ToString("yyyy-MM-dd") + " " + DateTime.Now.ToString("HH:mm:ss"); |
||||||
|
} |
||||||
|
public static string getDayDateMsg() |
||||||
|
{ |
||||||
|
return DateTime.Now.ToString("HH:mm:ss"); |
||||||
|
} |
||||||
|
public static long getTimeStamp() |
||||||
|
{ |
||||||
|
TimeSpan ts = DateTime.Now - new DateTime(1970, 1, 1, 8, 0, 0, 0); |
||||||
|
return Convert.ToInt64(ts.TotalSeconds); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/// <summary> |
||||||
|
/// IOC For Json |
||||||
|
/// </summary> |
||||||
|
public class JsonIOCContainer |
||||||
|
{ |
||||||
|
private Dictionary<Type, object> mInstances = new Dictionary<Type, object>(); |
||||||
|
|
||||||
|
public void Register<T>(T instance) |
||||||
|
{ |
||||||
|
var key = typeof(T); |
||||||
|
|
||||||
|
if (mInstances.ContainsKey(key)) |
||||||
|
{ |
||||||
|
mInstances[key] = instance; |
||||||
|
} |
||||||
|
else |
||||||
|
{ |
||||||
|
mInstances.Add(key, instance); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public T Get<T>() where T : class
|
||||||
|
{ |
||||||
|
var key = typeof(T); |
||||||
|
|
||||||
|
if (mInstances.TryGetValue(key, out var retInstance)) |
||||||
|
{ |
||||||
|
return retInstance as T; |
||||||
|
} |
||||||
|
|
||||||
|
return null; |
||||||
|
} |
||||||
|
public Dictionary<Type, object> getInstance() { |
||||||
|
return mInstances; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
@ -0,0 +1,11 @@ |
|||||||
|
fileFormatVersion: 2 |
||||||
|
guid: e30decfd15d739349b57d6b2dd845f8e |
||||||
|
MonoImporter: |
||||||
|
externalObjects: {} |
||||||
|
serializedVersion: 2 |
||||||
|
defaultReferences: [] |
||||||
|
executionOrder: 0 |
||||||
|
icon: {instanceID: 0} |
||||||
|
userData: |
||||||
|
assetBundleName: |
||||||
|
assetBundleVariant: |
Binary file not shown.
@ -0,0 +1,33 @@ |
|||||||
|
fileFormatVersion: 2 |
||||||
|
guid: c1e390103eefc6b428c4a597b86aeb92 |
||||||
|
PluginImporter: |
||||||
|
externalObjects: {} |
||||||
|
serializedVersion: 2 |
||||||
|
iconMap: {} |
||||||
|
executionOrder: {} |
||||||
|
defineConstraints: [] |
||||||
|
isPreloaded: 0 |
||||||
|
isOverridable: 0 |
||||||
|
isExplicitlyReferenced: 0 |
||||||
|
validateReferences: 1 |
||||||
|
platformData: |
||||||
|
- first: |
||||||
|
Any: |
||||||
|
second: |
||||||
|
enabled: 1 |
||||||
|
settings: {} |
||||||
|
- first: |
||||||
|
Editor: Editor |
||||||
|
second: |
||||||
|
enabled: 0 |
||||||
|
settings: |
||||||
|
DefaultValueInitialized: true |
||||||
|
- first: |
||||||
|
Windows Store Apps: WindowsStoreApps |
||||||
|
second: |
||||||
|
enabled: 0 |
||||||
|
settings: |
||||||
|
CPU: AnyCPU |
||||||
|
userData: |
||||||
|
assetBundleName: |
||||||
|
assetBundleVariant: |
@ -0,0 +1,8 @@ |
|||||||
|
fileFormatVersion: 2 |
||||||
|
guid: 7cbcc9bebbf071246bfc36fb6af8f2c8 |
||||||
|
folderAsset: yes |
||||||
|
DefaultImporter: |
||||||
|
externalObjects: {} |
||||||
|
userData: |
||||||
|
assetBundleName: |
||||||
|
assetBundleVariant: |
@ -0,0 +1,259 @@ |
|||||||
|
%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: 705507994} |
||||||
|
m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, 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_TemporalCoherenceThreshold: 1 |
||||||
|
m_EnvironmentLightingMode: 0 |
||||||
|
m_EnableBakedLightmaps: 1 |
||||||
|
m_EnableRealtimeLightmaps: 0 |
||||||
|
m_LightmapEditorSettings: |
||||||
|
serializedVersion: 10 |
||||||
|
m_Resolution: 2 |
||||||
|
m_BakeResolution: 40 |
||||||
|
m_AtlasSize: 1024 |
||||||
|
m_AO: 0 |
||||||
|
m_AOMaxDistance: 1 |
||||||
|
m_CompAOExponent: 1 |
||||||
|
m_CompAOExponentDirect: 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: 500 |
||||||
|
m_PVRBounces: 2 |
||||||
|
m_PVRFilterTypeDirect: 0 |
||||||
|
m_PVRFilterTypeIndirect: 0 |
||||||
|
m_PVRFilterTypeAO: 0 |
||||||
|
m_PVRFilteringMode: 1 |
||||||
|
m_PVRCulling: 1 |
||||||
|
m_PVRFilteringGaussRadiusDirect: 1 |
||||||
|
m_PVRFilteringGaussRadiusIndirect: 5 |
||||||
|
m_PVRFilteringGaussRadiusAO: 2 |
||||||
|
m_PVRFilteringAtrousPositionSigmaDirect: 0.5 |
||||||
|
m_PVRFilteringAtrousPositionSigmaIndirect: 2 |
||||||
|
m_PVRFilteringAtrousPositionSigmaAO: 1 |
||||||
|
m_ShowResolutionOverlay: 1 |
||||||
|
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 &705507993 |
||||||
|
GameObject: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
m_CorrespondingSourceObject: {fileID: 0} |
||||||
|
m_PrefabInternal: {fileID: 0} |
||||||
|
serializedVersion: 6 |
||||||
|
m_Component: |
||||||
|
- component: {fileID: 705507995} |
||||||
|
- component: {fileID: 705507994} |
||||||
|
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 &705507994 |
||||||
|
Light: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
m_CorrespondingSourceObject: {fileID: 0} |
||||||
|
m_PrefabInternal: {fileID: 0} |
||||||
|
m_GameObject: {fileID: 705507993} |
||||||
|
m_Enabled: 1 |
||||||
|
serializedVersion: 8 |
||||||
|
m_Type: 1 |
||||||
|
m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} |
||||||
|
m_Intensity: 1 |
||||||
|
m_Range: 10 |
||||||
|
m_SpotAngle: 30 |
||||||
|
m_CookieSize: 10 |
||||||
|
m_Shadows: |
||||||
|
m_Type: 2 |
||||||
|
m_Resolution: -1 |
||||||
|
m_CustomResolution: -1 |
||||||
|
m_Strength: 1 |
||||||
|
m_Bias: 0.05 |
||||||
|
m_NormalBias: 0.4 |
||||||
|
m_NearPlane: 0.2 |
||||||
|
m_Cookie: {fileID: 0} |
||||||
|
m_DrawHalo: 0 |
||||||
|
m_Flare: {fileID: 0} |
||||||
|
m_RenderMode: 0 |
||||||
|
m_CullingMask: |
||||||
|
serializedVersion: 2 |
||||||
|
m_Bits: 4294967295 |
||||||
|
m_Lightmapping: 1 |
||||||
|
m_LightShadowCasterMode: 0 |
||||||
|
m_AreaSize: {x: 1, y: 1} |
||||||
|
m_BounceIntensity: 1 |
||||||
|
m_ColorTemperature: 6570 |
||||||
|
m_UseColorTemperature: 0 |
||||||
|
m_ShadowRadius: 0 |
||||||
|
m_ShadowAngle: 0 |
||||||
|
--- !u!4 &705507995 |
||||||
|
Transform: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
m_CorrespondingSourceObject: {fileID: 0} |
||||||
|
m_PrefabInternal: {fileID: 0} |
||||||
|
m_GameObject: {fileID: 705507993} |
||||||
|
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} |
||||||
|
m_LocalPosition: {x: 0, y: 3, z: 0} |
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1} |
||||||
|
m_Children: [] |
||||||
|
m_Father: {fileID: 0} |
||||||
|
m_RootOrder: 1 |
||||||
|
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} |
||||||
|
--- !u!1 &963194225 |
||||||
|
GameObject: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
m_CorrespondingSourceObject: {fileID: 0} |
||||||
|
m_PrefabInternal: {fileID: 0} |
||||||
|
serializedVersion: 6 |
||||||
|
m_Component: |
||||||
|
- component: {fileID: 963194228} |
||||||
|
- component: {fileID: 963194227} |
||||||
|
- component: {fileID: 963194226} |
||||||
|
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 &963194226 |
||||||
|
AudioListener: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
m_CorrespondingSourceObject: {fileID: 0} |
||||||
|
m_PrefabInternal: {fileID: 0} |
||||||
|
m_GameObject: {fileID: 963194225} |
||||||
|
m_Enabled: 1 |
||||||
|
--- !u!20 &963194227 |
||||||
|
Camera: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
m_CorrespondingSourceObject: {fileID: 0} |
||||||
|
m_PrefabInternal: {fileID: 0} |
||||||
|
m_GameObject: {fileID: 963194225} |
||||||
|
m_Enabled: 1 |
||||||
|
serializedVersion: 2 |
||||||
|
m_ClearFlags: 1 |
||||||
|
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} |
||||||
|
m_projectionMatrixMode: 1 |
||||||
|
m_SensorSize: {x: 36, y: 24} |
||||||
|
m_LensShift: {x: 0, y: 0} |
||||||
|
m_GateFitMode: 2 |
||||||
|
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 &963194228 |
||||||
|
Transform: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
m_CorrespondingSourceObject: {fileID: 0} |
||||||
|
m_PrefabInternal: {fileID: 0} |
||||||
|
m_GameObject: {fileID: 963194225} |
||||||
|
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} |
@ -0,0 +1,7 @@ |
|||||||
|
fileFormatVersion: 2 |
||||||
|
guid: 9fc0d4010bbf28b4594072e72b8655ab |
||||||
|
DefaultImporter: |
||||||
|
externalObjects: {} |
||||||
|
userData: |
||||||
|
assetBundleName: |
||||||
|
assetBundleVariant: |
@ -0,0 +1,8 @@ |
|||||||
|
fileFormatVersion: 2 |
||||||
|
guid: 10dde57229ed2e94f83784fae0a1e113 |
||||||
|
folderAsset: yes |
||||||
|
DefaultImporter: |
||||||
|
externalObjects: {} |
||||||
|
userData: |
||||||
|
assetBundleName: |
||||||
|
assetBundleVariant: |
@ -0,0 +1,8 @@ |
|||||||
|
fileFormatVersion: 2 |
||||||
|
guid: f651fcab0f26b294598b8e337f5de3b5 |
||||||
|
folderAsset: yes |
||||||
|
DefaultImporter: |
||||||
|
externalObjects: {} |
||||||
|
userData: |
||||||
|
assetBundleName: |
||||||
|
assetBundleVariant: |
@ -0,0 +1,8 @@ |
|||||||
|
fileFormatVersion: 2 |
||||||
|
guid: 2252bcf4c9280f34e9623664438864cf |
||||||
|
folderAsset: yes |
||||||
|
DefaultImporter: |
||||||
|
externalObjects: {} |
||||||
|
userData: |
||||||
|
assetBundleName: |
||||||
|
assetBundleVariant: |
@ -0,0 +1,694 @@ |
|||||||
|
%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: 705507994} |
||||||
|
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: 500 |
||||||
|
m_PVRBounces: 2 |
||||||
|
m_PVREnvironmentSampleCount: 500 |
||||||
|
m_PVREnvironmentReferencePointCount: 2048 |
||||||
|
m_PVRFilteringMode: 2 |
||||||
|
m_PVRDenoiserTypeDirect: 0 |
||||||
|
m_PVRDenoiserTypeIndirect: 0 |
||||||
|
m_PVRDenoiserTypeAO: 0 |
||||||
|
m_PVRFilterTypeDirect: 0 |
||||||
|
m_PVRFilterTypeIndirect: 0 |
||||||
|
m_PVRFilterTypeAO: 0 |
||||||
|
m_PVREnvironmentMIS: 0 |
||||||
|
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 &540781454 |
||||||
|
GameObject: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
m_CorrespondingSourceObject: {fileID: 0} |
||||||
|
m_PrefabInstance: {fileID: 0} |
||||||
|
m_PrefabAsset: {fileID: 0} |
||||||
|
serializedVersion: 6 |
||||||
|
m_Component: |
||||||
|
- component: {fileID: 540781455} |
||||||
|
m_Layer: 5 |
||||||
|
m_Name: TCPTools |
||||||
|
m_TagString: Untagged |
||||||
|
m_Icon: {fileID: 0} |
||||||
|
m_NavMeshLayer: 0 |
||||||
|
m_StaticEditorFlags: 0 |
||||||
|
m_IsActive: 1 |
||||||
|
--- !u!224 &540781455 |
||||||
|
RectTransform: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
m_CorrespondingSourceObject: {fileID: 0} |
||||||
|
m_PrefabInstance: {fileID: 0} |
||||||
|
m_PrefabAsset: {fileID: 0} |
||||||
|
m_GameObject: {fileID: 540781454} |
||||||
|
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: 1205360335} |
||||||
|
m_RootOrder: 1 |
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
||||||
|
m_AnchorMin: {x: 0, y: 0} |
||||||
|
m_AnchorMax: {x: 1, y: 1} |
||||||
|
m_AnchoredPosition: {x: 0, y: 0} |
||||||
|
m_SizeDelta: {x: 0, y: 0} |
||||||
|
m_Pivot: {x: 0.5, y: 0.5} |
||||||
|
--- !u!1 &705507993 |
||||||
|
GameObject: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
m_CorrespondingSourceObject: {fileID: 0} |
||||||
|
m_PrefabInstance: {fileID: 0} |
||||||
|
m_PrefabAsset: {fileID: 0} |
||||||
|
serializedVersion: 6 |
||||||
|
m_Component: |
||||||
|
- component: {fileID: 705507995} |
||||||
|
- component: {fileID: 705507994} |
||||||
|
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 &705507994 |
||||||
|
Light: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
m_CorrespondingSourceObject: {fileID: 0} |
||||||
|
m_PrefabInstance: {fileID: 0} |
||||||
|
m_PrefabAsset: {fileID: 0} |
||||||
|
m_GameObject: {fileID: 705507993} |
||||||
|
m_Enabled: 1 |
||||||
|
serializedVersion: 10 |
||||||
|
m_Type: 1 |
||||||
|
m_Shape: 0 |
||||||
|
m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} |
||||||
|
m_Intensity: 1 |
||||||
|
m_Range: 10 |
||||||
|
m_SpotAngle: 30 |
||||||
|
m_InnerSpotAngle: 21.80208 |
||||||
|
m_CookieSize: 10 |
||||||
|
m_Shadows: |
||||||
|
m_Type: 2 |
||||||
|
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: 1 |
||||||
|
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 &705507995 |
||||||
|
Transform: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
m_CorrespondingSourceObject: {fileID: 0} |
||||||
|
m_PrefabInstance: {fileID: 0} |
||||||
|
m_PrefabAsset: {fileID: 0} |
||||||
|
m_GameObject: {fileID: 705507993} |
||||||
|
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} |
||||||
|
m_LocalPosition: {x: 0, y: 3, z: 0} |
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1} |
||||||
|
m_Children: [] |
||||||
|
m_Father: {fileID: 0} |
||||||
|
m_RootOrder: 1 |
||||||
|
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} |
||||||
|
--- !u!1 &963194225 |
||||||
|
GameObject: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
m_CorrespondingSourceObject: {fileID: 0} |
||||||
|
m_PrefabInstance: {fileID: 0} |
||||||
|
m_PrefabAsset: {fileID: 0} |
||||||
|
serializedVersion: 6 |
||||||
|
m_Component: |
||||||
|
- component: {fileID: 963194228} |
||||||
|
- component: {fileID: 963194227} |
||||||
|
- component: {fileID: 963194226} |
||||||
|
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 &963194226 |
||||||
|
AudioListener: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
m_CorrespondingSourceObject: {fileID: 0} |
||||||
|
m_PrefabInstance: {fileID: 0} |
||||||
|
m_PrefabAsset: {fileID: 0} |
||||||
|
m_GameObject: {fileID: 963194225} |
||||||
|
m_Enabled: 1 |
||||||
|
--- !u!20 &963194227 |
||||||
|
Camera: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
m_CorrespondingSourceObject: {fileID: 0} |
||||||
|
m_PrefabInstance: {fileID: 0} |
||||||
|
m_PrefabAsset: {fileID: 0} |
||||||
|
m_GameObject: {fileID: 963194225} |
||||||
|
m_Enabled: 1 |
||||||
|
serializedVersion: 2 |
||||||
|
m_ClearFlags: 1 |
||||||
|
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, 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 &963194228 |
||||||
|
Transform: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
m_CorrespondingSourceObject: {fileID: 0} |
||||||
|
m_PrefabInstance: {fileID: 0} |
||||||
|
m_PrefabAsset: {fileID: 0} |
||||||
|
m_GameObject: {fileID: 963194225} |
||||||
|
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} |
||||||
|
--- !u!1 &1205360331 |
||||||
|
GameObject: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
m_CorrespondingSourceObject: {fileID: 0} |
||||||
|
m_PrefabInstance: {fileID: 0} |
||||||
|
m_PrefabAsset: {fileID: 0} |
||||||
|
serializedVersion: 6 |
||||||
|
m_Component: |
||||||
|
- component: {fileID: 1205360335} |
||||||
|
- component: {fileID: 1205360334} |
||||||
|
- component: {fileID: 1205360333} |
||||||
|
- component: {fileID: 1205360332} |
||||||
|
m_Layer: 5 |
||||||
|
m_Name: Canvas |
||||||
|
m_TagString: Untagged |
||||||
|
m_Icon: {fileID: 0} |
||||||
|
m_NavMeshLayer: 0 |
||||||
|
m_StaticEditorFlags: 0 |
||||||
|
m_IsActive: 1 |
||||||
|
--- !u!114 &1205360332 |
||||||
|
MonoBehaviour: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
m_CorrespondingSourceObject: {fileID: 0} |
||||||
|
m_PrefabInstance: {fileID: 0} |
||||||
|
m_PrefabAsset: {fileID: 0} |
||||||
|
m_GameObject: {fileID: 1205360331} |
||||||
|
m_Enabled: 1 |
||||||
|
m_EditorHideFlags: 0 |
||||||
|
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} |
||||||
|
m_Name: |
||||||
|
m_EditorClassIdentifier: |
||||||
|
m_IgnoreReversedGraphics: 1 |
||||||
|
m_BlockingObjects: 0 |
||||||
|
m_BlockingMask: |
||||||
|
serializedVersion: 2 |
||||||
|
m_Bits: 4294967295 |
||||||
|
--- !u!114 &1205360333 |
||||||
|
MonoBehaviour: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
m_CorrespondingSourceObject: {fileID: 0} |
||||||
|
m_PrefabInstance: {fileID: 0} |
||||||
|
m_PrefabAsset: {fileID: 0} |
||||||
|
m_GameObject: {fileID: 1205360331} |
||||||
|
m_Enabled: 1 |
||||||
|
m_EditorHideFlags: 0 |
||||||
|
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} |
||||||
|
m_Name: |
||||||
|
m_EditorClassIdentifier: |
||||||
|
m_UiScaleMode: 1 |
||||||
|
m_ReferencePixelsPerUnit: 100 |
||||||
|
m_ScaleFactor: 1 |
||||||
|
m_ReferenceResolution: {x: 1920, y: 1080} |
||||||
|
m_ScreenMatchMode: 0 |
||||||
|
m_MatchWidthOrHeight: 0 |
||||||
|
m_PhysicalUnit: 3 |
||||||
|
m_FallbackScreenDPI: 96 |
||||||
|
m_DefaultSpriteDPI: 96 |
||||||
|
m_DynamicPixelsPerUnit: 1 |
||||||
|
--- !u!223 &1205360334 |
||||||
|
Canvas: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
m_CorrespondingSourceObject: {fileID: 0} |
||||||
|
m_PrefabInstance: {fileID: 0} |
||||||
|
m_PrefabAsset: {fileID: 0} |
||||||
|
m_GameObject: {fileID: 1205360331} |
||||||
|
m_Enabled: 1 |
||||||
|
serializedVersion: 3 |
||||||
|
m_RenderMode: 0 |
||||||
|
m_Camera: {fileID: 0} |
||||||
|
m_PlaneDistance: 100 |
||||||
|
m_PixelPerfect: 0 |
||||||
|
m_ReceivesEvents: 1 |
||||||
|
m_OverrideSorting: 0 |
||||||
|
m_OverridePixelPerfect: 0 |
||||||
|
m_SortingBucketNormalizedSize: 0 |
||||||
|
m_AdditionalShaderChannelsFlag: 0 |
||||||
|
m_SortingLayerID: 0 |
||||||
|
m_SortingOrder: 0 |
||||||
|
m_TargetDisplay: 0 |
||||||
|
--- !u!224 &1205360335 |
||||||
|
RectTransform: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
m_CorrespondingSourceObject: {fileID: 0} |
||||||
|
m_PrefabInstance: {fileID: 0} |
||||||
|
m_PrefabAsset: {fileID: 0} |
||||||
|
m_GameObject: {fileID: 1205360331} |
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0} |
||||||
|
m_LocalScale: {x: 0, y: 0, z: 0} |
||||||
|
m_Children: |
||||||
|
- {fileID: 1287989911} |
||||||
|
- {fileID: 540781455} |
||||||
|
m_Father: {fileID: 0} |
||||||
|
m_RootOrder: 2 |
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
||||||
|
m_AnchorMin: {x: 0, y: 0} |
||||||
|
m_AnchorMax: {x: 0, y: 0} |
||||||
|
m_AnchoredPosition: {x: 0, y: 0} |
||||||
|
m_SizeDelta: {x: 0, y: 0} |
||||||
|
m_Pivot: {x: 0, y: 0} |
||||||
|
--- !u!224 &1287989911 stripped |
||||||
|
RectTransform: |
||||||
|
m_CorrespondingSourceObject: {fileID: 1515527919082889017, guid: 27bf485803eb75f4598b17afdfac3cfa, |
||||||
|
type: 3} |
||||||
|
m_PrefabInstance: {fileID: 1515527918222734766} |
||||||
|
m_PrefabAsset: {fileID: 0} |
||||||
|
--- !u!1 &2006740781 |
||||||
|
GameObject: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
m_CorrespondingSourceObject: {fileID: 0} |
||||||
|
m_PrefabInstance: {fileID: 0} |
||||||
|
m_PrefabAsset: {fileID: 0} |
||||||
|
serializedVersion: 6 |
||||||
|
m_Component: |
||||||
|
- component: {fileID: 2006740784} |
||||||
|
- component: {fileID: 2006740783} |
||||||
|
- component: {fileID: 2006740782} |
||||||
|
m_Layer: 0 |
||||||
|
m_Name: EventSystem |
||||||
|
m_TagString: Untagged |
||||||
|
m_Icon: {fileID: 0} |
||||||
|
m_NavMeshLayer: 0 |
||||||
|
m_StaticEditorFlags: 0 |
||||||
|
m_IsActive: 1 |
||||||
|
--- !u!114 &2006740782 |
||||||
|
MonoBehaviour: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
m_CorrespondingSourceObject: {fileID: 0} |
||||||
|
m_PrefabInstance: {fileID: 0} |
||||||
|
m_PrefabAsset: {fileID: 0} |
||||||
|
m_GameObject: {fileID: 2006740781} |
||||||
|
m_Enabled: 1 |
||||||
|
m_EditorHideFlags: 0 |
||||||
|
m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} |
||||||
|
m_Name: |
||||||
|
m_EditorClassIdentifier: |
||||||
|
m_HorizontalAxis: Horizontal |
||||||
|
m_VerticalAxis: Vertical |
||||||
|
m_SubmitButton: Submit |
||||||
|
m_CancelButton: Cancel |
||||||
|
m_InputActionsPerSecond: 10 |
||||||
|
m_RepeatDelay: 0.5 |
||||||
|
m_ForceModuleActive: 0 |
||||||
|
--- !u!114 &2006740783 |
||||||
|
MonoBehaviour: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
m_CorrespondingSourceObject: {fileID: 0} |
||||||
|
m_PrefabInstance: {fileID: 0} |
||||||
|
m_PrefabAsset: {fileID: 0} |
||||||
|
m_GameObject: {fileID: 2006740781} |
||||||
|
m_Enabled: 1 |
||||||
|
m_EditorHideFlags: 0 |
||||||
|
m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} |
||||||
|
m_Name: |
||||||
|
m_EditorClassIdentifier: |
||||||
|
m_FirstSelected: {fileID: 0} |
||||||
|
m_sendNavigationEvents: 1 |
||||||
|
m_DragThreshold: 10 |
||||||
|
--- !u!4 &2006740784 |
||||||
|
Transform: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
m_CorrespondingSourceObject: {fileID: 0} |
||||||
|
m_PrefabInstance: {fileID: 0} |
||||||
|
m_PrefabAsset: {fileID: 0} |
||||||
|
m_GameObject: {fileID: 2006740781} |
||||||
|
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: 3 |
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
||||||
|
--- !u!1001 &1515527918222734766 |
||||||
|
PrefabInstance: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
serializedVersion: 2 |
||||||
|
m_Modification: |
||||||
|
m_TransformParent: {fileID: 1205360335} |
||||||
|
m_Modifications: |
||||||
|
- target: {fileID: 1515527917566557997, guid: 27bf485803eb75f4598b17afdfac3cfa, |
||||||
|
type: 3} |
||||||
|
propertyPath: m_AnchorMax.x |
||||||
|
value: 0 |
||||||
|
objectReference: {fileID: 0} |
||||||
|
- target: {fileID: 1515527917566557997, guid: 27bf485803eb75f4598b17afdfac3cfa, |
||||||
|
type: 3} |
||||||
|
propertyPath: m_SizeDelta.x |
||||||
|
value: 0 |
||||||
|
objectReference: {fileID: 0} |
||||||
|
- target: {fileID: 1515527918183730452, guid: 27bf485803eb75f4598b17afdfac3cfa, |
||||||
|
type: 3} |
||||||
|
propertyPath: m_IsActive |
||||||
|
value: 1 |
||||||
|
objectReference: {fileID: 0} |
||||||
|
- target: {fileID: 1515527918760088269, guid: 27bf485803eb75f4598b17afdfac3cfa, |
||||||
|
type: 3} |
||||||
|
propertyPath: m_Text |
||||||
|
value: |
||||||
|
objectReference: {fileID: 0} |
||||||
|
- target: {fileID: 1515527918816451327, guid: 27bf485803eb75f4598b17afdfac3cfa, |
||||||
|
type: 3} |
||||||
|
propertyPath: m_AnchorMax.x |
||||||
|
value: 0 |
||||||
|
objectReference: {fileID: 0} |
||||||
|
- target: {fileID: 1515527918816451327, guid: 27bf485803eb75f4598b17afdfac3cfa, |
||||||
|
type: 3} |
||||||
|
propertyPath: m_AnchorMax.y |
||||||
|
value: 0 |
||||||
|
objectReference: {fileID: 0} |
||||||
|
- target: {fileID: 1515527918842651468, guid: 27bf485803eb75f4598b17afdfac3cfa, |
||||||
|
type: 3} |
||||||
|
propertyPath: m_AnchorMax.y |
||||||
|
value: 0 |
||||||
|
objectReference: {fileID: 0} |
||||||
|
- target: {fileID: 1515527918842651468, guid: 27bf485803eb75f4598b17afdfac3cfa, |
||||||
|
type: 3} |
||||||
|
propertyPath: m_SizeDelta.y |
||||||
|
value: 0 |
||||||
|
objectReference: {fileID: 0} |
||||||
|
- target: {fileID: 1515527919082889016, guid: 27bf485803eb75f4598b17afdfac3cfa, |
||||||
|
type: 3} |
||||||
|
propertyPath: m_Name |
||||||
|
value: TCPPrinter |
||||||
|
objectReference: {fileID: 0} |
||||||
|
- target: {fileID: 1515527919082889017, guid: 27bf485803eb75f4598b17afdfac3cfa, |
||||||
|
type: 3} |
||||||
|
propertyPath: m_LocalPosition.x |
||||||
|
value: 0 |
||||||
|
objectReference: {fileID: 0} |
||||||
|
- target: {fileID: 1515527919082889017, guid: 27bf485803eb75f4598b17afdfac3cfa, |
||||||
|
type: 3} |
||||||
|
propertyPath: m_LocalPosition.y |
||||||
|
value: 0 |
||||||
|
objectReference: {fileID: 0} |
||||||
|
- target: {fileID: 1515527919082889017, guid: 27bf485803eb75f4598b17afdfac3cfa, |
||||||
|
type: 3} |
||||||
|
propertyPath: m_LocalPosition.z |
||||||
|
value: 0 |
||||||
|
objectReference: {fileID: 0} |
||||||
|
- target: {fileID: 1515527919082889017, guid: 27bf485803eb75f4598b17afdfac3cfa, |
||||||
|
type: 3} |
||||||
|
propertyPath: m_LocalRotation.x |
||||||
|
value: -0 |
||||||
|
objectReference: {fileID: 0} |
||||||
|
- target: {fileID: 1515527919082889017, guid: 27bf485803eb75f4598b17afdfac3cfa, |
||||||
|
type: 3} |
||||||
|
propertyPath: m_LocalRotation.y |
||||||
|
value: -0 |
||||||
|
objectReference: {fileID: 0} |
||||||
|
- target: {fileID: 1515527919082889017, guid: 27bf485803eb75f4598b17afdfac3cfa, |
||||||
|
type: 3} |
||||||
|
propertyPath: m_LocalRotation.z |
||||||
|
value: -0 |
||||||
|
objectReference: {fileID: 0} |
||||||
|
- target: {fileID: 1515527919082889017, guid: 27bf485803eb75f4598b17afdfac3cfa, |
||||||
|
type: 3} |
||||||
|
propertyPath: m_LocalRotation.w |
||||||
|
value: 1 |
||||||
|
objectReference: {fileID: 0} |
||||||
|
- target: {fileID: 1515527919082889017, guid: 27bf485803eb75f4598b17afdfac3cfa, |
||||||
|
type: 3} |
||||||
|
propertyPath: m_RootOrder |
||||||
|
value: 0 |
||||||
|
objectReference: {fileID: 0} |
||||||
|
- target: {fileID: 1515527919082889017, guid: 27bf485803eb75f4598b17afdfac3cfa, |
||||||
|
type: 3} |
||||||
|
propertyPath: m_LocalEulerAnglesHint.x |
||||||
|
value: 0 |
||||||
|
objectReference: {fileID: 0} |
||||||
|
- target: {fileID: 1515527919082889017, guid: 27bf485803eb75f4598b17afdfac3cfa, |
||||||
|
type: 3} |
||||||
|
propertyPath: m_LocalEulerAnglesHint.y |
||||||
|
value: 0 |
||||||
|
objectReference: {fileID: 0} |
||||||
|
- target: {fileID: 1515527919082889017, guid: 27bf485803eb75f4598b17afdfac3cfa, |
||||||
|
type: 3} |
||||||
|
propertyPath: m_LocalEulerAnglesHint.z |
||||||
|
value: 0 |
||||||
|
objectReference: {fileID: 0} |
||||||
|
- target: {fileID: 1515527919082889017, guid: 27bf485803eb75f4598b17afdfac3cfa, |
||||||
|
type: 3} |
||||||
|
propertyPath: m_AnchoredPosition.x |
||||||
|
value: 0 |
||||||
|
objectReference: {fileID: 0} |
||||||
|
- target: {fileID: 1515527919082889017, guid: 27bf485803eb75f4598b17afdfac3cfa, |
||||||
|
type: 3} |
||||||
|
propertyPath: m_AnchoredPosition.y |
||||||
|
value: 0 |
||||||
|
objectReference: {fileID: 0} |
||||||
|
- target: {fileID: 1515527919082889017, guid: 27bf485803eb75f4598b17afdfac3cfa, |
||||||
|
type: 3} |
||||||
|
propertyPath: m_SizeDelta.x |
||||||
|
value: 1280 |
||||||
|
objectReference: {fileID: 0} |
||||||
|
- target: {fileID: 1515527919082889017, guid: 27bf485803eb75f4598b17afdfac3cfa, |
||||||
|
type: 3} |
||||||
|
propertyPath: m_SizeDelta.y |
||||||
|
value: 720 |
||||||
|
objectReference: {fileID: 0} |
||||||
|
- target: {fileID: 1515527919082889017, guid: 27bf485803eb75f4598b17afdfac3cfa, |
||||||
|
type: 3} |
||||||
|
propertyPath: m_AnchorMin.x |
||||||
|
value: 0.5 |
||||||
|
objectReference: {fileID: 0} |
||||||
|
- target: {fileID: 1515527919082889017, guid: 27bf485803eb75f4598b17afdfac3cfa, |
||||||
|
type: 3} |
||||||
|
propertyPath: m_AnchorMin.y |
||||||
|
value: 0.5 |
||||||
|
objectReference: {fileID: 0} |
||||||
|
- target: {fileID: 1515527919082889017, guid: 27bf485803eb75f4598b17afdfac3cfa, |
||||||
|
type: 3} |
||||||
|
propertyPath: m_AnchorMax.x |
||||||
|
value: 0.5 |
||||||
|
objectReference: {fileID: 0} |
||||||
|
- target: {fileID: 1515527919082889017, guid: 27bf485803eb75f4598b17afdfac3cfa, |
||||||
|
type: 3} |
||||||
|
propertyPath: m_AnchorMax.y |
||||||
|
value: 0.5 |
||||||
|
objectReference: {fileID: 0} |
||||||
|
- target: {fileID: 1515527919082889017, guid: 27bf485803eb75f4598b17afdfac3cfa, |
||||||
|
type: 3} |
||||||
|
propertyPath: m_Pivot.x |
||||||
|
value: 0.5 |
||||||
|
objectReference: {fileID: 0} |
||||||
|
- target: {fileID: 1515527919082889017, guid: 27bf485803eb75f4598b17afdfac3cfa, |
||||||
|
type: 3} |
||||||
|
propertyPath: m_Pivot.y |
||||||
|
value: 0.5 |
||||||
|
objectReference: {fileID: 0} |
||||||
|
- target: {fileID: 1515527919511105903, guid: 27bf485803eb75f4598b17afdfac3cfa, |
||||||
|
type: 3} |
||||||
|
propertyPath: m_AnchorMax.x |
||||||
|
value: 0 |
||||||
|
objectReference: {fileID: 0} |
||||||
|
- target: {fileID: 1515527919511105903, guid: 27bf485803eb75f4598b17afdfac3cfa, |
||||||
|
type: 3} |
||||||
|
propertyPath: m_AnchorMax.y |
||||||
|
value: 0 |
||||||
|
objectReference: {fileID: 0} |
||||||
|
- target: {fileID: 1515527919511105903, guid: 27bf485803eb75f4598b17afdfac3cfa, |
||||||
|
type: 3} |
||||||
|
propertyPath: m_SizeDelta.x |
||||||
|
value: 0 |
||||||
|
objectReference: {fileID: 0} |
||||||
|
- target: {fileID: 1515527919511105903, guid: 27bf485803eb75f4598b17afdfac3cfa, |
||||||
|
type: 3} |
||||||
|
propertyPath: m_SizeDelta.y |
||||||
|
value: 0 |
||||||
|
objectReference: {fileID: 0} |
||||||
|
- target: {fileID: 1515527919516098611, guid: 27bf485803eb75f4598b17afdfac3cfa, |
||||||
|
type: 3} |
||||||
|
propertyPath: m_AnchorMax.x |
||||||
|
value: 0 |
||||||
|
objectReference: {fileID: 0} |
||||||
|
- target: {fileID: 1515527919516098611, guid: 27bf485803eb75f4598b17afdfac3cfa, |
||||||
|
type: 3} |
||||||
|
propertyPath: m_AnchorMax.y |
||||||
|
value: 0 |
||||||
|
objectReference: {fileID: 0} |
||||||
|
m_RemovedComponents: [] |
||||||
|
m_SourcePrefab: {fileID: 100100000, guid: 27bf485803eb75f4598b17afdfac3cfa, type: 3} |
@ -0,0 +1,7 @@ |
|||||||
|
fileFormatVersion: 2 |
||||||
|
guid: 4e31cb352d1ee7b4f9aa1df65b8baeab |
||||||
|
DefaultImporter: |
||||||
|
externalObjects: {} |
||||||
|
userData: |
||||||
|
assetBundleName: |
||||||
|
assetBundleVariant: |
@ -0,0 +1,8 @@ |
|||||||
|
fileFormatVersion: 2 |
||||||
|
guid: cd8de675117c68d4e8d5456c62ea2e35 |
||||||
|
folderAsset: yes |
||||||
|
DefaultImporter: |
||||||
|
externalObjects: {} |
||||||
|
userData: |
||||||
|
assetBundleName: |
||||||
|
assetBundleVariant: |
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,7 @@ |
|||||||
|
fileFormatVersion: 2 |
||||||
|
guid: 27bf485803eb75f4598b17afdfac3cfa |
||||||
|
PrefabImporter: |
||||||
|
externalObjects: {} |
||||||
|
userData: |
||||||
|
assetBundleName: |
||||||
|
assetBundleVariant: |
@ -0,0 +1,8 @@ |
|||||||
|
fileFormatVersion: 2 |
||||||
|
guid: 6ef2d97720f937e4e9525aa1ba66e38b |
||||||
|
folderAsset: yes |
||||||
|
DefaultImporter: |
||||||
|
externalObjects: {} |
||||||
|
userData: |
||||||
|
assetBundleName: |
||||||
|
assetBundleVariant: |
@ -0,0 +1,8 @@ |
|||||||
|
fileFormatVersion: 2 |
||||||
|
guid: 6175f27812bd6b446b1ad0a1d7806664 |
||||||
|
folderAsset: yes |
||||||
|
DefaultImporter: |
||||||
|
externalObjects: {} |
||||||
|
userData: |
||||||
|
assetBundleName: |
||||||
|
assetBundleVariant: |
@ -0,0 +1,925 @@ |
|||||||
|
/**************************************************************************** |
||||||
|
* Copyright (c) 2015 ~ 2022 liangxiegame MIT License |
||||||
|
* |
||||||
|
* QFramework v1.0 |
||||||
|
* |
||||||
|
* https://qframework.cn |
||||||
|
* https://github.com/liangxiegame/QFramework |
||||||
|
* https://gitee.com/liangxiegame/QFramework |
||||||
|
* |
||||||
|
* Author: |
||||||
|
* liangxie https://github.com/liangxie |
||||||
|
* soso https://github.com/so-sos-so |
||||||
|
* |
||||||
|
* Contributor |
||||||
|
* TastSong https://github.com/TastSong |
||||||
|
* 京产肠饭 https://gitee.com/JingChanChangFan/hk_-unity-tools |
||||||
|
* 猫叔(一只皮皮虾) https://space.bilibili.com/656352/ |
||||||
|
* |
||||||
|
* Community |
||||||
|
* QQ Group: 623597263 |
||||||
|
* Latest Update: 2022.8.8 10:24 List=>HashSet |
||||||
|
****************************************************************************/ |
||||||
|
|
||||||
|
using System; |
||||||
|
using System.Collections.Generic; |
||||||
|
using UnityEngine; |
||||||
|
|
||||||
|
namespace QFramework |
||||||
|
{ |
||||||
|
#region Architecture |
||||||
|
|
||||||
|
public interface IArchitecture |
||||||
|
{ |
||||||
|
void RegisterSystem<T>(T system) where T : ISystem; |
||||||
|
|
||||||
|
void RegisterModel<T>(T model) where T : IModel; |
||||||
|
|
||||||
|
void RegisterUtility<T>(T utility) where T : IUtility; |
||||||
|
|
||||||
|
T GetSystem<T>() where T : class, ISystem; |
||||||
|
|
||||||
|
T GetModel<T>() where T : class, IModel; |
||||||
|
|
||||||
|
T GetUtility<T>() where T : class, IUtility; |
||||||
|
|
||||||
|
void SendCommand<T>() where T : ICommand, new(); |
||||||
|
void SendCommand<T>(T command) where T : ICommand; |
||||||
|
|
||||||
|
TResult SendQuery<TResult>(IQuery<TResult> query); |
||||||
|
|
||||||
|
void SendEvent<T>() where T : new(); |
||||||
|
void SendEvent<T>(T e); |
||||||
|
|
||||||
|
IUnRegister RegisterEvent<T>(Action<T> onEvent); |
||||||
|
void UnRegisterEvent<T>(Action<T> onEvent); |
||||||
|
} |
||||||
|
|
||||||
|
public abstract class Architecture<T> : IArchitecture where T : Architecture<T>, new() |
||||||
|
{ |
||||||
|
private bool mInited = false; |
||||||
|
|
||||||
|
private HashSet<ISystem> mSystems = new HashSet<ISystem>(); |
||||||
|
|
||||||
|
private HashSet<IModel> mModels = new HashSet<IModel>(); |
||||||
|
|
||||||
|
public static Action<T> OnRegisterPatch = architecture => { }; |
||||||
|
|
||||||
|
private static T mArchitecture; |
||||||
|
|
||||||
|
public static IArchitecture Interface |
||||||
|
{ |
||||||
|
get |
||||||
|
{ |
||||||
|
if (mArchitecture == null) |
||||||
|
{ |
||||||
|
MakeSureArchitecture(); |
||||||
|
} |
||||||
|
|
||||||
|
return mArchitecture; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
static void MakeSureArchitecture() |
||||||
|
{ |
||||||
|
if (mArchitecture == null) |
||||||
|
{ |
||||||
|
mArchitecture = new T(); |
||||||
|
mArchitecture.Init(); |
||||||
|
|
||||||
|
OnRegisterPatch?.Invoke(mArchitecture); |
||||||
|
|
||||||
|
foreach (var architectureModel in mArchitecture.mModels) |
||||||
|
{ |
||||||
|
architectureModel.Init(); |
||||||
|
} |
||||||
|
|
||||||
|
mArchitecture.mModels.Clear(); |
||||||
|
|
||||||
|
foreach (var architectureSystem in mArchitecture.mSystems) |
||||||
|
{ |
||||||
|
architectureSystem.Init(); |
||||||
|
} |
||||||
|
|
||||||
|
mArchitecture.mSystems.Clear(); |
||||||
|
|
||||||
|
mArchitecture.mInited = true; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
protected abstract void Init(); |
||||||
|
|
||||||
|
private IOCContainer mContainer = new IOCContainer(); |
||||||
|
|
||||||
|
public void RegisterSystem<TSystem>(TSystem system) where TSystem : ISystem |
||||||
|
{ |
||||||
|
system.SetArchitecture(this); |
||||||
|
mContainer.Register<TSystem>(system); |
||||||
|
|
||||||
|
if (!mInited) |
||||||
|
{ |
||||||
|
mSystems.Add(system); |
||||||
|
} |
||||||
|
else |
||||||
|
{ |
||||||
|
system.Init(); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public void RegisterModel<TModel>(TModel model) where TModel : IModel |
||||||
|
{ |
||||||
|
model.SetArchitecture(this); |
||||||
|
mContainer.Register<TModel>(model); |
||||||
|
|
||||||
|
if (!mInited) |
||||||
|
{ |
||||||
|
mModels.Add(model); |
||||||
|
} |
||||||
|
else |
||||||
|
{ |
||||||
|
model.Init(); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public void RegisterUtility<TUtility>(TUtility utility) where TUtility : IUtility |
||||||
|
{ |
||||||
|
mContainer.Register<TUtility>(utility); |
||||||
|
} |
||||||
|
|
||||||
|
public TSystem GetSystem<TSystem>() where TSystem : class, ISystem |
||||||
|
{ |
||||||
|
return mContainer.Get<TSystem>(); |
||||||
|
} |
||||||
|
|
||||||
|
public TModel GetModel<TModel>() where TModel : class, IModel |
||||||
|
{ |
||||||
|
return mContainer.Get<TModel>(); |
||||||
|
} |
||||||
|
|
||||||
|
public TUtility GetUtility<TUtility>() where TUtility : class, IUtility |
||||||
|
{ |
||||||
|
return mContainer.Get<TUtility>(); |
||||||
|
} |
||||||
|
|
||||||
|
public void SendCommand<TCommand>() where TCommand : ICommand, new() |
||||||
|
{ |
||||||
|
var command = new TCommand(); |
||||||
|
ExecuteCommand(command); |
||||||
|
} |
||||||
|
|
||||||
|
public void SendCommand<TCommand>(TCommand command) where TCommand : ICommand |
||||||
|
{ |
||||||
|
ExecuteCommand(command); |
||||||
|
} |
||||||
|
|
||||||
|
protected virtual void ExecuteCommand(ICommand command) |
||||||
|
{ |
||||||
|
command.SetArchitecture(this); |
||||||
|
command.Execute(); |
||||||
|
} |
||||||
|
|
||||||
|
public TResult SendQuery<TResult>(IQuery<TResult> query) |
||||||
|
{ |
||||||
|
return DoQuery<TResult>(query); |
||||||
|
} |
||||||
|
|
||||||
|
protected virtual TResult DoQuery<TResult>(IQuery<TResult> query) |
||||||
|
{ |
||||||
|
query.SetArchitecture(this); |
||||||
|
return query.Do(); |
||||||
|
} |
||||||
|
|
||||||
|
private TypeEventSystem mTypeEventSystem = new TypeEventSystem(); |
||||||
|
|
||||||
|
public void SendEvent<TEvent>() where TEvent : new() |
||||||
|
{ |
||||||
|
mTypeEventSystem.Send<TEvent>(); |
||||||
|
} |
||||||
|
|
||||||
|
public void SendEvent<TEvent>(TEvent e) |
||||||
|
{ |
||||||
|
mTypeEventSystem.Send<TEvent>(e); |
||||||
|
} |
||||||
|
|
||||||
|
public IUnRegister RegisterEvent<TEvent>(Action<TEvent> onEvent) |
||||||
|
{ |
||||||
|
return mTypeEventSystem.Register<TEvent>(onEvent); |
||||||
|
} |
||||||
|
|
||||||
|
public void UnRegisterEvent<TEvent>(Action<TEvent> onEvent) |
||||||
|
{ |
||||||
|
mTypeEventSystem.UnRegister<TEvent>(onEvent); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public interface IOnEvent<T> |
||||||
|
{ |
||||||
|
void OnEvent(T e); |
||||||
|
} |
||||||
|
|
||||||
|
public static class OnGlobalEventExtension |
||||||
|
{ |
||||||
|
public static IUnRegister RegisterEvent<T>(this IOnEvent<T> self) where T : struct
|
||||||
|
{ |
||||||
|
return TypeEventSystem.Global.Register<T>(self.OnEvent); |
||||||
|
} |
||||||
|
|
||||||
|
public static void UnRegisterEvent<T>(this IOnEvent<T> self) where T : struct
|
||||||
|
{ |
||||||
|
TypeEventSystem.Global.UnRegister<T>(self.OnEvent); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
#endregion |
||||||
|
|
||||||
|
#region Controller |
||||||
|
|
||||||
|
public interface IController : IBelongToArchitecture, ICanSendCommand, ICanGetSystem, ICanGetModel, |
||||||
|
ICanRegisterEvent, ICanSendQuery |
||||||
|
{ |
||||||
|
} |
||||||
|
|
||||||
|
#endregion |
||||||
|
|
||||||
|
#region System |
||||||
|
|
||||||
|
public interface ISystem : IBelongToArchitecture, ICanSetArchitecture, ICanGetModel, ICanGetUtility, |
||||||
|
ICanRegisterEvent, ICanSendEvent, ICanGetSystem |
||||||
|
{ |
||||||
|
void Init(); |
||||||
|
} |
||||||
|
|
||||||
|
public abstract class AbstractSystem : ISystem |
||||||
|
{ |
||||||
|
private IArchitecture mArchitecture; |
||||||
|
|
||||||
|
IArchitecture IBelongToArchitecture.GetArchitecture() |
||||||
|
{ |
||||||
|
return mArchitecture; |
||||||
|
} |
||||||
|
|
||||||
|
void ICanSetArchitecture.SetArchitecture(IArchitecture architecture) |
||||||
|
{ |
||||||
|
mArchitecture = architecture; |
||||||
|
} |
||||||
|
|
||||||
|
void ISystem.Init() |
||||||
|
{ |
||||||
|
OnInit(); |
||||||
|
} |
||||||
|
|
||||||
|
protected abstract void OnInit(); |
||||||
|
} |
||||||
|
|
||||||
|
#endregion |
||||||
|
|
||||||
|
#region Model |
||||||
|
|
||||||
|
public interface IModel : IBelongToArchitecture, ICanSetArchitecture, ICanGetUtility, ICanSendEvent |
||||||
|
{ |
||||||
|
void Init(); |
||||||
|
} |
||||||
|
|
||||||
|
public abstract class AbstractModel : IModel |
||||||
|
{ |
||||||
|
private IArchitecture mArchitecturel; |
||||||
|
|
||||||
|
IArchitecture IBelongToArchitecture.GetArchitecture() |
||||||
|
{ |
||||||
|
return mArchitecturel; |
||||||
|
} |
||||||
|
|
||||||
|
void ICanSetArchitecture.SetArchitecture(IArchitecture architecture) |
||||||
|
{ |
||||||
|
mArchitecturel = architecture; |
||||||
|
} |
||||||
|
|
||||||
|
void IModel.Init() |
||||||
|
{ |
||||||
|
OnInit(); |
||||||
|
} |
||||||
|
|
||||||
|
protected abstract void OnInit(); |
||||||
|
} |
||||||
|
|
||||||
|
#endregion |
||||||
|
|
||||||
|
#region Utility |
||||||
|
|
||||||
|
public interface IUtility |
||||||
|
{ |
||||||
|
} |
||||||
|
|
||||||
|
#endregion |
||||||
|
|
||||||
|
#region Command |
||||||
|
|
||||||
|
public interface ICommand : IBelongToArchitecture, ICanSetArchitecture, ICanGetSystem, ICanGetModel, ICanGetUtility, |
||||||
|
ICanSendEvent, ICanSendCommand, ICanSendQuery |
||||||
|
{ |
||||||
|
void Execute(); |
||||||
|
} |
||||||
|
|
||||||
|
public abstract class AbstractCommand : ICommand |
||||||
|
{ |
||||||
|
private IArchitecture mArchitecture; |
||||||
|
|
||||||
|
IArchitecture IBelongToArchitecture.GetArchitecture() |
||||||
|
{ |
||||||
|
return mArchitecture; |
||||||
|
} |
||||||
|
|
||||||
|
void ICanSetArchitecture.SetArchitecture(IArchitecture architecture) |
||||||
|
{ |
||||||
|
mArchitecture = architecture; |
||||||
|
} |
||||||
|
|
||||||
|
void ICommand.Execute() |
||||||
|
{ |
||||||
|
OnExecute(); |
||||||
|
} |
||||||
|
|
||||||
|
protected abstract void OnExecute(); |
||||||
|
} |
||||||
|
|
||||||
|
#endregion |
||||||
|
|
||||||
|
#region Query |
||||||
|
|
||||||
|
public interface IQuery<TResult> : IBelongToArchitecture, ICanSetArchitecture, ICanGetModel, ICanGetSystem, |
||||||
|
ICanSendQuery |
||||||
|
{ |
||||||
|
TResult Do(); |
||||||
|
} |
||||||
|
|
||||||
|
public abstract class AbstractQuery<T> : IQuery<T> |
||||||
|
{ |
||||||
|
public T Do() |
||||||
|
{ |
||||||
|
return OnDo(); |
||||||
|
} |
||||||
|
|
||||||
|
protected abstract T OnDo(); |
||||||
|
|
||||||
|
|
||||||
|
private IArchitecture mArchitecture; |
||||||
|
|
||||||
|
public IArchitecture GetArchitecture() |
||||||
|
{ |
||||||
|
return mArchitecture; |
||||||
|
} |
||||||
|
|
||||||
|
public void SetArchitecture(IArchitecture architecture) |
||||||
|
{ |
||||||
|
mArchitecture = architecture; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
#endregion |
||||||
|
|
||||||
|
#region Rule |
||||||
|
|
||||||
|
public interface IBelongToArchitecture |
||||||
|
{ |
||||||
|
IArchitecture GetArchitecture(); |
||||||
|
} |
||||||
|
|
||||||
|
public interface ICanSetArchitecture |
||||||
|
{ |
||||||
|
void SetArchitecture(IArchitecture architecture); |
||||||
|
} |
||||||
|
|
||||||
|
public interface ICanGetModel : IBelongToArchitecture |
||||||
|
{ |
||||||
|
} |
||||||
|
|
||||||
|
public static class CanGetModelExtension |
||||||
|
{ |
||||||
|
public static T GetModel<T>(this ICanGetModel self) where T : class, IModel |
||||||
|
{ |
||||||
|
return self.GetArchitecture().GetModel<T>(); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public interface ICanGetSystem : IBelongToArchitecture |
||||||
|
{ |
||||||
|
} |
||||||
|
|
||||||
|
public static class CanGetSystemExtension |
||||||
|
{ |
||||||
|
public static T GetSystem<T>(this ICanGetSystem self) where T : class, ISystem |
||||||
|
{ |
||||||
|
return self.GetArchitecture().GetSystem<T>(); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public interface ICanGetUtility : IBelongToArchitecture |
||||||
|
{ |
||||||
|
} |
||||||
|
|
||||||
|
public static class CanGetUtilityExtension |
||||||
|
{ |
||||||
|
public static T GetUtility<T>(this ICanGetUtility self) where T : class, IUtility |
||||||
|
{ |
||||||
|
return self.GetArchitecture().GetUtility<T>(); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public interface ICanRegisterEvent : IBelongToArchitecture |
||||||
|
{ |
||||||
|
} |
||||||
|
|
||||||
|
public static class CanRegisterEventExtension |
||||||
|
{ |
||||||
|
public static IUnRegister RegisterEvent<T>(this ICanRegisterEvent self, Action<T> onEvent) |
||||||
|
{ |
||||||
|
return self.GetArchitecture().RegisterEvent<T>(onEvent); |
||||||
|
} |
||||||
|
|
||||||
|
public static void UnRegisterEvent<T>(this ICanRegisterEvent self, Action<T> onEvent) |
||||||
|
{ |
||||||
|
self.GetArchitecture().UnRegisterEvent<T>(onEvent); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public interface ICanSendCommand : IBelongToArchitecture |
||||||
|
{ |
||||||
|
} |
||||||
|
|
||||||
|
public static class CanSendCommandExtension |
||||||
|
{ |
||||||
|
public static void SendCommand<T>(this ICanSendCommand self) where T : ICommand, new() |
||||||
|
{ |
||||||
|
self.GetArchitecture().SendCommand<T>(); |
||||||
|
} |
||||||
|
|
||||||
|
public static void SendCommand<T>(this ICanSendCommand self, T command) where T : ICommand |
||||||
|
{ |
||||||
|
self.GetArchitecture().SendCommand<T>(command); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public interface ICanSendEvent : IBelongToArchitecture |
||||||
|
{ |
||||||
|
} |
||||||
|
|
||||||
|
public static class CanSendEventExtension |
||||||
|
{ |
||||||
|
public static void SendEvent<T>(this ICanSendEvent self) where T : new() |
||||||
|
{ |
||||||
|
self.GetArchitecture().SendEvent<T>(); |
||||||
|
} |
||||||
|
|
||||||
|
public static void SendEvent<T>(this ICanSendEvent self, T e) |
||||||
|
{ |
||||||
|
self.GetArchitecture().SendEvent<T>(e); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public interface ICanSendQuery : IBelongToArchitecture |
||||||
|
{ |
||||||
|
} |
||||||
|
|
||||||
|
public static class CanSendQueryExtension |
||||||
|
{ |
||||||
|
public static TResult SendQuery<TResult>(this ICanSendQuery self, IQuery<TResult> query) |
||||||
|
{ |
||||||
|
return self.GetArchitecture().SendQuery(query); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
#endregion |
||||||
|
|
||||||
|
#region TypeEventSystem |
||||||
|
|
||||||
|
public interface IUnRegister |
||||||
|
{ |
||||||
|
void UnRegister(); |
||||||
|
} |
||||||
|
|
||||||
|
public interface IUnRegisterList |
||||||
|
{ |
||||||
|
List<IUnRegister> UnregisterList { get; } |
||||||
|
} |
||||||
|
|
||||||
|
public static class IUnRegisterListExtension |
||||||
|
{ |
||||||
|
public static void AddToUnregisterList(this IUnRegister self, IUnRegisterList unRegisterList) |
||||||
|
{ |
||||||
|
unRegisterList.UnregisterList.Add(self); |
||||||
|
} |
||||||
|
|
||||||
|
public static void UnRegisterAll(this IUnRegisterList self) |
||||||
|
{ |
||||||
|
foreach (var unRegister in self.UnregisterList) |
||||||
|
{ |
||||||
|
unRegister.UnRegister(); |
||||||
|
} |
||||||
|
|
||||||
|
self.UnregisterList.Clear(); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/// <summary> |
||||||
|
/// 自定义可注销的类 |
||||||
|
/// </summary> |
||||||
|
public struct CustomUnRegister : IUnRegister |
||||||
|
{ |
||||||
|
/// <summary> |
||||||
|
/// 委托对象 |
||||||
|
/// </summary> |
||||||
|
private Action mOnUnRegister { get; set; } |
||||||
|
|
||||||
|
/// <summary> |
||||||
|
/// 带参构造函数 |
||||||
|
/// </summary> |
||||||
|
/// <param name="onDispose"></param> |
||||||
|
public CustomUnRegister(Action onUnRegsiter) |
||||||
|
{ |
||||||
|
mOnUnRegister = onUnRegsiter; |
||||||
|
} |
||||||
|
|
||||||
|
/// <summary> |
||||||
|
/// 资源释放 |
||||||
|
/// </summary> |
||||||
|
public void UnRegister() |
||||||
|
{ |
||||||
|
mOnUnRegister.Invoke(); |
||||||
|
mOnUnRegister = null; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public class UnRegisterOnDestroyTrigger : MonoBehaviour |
||||||
|
{ |
||||||
|
private readonly HashSet<IUnRegister> mUnRegisters = new HashSet<IUnRegister>(); |
||||||
|
|
||||||
|
public void AddUnRegister(IUnRegister unRegister) |
||||||
|
{ |
||||||
|
mUnRegisters.Add(unRegister); |
||||||
|
} |
||||||
|
|
||||||
|
public void RemoveUnRegister(IUnRegister unRegister) |
||||||
|
{ |
||||||
|
mUnRegisters.Remove(unRegister); |
||||||
|
} |
||||||
|
|
||||||
|
private void OnDestroy() |
||||||
|
{ |
||||||
|
foreach (var unRegister in mUnRegisters) |
||||||
|
{ |
||||||
|
unRegister.UnRegister(); |
||||||
|
} |
||||||
|
|
||||||
|
mUnRegisters.Clear(); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public static class UnRegisterExtension |
||||||
|
{ |
||||||
|
public static IUnRegister UnRegisterWhenGameObjectDestroyed(this IUnRegister unRegister, GameObject gameObject) |
||||||
|
{ |
||||||
|
var trigger = gameObject.GetComponent<UnRegisterOnDestroyTrigger>(); |
||||||
|
|
||||||
|
if (!trigger) |
||||||
|
{ |
||||||
|
trigger = gameObject.AddComponent<UnRegisterOnDestroyTrigger>(); |
||||||
|
} |
||||||
|
|
||||||
|
trigger.AddUnRegister(unRegister); |
||||||
|
|
||||||
|
return unRegister; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public class TypeEventSystem |
||||||
|
{ |
||||||
|
private readonly EasyEvents mEvents = new EasyEvents(); |
||||||
|
|
||||||
|
|
||||||
|
public static readonly TypeEventSystem Global = new TypeEventSystem(); |
||||||
|
|
||||||
|
public void Send<T>() where T : new() |
||||||
|
{ |
||||||
|
mEvents.GetEvent<EasyEvent<T>>()?.Trigger(new T()); |
||||||
|
} |
||||||
|
|
||||||
|
public void Send<T>(T e) |
||||||
|
{ |
||||||
|
mEvents.GetEvent<EasyEvent<T>>()?.Trigger(e); |
||||||
|
} |
||||||
|
|
||||||
|
public IUnRegister Register<T>(Action<T> onEvent) |
||||||
|
{ |
||||||
|
var e = mEvents.GetOrAddEvent<EasyEvent<T>>(); |
||||||
|
return e.Register(onEvent); |
||||||
|
} |
||||||
|
|
||||||
|
public void UnRegister<T>(Action<T> onEvent) |
||||||
|
{ |
||||||
|
var e = mEvents.GetEvent<EasyEvent<T>>(); |
||||||
|
if (e != null) |
||||||
|
{ |
||||||
|
e.UnRegister(onEvent); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
#endregion |
||||||
|
|
||||||
|
#region IOC |
||||||
|
|
||||||
|
public class IOCContainer |
||||||
|
{ |
||||||
|
private Dictionary<Type, object> mInstances = new Dictionary<Type, object>(); |
||||||
|
|
||||||
|
public void Register<T>(T instance) |
||||||
|
{ |
||||||
|
var key = typeof(T); |
||||||
|
|
||||||
|
if (mInstances.ContainsKey(key)) |
||||||
|
{ |
||||||
|
mInstances[key] = instance; |
||||||
|
} |
||||||
|
else |
||||||
|
{ |
||||||
|
mInstances.Add(key, instance); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public T Get<T>() where T : class
|
||||||
|
{ |
||||||
|
var key = typeof(T); |
||||||
|
|
||||||
|
if (mInstances.TryGetValue(key, out var retInstance)) |
||||||
|
{ |
||||||
|
return retInstance as T; |
||||||
|
} |
||||||
|
|
||||||
|
return null; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
#endregion |
||||||
|
|
||||||
|
#region BindableProperty |
||||||
|
|
||||||
|
public interface IBindableProperty<T> : IReadonlyBindableProperty<T> |
||||||
|
{ |
||||||
|
new T Value { get; set; } |
||||||
|
void SetValueWithoutEvent(T newValue); |
||||||
|
} |
||||||
|
|
||||||
|
public interface IReadonlyBindableProperty<T> |
||||||
|
{ |
||||||
|
T Value { get; } |
||||||
|
|
||||||
|
IUnRegister RegisterWithInitValue(Action<T> action); |
||||||
|
void UnRegister(Action<T> onValueChanged); |
||||||
|
IUnRegister Register(Action<T> onValueChanged); |
||||||
|
} |
||||||
|
|
||||||
|
public class BindableProperty<T> : IBindableProperty<T> |
||||||
|
{ |
||||||
|
public BindableProperty(T defaultValue = default) |
||||||
|
{ |
||||||
|
mValue = defaultValue; |
||||||
|
} |
||||||
|
|
||||||
|
protected T mValue; |
||||||
|
|
||||||
|
public T Value |
||||||
|
{ |
||||||
|
get => GetValue(); |
||||||
|
set |
||||||
|
{ |
||||||
|
if (value == null && mValue == null) return; |
||||||
|
if (value != null && value.Equals(mValue)) return; |
||||||
|
|
||||||
|
SetValue(value); |
||||||
|
mOnValueChanged?.Invoke(value); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
protected virtual void SetValue(T newValue) |
||||||
|
{ |
||||||
|
mValue = newValue; |
||||||
|
} |
||||||
|
|
||||||
|
protected virtual T GetValue() |
||||||
|
{ |
||||||
|
return mValue; |
||||||
|
} |
||||||
|
|
||||||
|
public void SetValueWithoutEvent(T newValue) |
||||||
|
{ |
||||||
|
mValue = newValue; |
||||||
|
} |
||||||
|
|
||||||
|
private Action<T> mOnValueChanged = (v) => { }; |
||||||
|
|
||||||
|
public IUnRegister Register(Action<T> onValueChanged) |
||||||
|
{ |
||||||
|
mOnValueChanged += onValueChanged; |
||||||
|
return new BindablePropertyUnRegister<T>() |
||||||
|
{ |
||||||
|
BindableProperty = this, |
||||||
|
OnValueChanged = onValueChanged |
||||||
|
}; |
||||||
|
} |
||||||
|
|
||||||
|
public IUnRegister RegisterWithInitValue(Action<T> onValueChanged) |
||||||
|
{ |
||||||
|
onValueChanged(mValue); |
||||||
|
return Register(onValueChanged); |
||||||
|
} |
||||||
|
|
||||||
|
public static implicit operator T(BindableProperty<T> property) |
||||||
|
{ |
||||||
|
return property.Value; |
||||||
|
} |
||||||
|
|
||||||
|
public override string ToString() |
||||||
|
{ |
||||||
|
return Value.ToString(); |
||||||
|
} |
||||||
|
|
||||||
|
public void UnRegister(Action<T> onValueChanged) |
||||||
|
{ |
||||||
|
mOnValueChanged -= onValueChanged; |
||||||
|
} |
||||||
|
|
||||||
|
public string Trim() |
||||||
|
{ |
||||||
|
throw new NotImplementedException(); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public class BindablePropertyUnRegister<T> : IUnRegister |
||||||
|
{ |
||||||
|
public BindableProperty<T> BindableProperty { get; set; } |
||||||
|
|
||||||
|
public Action<T> OnValueChanged { get; set; } |
||||||
|
|
||||||
|
public void UnRegister() |
||||||
|
{ |
||||||
|
BindableProperty.UnRegister(OnValueChanged); |
||||||
|
|
||||||
|
BindableProperty = null; |
||||||
|
OnValueChanged = null; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
#endregion |
||||||
|
|
||||||
|
#region EasyEvent |
||||||
|
|
||||||
|
public interface IEasyEvent |
||||||
|
{ |
||||||
|
} |
||||||
|
|
||||||
|
public class EasyEvent : IEasyEvent |
||||||
|
{ |
||||||
|
private Action mOnEvent = () => { }; |
||||||
|
|
||||||
|
public IUnRegister Register(Action onEvent) |
||||||
|
{ |
||||||
|
mOnEvent += onEvent; |
||||||
|
return new CustomUnRegister(() => { UnRegister(onEvent); }); |
||||||
|
} |
||||||
|
|
||||||
|
public void UnRegister(Action onEvent) |
||||||
|
{ |
||||||
|
mOnEvent -= onEvent; |
||||||
|
} |
||||||
|
|
||||||
|
public void Trigger() |
||||||
|
{ |
||||||
|
mOnEvent?.Invoke(); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public class EasyEvent<T> : IEasyEvent |
||||||
|
{ |
||||||
|
private Action<T> mOnEvent = e => { }; |
||||||
|
|
||||||
|
public IUnRegister Register(Action<T> onEvent) |
||||||
|
{ |
||||||
|
mOnEvent += onEvent; |
||||||
|
return new CustomUnRegister(() => { UnRegister(onEvent); }); |
||||||
|
} |
||||||
|
|
||||||
|
public void UnRegister(Action<T> onEvent) |
||||||
|
{ |
||||||
|
mOnEvent -= onEvent; |
||||||
|
} |
||||||
|
|
||||||
|
public void Trigger(T t) |
||||||
|
{ |
||||||
|
mOnEvent?.Invoke(t); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public class EasyEvent<T, K> : IEasyEvent |
||||||
|
{ |
||||||
|
private Action<T, K> mOnEvent = (t, k) => { }; |
||||||
|
|
||||||
|
public IUnRegister Register(Action<T, K> onEvent) |
||||||
|
{ |
||||||
|
mOnEvent += onEvent; |
||||||
|
return new CustomUnRegister(() => { UnRegister(onEvent); }); |
||||||
|
} |
||||||
|
|
||||||
|
public void UnRegister(Action<T, K> onEvent) |
||||||
|
{ |
||||||
|
mOnEvent -= onEvent; |
||||||
|
} |
||||||
|
|
||||||
|
public void Trigger(T t, K k) |
||||||
|
{ |
||||||
|
mOnEvent?.Invoke(t, k); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public class EasyEvent<T, K, S> : IEasyEvent |
||||||
|
{ |
||||||
|
private Action<T, K, S> mOnEvent = (t, k, s) => { }; |
||||||
|
|
||||||
|
public IUnRegister Register(Action<T, K, S> onEvent) |
||||||
|
{ |
||||||
|
mOnEvent += onEvent; |
||||||
|
return new CustomUnRegister(() => { UnRegister(onEvent); }); |
||||||
|
} |
||||||
|
|
||||||
|
public void UnRegister(Action<T, K, S> onEvent) |
||||||
|
{ |
||||||
|
mOnEvent -= onEvent; |
||||||
|
} |
||||||
|
|
||||||
|
public void Trigger(T t, K k, S s) |
||||||
|
{ |
||||||
|
mOnEvent?.Invoke(t, k, s); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public class EasyEvents |
||||||
|
{ |
||||||
|
private static EasyEvents mGlobalEvents = new EasyEvents(); |
||||||
|
|
||||||
|
public static T Get<T>() where T : IEasyEvent |
||||||
|
{ |
||||||
|
return mGlobalEvents.GetEvent<T>(); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
public static void Register<T>() where T : IEasyEvent, new() |
||||||
|
{ |
||||||
|
mGlobalEvents.AddEvent<T>(); |
||||||
|
} |
||||||
|
|
||||||
|
private Dictionary<Type, IEasyEvent> mTypeEvents = new Dictionary<Type, IEasyEvent>(); |
||||||
|
|
||||||
|
public void AddEvent<T>() where T : IEasyEvent, new() |
||||||
|
{ |
||||||
|
mTypeEvents.Add(typeof(T), new T()); |
||||||
|
} |
||||||
|
|
||||||
|
public T GetEvent<T>() where T : IEasyEvent |
||||||
|
{ |
||||||
|
IEasyEvent e; |
||||||
|
|
||||||
|
if (mTypeEvents.TryGetValue(typeof(T), out e)) |
||||||
|
{ |
||||||
|
return (T)e; |
||||||
|
} |
||||||
|
|
||||||
|
return default; |
||||||
|
} |
||||||
|
|
||||||
|
public T GetOrAddEvent<T>() where T : IEasyEvent, new() |
||||||
|
{ |
||||||
|
var eType = typeof(T); |
||||||
|
if (mTypeEvents.TryGetValue(eType, out var e)) |
||||||
|
{ |
||||||
|
return (T)e; |
||||||
|
} |
||||||
|
|
||||||
|
var t = new T(); |
||||||
|
mTypeEvents.Add(eType, t); |
||||||
|
return t; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
#endregion |
||||||
|
|
||||||
|
#if UNITY_EDITOR |
||||||
|
internal class EditorMenus |
||||||
|
{ |
||||||
|
[UnityEditor.MenuItem("QFramework/Install QFrameworkWithToolKits")] |
||||||
|
public static void InstallPackageKit() |
||||||
|
{ |
||||||
|
Application.OpenURL("https://qframework.cn/qf"); |
||||||
|
} |
||||||
|
} |
||||||
|
#endif |
||||||
|
} |
@ -0,0 +1,11 @@ |
|||||||
|
fileFormatVersion: 2 |
||||||
|
guid: 109e532e5f905684597f56d42cd0bbce |
||||||
|
MonoImporter: |
||||||
|
externalObjects: {} |
||||||
|
serializedVersion: 2 |
||||||
|
defaultReferences: [] |
||||||
|
executionOrder: 0 |
||||||
|
icon: {instanceID: 0} |
||||||
|
userData: |
||||||
|
assetBundleName: |
||||||
|
assetBundleVariant: |
@ -0,0 +1,283 @@ |
|||||||
|
using System.Collections; |
||||||
|
using System.Collections.Generic; |
||||||
|
using UnityEngine; |
||||||
|
using UnityEngine.Events; |
||||||
|
using QFramework; |
||||||
|
using System; |
||||||
|
|
||||||
|
namespace TCPClientTools |
||||||
|
{ |
||||||
|
public class TCPMangerArchitecture : Architecture<TCPMangerArchitecture> |
||||||
|
{ |
||||||
|
protected override void Init() |
||||||
|
{ |
||||||
|
this.RegisterUtility(new TCPUtility()); |
||||||
|
this.RegisterModel(new TCPEventModel()); |
||||||
|
} |
||||||
|
} |
||||||
|
//统筹管理TCP的命令池以及相关链接信息 |
||||||
|
public class TCPEventModel : AbstractModel, ICanSendCommand,ICanRegisterEvent |
||||||
|
{ |
||||||
|
public IOCContainer mCommandContainer = new IOCContainer(); |
||||||
|
public UnityStringEvent onTCPRecived = new UnityStringEvent(); |
||||||
|
private TCPLinkState tcpState = TCPLinkState.NoIp; |
||||||
|
private string tcpAddress = ""; |
||||||
|
private int tcpPort = 0; |
||||||
|
public string myAddress = ""; |
||||||
|
|
||||||
|
protected override void OnInit() |
||||||
|
{ |
||||||
|
myAddress = this.GetUtility<TCPUtility>().GetIP(); |
||||||
|
this.RegisterEvent<onLinkException>(e=> { |
||||||
|
setTCPState(TCPLinkState.LinkTimeOut); |
||||||
|
this.GetUtility<TCPUtility>().CloseTCPClient(); |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
public void sendResponseCommand<T>(string json) where T : ITCPResponse,new() { |
||||||
|
if (mCommandContainer.Get<ExcuteResponseCommand<T>>()==null) { |
||||||
|
mCommandContainer.Register(new ExcuteResponseCommand<T>(new T())); |
||||||
|
} |
||||||
|
mCommandContainer.Get<ExcuteResponseCommand<T>>().setJson(json); |
||||||
|
this.SendCommand(mCommandContainer.Get<ExcuteResponseCommand<T>>()); |
||||||
|
} |
||||||
|
/// <summary> |
||||||
|
/// 开启接收指定数据 |
||||||
|
/// </summary> |
||||||
|
/// <typeparam name="T">数据格式类型</typeparam> |
||||||
|
public void onReceive<T>() where T : ITCPResponse, new() |
||||||
|
{ |
||||||
|
onTCPRecived.AddListener(sendResponseCommand<T>); |
||||||
|
} |
||||||
|
/// <summary> |
||||||
|
/// 关闭接收指定数据 |
||||||
|
/// </summary> |
||||||
|
/// <typeparam name="T">数据格式类型</typeparam> |
||||||
|
public void offReceive<T>() where T : ITCPResponse, new() |
||||||
|
{ |
||||||
|
onTCPRecived.RemoveListener(sendResponseCommand<T>); |
||||||
|
} |
||||||
|
|
||||||
|
/// <summary> |
||||||
|
/// 发送数据 |
||||||
|
/// </summary> |
||||||
|
/// <typeparam name="T">数据类型</typeparam> |
||||||
|
/// <param name="request">请求数据</param> |
||||||
|
public void sendRequestCommand<T>(T request)where T : ITCPRequest |
||||||
|
{ |
||||||
|
if (mCommandContainer.Get<SendRequestCommand<T>>() == null) { |
||||||
|
mCommandContainer.Register(new SendRequestCommand<T>(request)); |
||||||
|
} |
||||||
|
mCommandContainer.Get<SendRequestCommand<T>>().setRequest(request); |
||||||
|
this.SendCommand(mCommandContainer.Get<SendRequestCommand<T>>()); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
public void setTCPState(TCPLinkState state) { |
||||||
|
this.tcpState = state; |
||||||
|
this.SendEvent(new TCPStateChangedEvent(state)); |
||||||
|
} |
||||||
|
public TCPLinkState getState() { |
||||||
|
return this.tcpState; |
||||||
|
} |
||||||
|
|
||||||
|
/// <summary> |
||||||
|
/// 设置对应IP,设置完毕后,自动进入链接状态(此时需要用户手动监听是否要进行链接服务器) |
||||||
|
/// </summary> |
||||||
|
/// <param name="ip">ip地址</param> |
||||||
|
/// <param name="port">端口号</param> |
||||||
|
public void setIP(string ip,int port) { |
||||||
|
this.tcpAddress = ip; |
||||||
|
this.tcpPort = port; |
||||||
|
//此处可以加ip校验 |
||||||
|
Debug.LogWarning("此处未进行ip以及端口号校验,日后有需求可以增加"); |
||||||
|
setTCPState(TCPLinkState.Linking); |
||||||
|
} |
||||||
|
|
||||||
|
/// <summary> |
||||||
|
/// 与服务端建立链接 |
||||||
|
/// </summary> |
||||||
|
public void linkServer() { |
||||||
|
if (tcpState == TCPLinkState.Linking) |
||||||
|
{ |
||||||
|
if (!this.GetUtility<TCPUtility>().isOpenTCP) { |
||||||
|
|
||||||
|
bool isSuccess = this.GetUtility<TCPUtility>().StartTCPClient(tcpAddress, tcpPort); |
||||||
|
if (isSuccess) { |
||||||
|
setTCPState(TCPLinkState.LinkSucess); |
||||||
|
} |
||||||
|
else |
||||||
|
{ |
||||||
|
setTCPState(TCPLinkState.LinkFaild); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/// <summary> |
||||||
|
/// 与服务端断开链接 |
||||||
|
/// </summary> |
||||||
|
public void closeServer() |
||||||
|
{ |
||||||
|
if (tcpState == TCPLinkState.LinkSucess) |
||||||
|
{ |
||||||
|
if (this.GetUtility<TCPUtility>().isOpenTCP) |
||||||
|
{ |
||||||
|
|
||||||
|
this.GetUtility<TCPUtility>().CloseTCPClient(); |
||||||
|
setTCPState(TCPLinkState.NoIp); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
#region Command |
||||||
|
/// <summary> |
||||||
|
/// 处理响应数据,添加对应的Command进行处理,需要提前生成命令池 |
||||||
|
/// </summary> |
||||||
|
/// <typeparam name="TResponse">响应数据格式</typeparam> |
||||||
|
public class ExcuteResponseCommand<TResponse> : AbstractCommand where TResponse : ITCPResponse |
||||||
|
{ |
||||||
|
public string json; |
||||||
|
private TResponse response; |
||||||
|
public ExcuteResponseCommand(TResponse response) |
||||||
|
{ |
||||||
|
if (this.response == null) |
||||||
|
{ |
||||||
|
this.response = response; |
||||||
|
} |
||||||
|
} |
||||||
|
protected override void OnExecute() |
||||||
|
{ |
||||||
|
bool isSet = response.trySetData(json); |
||||||
|
if (isSet) |
||||||
|
{ |
||||||
|
Debug.Log("Received:" + response.toJson() + response.GetType()); |
||||||
|
this.SendEvent(new ResponseMsgEvent(response)); |
||||||
|
} |
||||||
|
} |
||||||
|
public void setJson(string json) |
||||||
|
{ |
||||||
|
this.json = json; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public class SendRequestCommand<TRequest> : AbstractCommand where TRequest : ITCPRequest |
||||||
|
{ |
||||||
|
public TRequest request; |
||||||
|
public SendRequestCommand(TRequest request) |
||||||
|
{ |
||||||
|
this.request = request; |
||||||
|
} |
||||||
|
protected override void OnExecute() |
||||||
|
{ |
||||||
|
if (this.GetUtility<TCPUtility>().isOpenTCP) |
||||||
|
{ |
||||||
|
this.GetUtility<TCPUtility>().sendData(request.toJson()); |
||||||
|
} |
||||||
|
else |
||||||
|
{ |
||||||
|
Debug.LogWarning("请先开启TCP链接"); |
||||||
|
} |
||||||
|
//throw new NotImplementedException(); |
||||||
|
} |
||||||
|
public void setRequest(TRequest request) |
||||||
|
{ |
||||||
|
this.request = request; |
||||||
|
} |
||||||
|
} |
||||||
|
#endregion |
||||||
|
|
||||||
|
#region interface |
||||||
|
public interface ITCPResponse |
||||||
|
{ |
||||||
|
string toJson(); |
||||||
|
/// <summary> |
||||||
|
/// 尝试填充数据,如果json不合法,则返回false,忽略该条数据响应 |
||||||
|
/// </summary> |
||||||
|
/// <param name="json"></param> |
||||||
|
/// <returns></returns> |
||||||
|
bool trySetData(string json); |
||||||
|
string getException(); |
||||||
|
} |
||||||
|
|
||||||
|
public interface ITCPRequest |
||||||
|
{ |
||||||
|
string toJson(); |
||||||
|
} |
||||||
|
#endregion |
||||||
|
|
||||||
|
#region AbstractClass |
||||||
|
/// <summary> |
||||||
|
/// 使用抽象类时,必须满足可序列化 |
||||||
|
/// </summary> |
||||||
|
[Serializable] |
||||||
|
public abstract class AbstractTCPResponse:ITCPResponse |
||||||
|
{ |
||||||
|
private string exceptionMsg; |
||||||
|
public virtual string toJson() |
||||||
|
{ |
||||||
|
return JsonUtility.ToJson(this,true); |
||||||
|
} |
||||||
|
public virtual bool trySetData(string json) |
||||||
|
{ |
||||||
|
try { |
||||||
|
JsonUtility.FromJsonOverwrite(json, this); |
||||||
|
return true; |
||||||
|
} |
||||||
|
catch (Exception e) { |
||||||
|
exceptionMsg = e.ToString(); |
||||||
|
return false; |
||||||
|
} |
||||||
|
} |
||||||
|
public string getException() |
||||||
|
{ |
||||||
|
return exceptionMsg; |
||||||
|
} |
||||||
|
} |
||||||
|
#endregion |
||||||
|
|
||||||
|
#region enum |
||||||
|
public enum TCPLinkState |
||||||
|
{ |
||||||
|
NoIp = 0, |
||||||
|
Linking = 1, |
||||||
|
LinkFaild = 2, |
||||||
|
LinkSucess = 3, |
||||||
|
LinkTimeOut = 4 |
||||||
|
} |
||||||
|
#endregion |
||||||
|
|
||||||
|
#region event |
||||||
|
public struct ResponseMsgEvent |
||||||
|
{ |
||||||
|
public ITCPResponse res; |
||||||
|
public ResponseMsgEvent(ITCPResponse res_) |
||||||
|
{ |
||||||
|
res = res_; |
||||||
|
} |
||||||
|
}; |
||||||
|
public struct TCPStateChangedEvent |
||||||
|
{ |
||||||
|
public TCPLinkState state; |
||||||
|
public TCPStateChangedEvent(TCPLinkState state_) |
||||||
|
{ |
||||||
|
state = state_; |
||||||
|
} |
||||||
|
} |
||||||
|
public struct onLinkException |
||||||
|
{ |
||||||
|
public string exceptionMsg; |
||||||
|
public onLinkException(string exceptionMsg_) |
||||||
|
{ |
||||||
|
exceptionMsg = exceptionMsg_; |
||||||
|
} |
||||||
|
} |
||||||
|
#endregion |
||||||
|
|
||||||
|
[Serializable] |
||||||
|
public class UnityStringEvent : UnityEvent<string> |
||||||
|
{ |
||||||
|
|
||||||
|
} |
||||||
|
} |
@ -0,0 +1,11 @@ |
|||||||
|
fileFormatVersion: 2 |
||||||
|
guid: 40ef868d20098d142a78efd2b047932b |
||||||
|
MonoImporter: |
||||||
|
externalObjects: {} |
||||||
|
serializedVersion: 2 |
||||||
|
defaultReferences: [] |
||||||
|
executionOrder: 0 |
||||||
|
icon: {instanceID: 0} |
||||||
|
userData: |
||||||
|
assetBundleName: |
||||||
|
assetBundleVariant: |
@ -0,0 +1,183 @@ |
|||||||
|
using QFramework; |
||||||
|
using UnityEngine; |
||||||
|
using System; |
||||||
|
using System.Text; |
||||||
|
using System.Net.Sockets; |
||||||
|
using System.IO; |
||||||
|
using System.Threading.Tasks; |
||||||
|
using System.Threading; |
||||||
|
using System.Net.NetworkInformation; |
||||||
|
|
||||||
|
namespace TCPClientTools |
||||||
|
{ |
||||||
|
public class TCPUtility : IUtility |
||||||
|
{ |
||||||
|
public string tcpAddress; |
||||||
|
public int tcpPort; |
||||||
|
public TcpClient tcpClient; |
||||||
|
public NetworkStream sendStream; |
||||||
|
public BindableProperty<bool> isOpenTCP = new BindableProperty<bool>(false); |
||||||
|
public bool isReceivedValue = false; |
||||||
|
public BindableProperty<string> receivedData = new BindableProperty<string>(""); |
||||||
|
public BindableProperty<string> exceptionData = new BindableProperty<string>(""); |
||||||
|
|
||||||
|
public Thread reciveT; |
||||||
|
public BindableProperty<bool> isTimeOut = new BindableProperty<bool>(false); |
||||||
|
|
||||||
|
public TCPUtility() { |
||||||
|
Debug.LogWarning("使用无参数构造tcp时,需要手动开启tcp服务"); |
||||||
|
|
||||||
|
} |
||||||
|
public TCPUtility(string tcpAddress, int tcpPort) |
||||||
|
{ |
||||||
|
this.tcpAddress = tcpAddress; |
||||||
|
this.tcpPort = tcpPort; |
||||||
|
this.isTimeOut.Value = false; |
||||||
|
StartTCPClient(); |
||||||
|
} |
||||||
|
public bool StartTCPClient() |
||||||
|
{ |
||||||
|
isTimeOut.Value = false; |
||||||
|
if (!isOpenTCP) |
||||||
|
{ |
||||||
|
try { |
||||||
|
tcpClient = new TcpClient(tcpAddress, tcpPort); |
||||||
|
sendStream = tcpClient.GetStream(); |
||||||
|
} |
||||||
|
catch (Exception e) |
||||||
|
{ |
||||||
|
exceptionData.Value = e.ToString(); |
||||||
|
return false; |
||||||
|
} |
||||||
|
isOpenTCP.Value = true; |
||||||
|
reciveT = new Thread(RecciveMsg); |
||||||
|
reciveT.IsBackground = true; |
||||||
|
reciveT.Start(); |
||||||
|
return true; |
||||||
|
} |
||||||
|
return false; |
||||||
|
} |
||||||
|
public bool StartTCPClient(string ip, int port) { |
||||||
|
isTimeOut.Value = false; |
||||||
|
if (!isOpenTCP) { |
||||||
|
tcpAddress = ip; |
||||||
|
tcpPort = port; |
||||||
|
try |
||||||
|
{ |
||||||
|
tcpClient = new TcpClient(tcpAddress, tcpPort); |
||||||
|
sendStream = tcpClient.GetStream(); |
||||||
|
} |
||||||
|
catch (Exception e) |
||||||
|
{ |
||||||
|
exceptionData.Value = e.ToString(); |
||||||
|
return false; |
||||||
|
} |
||||||
|
isOpenTCP.Value = true; |
||||||
|
reciveT = new Thread(RecciveMsg); |
||||||
|
reciveT.IsBackground = true; |
||||||
|
reciveT.Start(); |
||||||
|
return true; |
||||||
|
} |
||||||
|
return false; |
||||||
|
} |
||||||
|
|
||||||
|
public void CloseTCPClient() { |
||||||
|
if (tcpClient.Connected) { |
||||||
|
sendStream.Close(); |
||||||
|
tcpClient.Close(); |
||||||
|
isOpenTCP.Value = false; |
||||||
|
reciveT.Abort(); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public void sendData(string data) |
||||||
|
{ |
||||||
|
if (isOpenTCP == false) |
||||||
|
return; |
||||||
|
byte[] sendBytes = Encoding.Default.GetBytes(data); |
||||||
|
sendStream.Write(sendBytes, 0, sendBytes.Length); |
||||||
|
} |
||||||
|
|
||||||
|
public void RecciveMsg() |
||||||
|
{ |
||||||
|
byte[] receiveBuff = new byte[1024]; |
||||||
|
int reviceLength = 0; |
||||||
|
string msg = ""; |
||||||
|
while (isOpenTCP.Value) |
||||||
|
{ |
||||||
|
try |
||||||
|
{ |
||||||
|
reviceLength = tcpClient.Client.Receive(receiveBuff); |
||||||
|
msg = Encoding.UTF8.GetString(receiveBuff, 0, reviceLength); |
||||||
|
if (msg != "") |
||||||
|
{ |
||||||
|
receivedData.Value = msg; |
||||||
|
isReceivedValue = true; |
||||||
|
} |
||||||
|
} |
||||||
|
catch (Exception e) |
||||||
|
{ |
||||||
|
Debug.LogWarning(e); |
||||||
|
//断线发送异常 |
||||||
|
isTimeOut.Value = true; |
||||||
|
exceptionData.Value = e.ToString(); |
||||||
|
break; |
||||||
|
} |
||||||
|
} |
||||||
|
Debug.Log("------------end While-------------"); |
||||||
|
} |
||||||
|
|
||||||
|
/// <summary> |
||||||
|
/// 线程接收到消息后 |
||||||
|
/// </summary> |
||||||
|
/// <returns>接收到的消息</returns> |
||||||
|
public string getReceivedValue() { |
||||||
|
if (isReceivedValue) |
||||||
|
{ |
||||||
|
isReceivedValue = false; |
||||||
|
return receivedData.Value; |
||||||
|
} |
||||||
|
else { |
||||||
|
return ""; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public bool getTimeOutState() { |
||||||
|
return isTimeOut; |
||||||
|
} |
||||||
|
|
||||||
|
public bool IsReceivedMsg() { |
||||||
|
return sendStream.Length != 0; |
||||||
|
} |
||||||
|
public bool IsConnected() { |
||||||
|
return tcpClient.Connected; |
||||||
|
} |
||||||
|
|
||||||
|
/// <summary> |
||||||
|
/// 获取本机IP |
||||||
|
/// </summary> |
||||||
|
/// <returns>string :ip地址</returns> |
||||||
|
public string GetIP() |
||||||
|
{ |
||||||
|
string output = ""; |
||||||
|
|
||||||
|
foreach (NetworkInterface item in NetworkInterface.GetAllNetworkInterfaces()) |
||||||
|
{ |
||||||
|
NetworkInterfaceType _type1 = NetworkInterfaceType.Wireless80211; //无线局域网适配器 |
||||||
|
|
||||||
|
if ((item.NetworkInterfaceType == _type1) && item.OperationalStatus == OperationalStatus.Up) |
||||||
|
{ |
||||||
|
foreach (UnicastIPAddressInformation ip in item.GetIPProperties().UnicastAddresses) |
||||||
|
{ |
||||||
|
if (ip.Address.AddressFamily == AddressFamily.InterNetwork) |
||||||
|
{ |
||||||
|
output = ip.Address.ToString(); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
return output; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,11 @@ |
|||||||
|
fileFormatVersion: 2 |
||||||
|
guid: 58c08e7452ec0014ab1aedcf80bddd95 |
||||||
|
MonoImporter: |
||||||
|
externalObjects: {} |
||||||
|
serializedVersion: 2 |
||||||
|
defaultReferences: [] |
||||||
|
executionOrder: 0 |
||||||
|
icon: {instanceID: 0} |
||||||
|
userData: |
||||||
|
assetBundleName: |
||||||
|
assetBundleVariant: |
@ -0,0 +1,8 @@ |
|||||||
|
fileFormatVersion: 2 |
||||||
|
guid: 4db42e767b922954fb59805878b4fc61 |
||||||
|
folderAsset: yes |
||||||
|
DefaultImporter: |
||||||
|
externalObjects: {} |
||||||
|
userData: |
||||||
|
assetBundleName: |
||||||
|
assetBundleVariant: |
@ -0,0 +1,104 @@ |
|||||||
|
using System.Collections; |
||||||
|
using System.Collections.Generic; |
||||||
|
using UnityEngine; |
||||||
|
using UnityEngine.Events; |
||||||
|
using QFramework; |
||||||
|
using TCPClientTools; |
||||||
|
using System; |
||||||
|
|
||||||
|
public class TCPClientView : MonoBehaviour,IController,ICanSendEvent |
||||||
|
{ |
||||||
|
public UnityEvent onRecievedOpenDevice; |
||||||
|
public UnityEvent onTCPLinkSuccess; |
||||||
|
public UnityEvent onTCPLinkFaild; |
||||||
|
public UnityEvent onServerConnected; |
||||||
|
public UnityEvent onTCPReLink; |
||||||
|
|
||||||
|
private string tcpAddress; |
||||||
|
private int tcpPort; |
||||||
|
private int deviceId; |
||||||
|
// Start is called before the first frame update |
||||||
|
void Awake() |
||||||
|
{ |
||||||
|
initTCPService(); |
||||||
|
DontDestroyOnLoad(this); |
||||||
|
} |
||||||
|
|
||||||
|
public void initTCPService() { |
||||||
|
tcpAddress = "127.0.0.1"; |
||||||
|
tcpPort = 9999; |
||||||
|
deviceId = 1; |
||||||
|
|
||||||
|
GetArchitecture().RegisterEvent<TCPStateChangedEvent>(e => { |
||||||
|
if (e.state == TCPLinkState.Linking) |
||||||
|
{ |
||||||
|
Debug.Log("TCP开始链接"); |
||||||
|
this.GetModel<TCPEventModel>().linkServer(); |
||||||
|
} |
||||||
|
if (e.state == TCPLinkState.LinkSucess) |
||||||
|
{ |
||||||
|
Debug.Log("TCP链接成功"); |
||||||
|
this.GetModel<TCPEventModel>().onReceive<LinkSuccessResponse>(); |
||||||
|
this.GetModel<TCPEventModel>().sendRequestCommand(new LinkTCPRequest(deviceId)); |
||||||
|
onTCPLinkSuccess.Invoke(); |
||||||
|
} |
||||||
|
if (e.state == TCPLinkState.LinkFaild) |
||||||
|
{ |
||||||
|
Debug.Log("TCP连接失败,请联系设备服务管理员"); |
||||||
|
onTCPLinkFaild.Invoke(); |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
GetArchitecture().RegisterEvent<ResponseMsgEvent>(e => |
||||||
|
{ |
||||||
|
if (e.res.GetType() == typeof(LinkSuccessResponse)) |
||||||
|
{ |
||||||
|
Debug.Log("Link Server success"); |
||||||
|
this.GetModel<TCPEventModel>().offReceive<LinkSuccessResponse>(); |
||||||
|
onServerConnected.Invoke(); |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
this.GetModel<TCPEventModel>().setTCPState(TCPLinkState.NoIp); |
||||||
|
this.GetModel<TCPEventModel>().setIP(tcpAddress, tcpPort); |
||||||
|
} |
||||||
|
|
||||||
|
public void restartTCPService() { |
||||||
|
onTCPReLink.Invoke(); |
||||||
|
this.GetModel<TCPEventModel>().closeServer(); |
||||||
|
StartCoroutine(waitTwoSecond()); |
||||||
|
} |
||||||
|
public IEnumerator waitTwoSecond() { |
||||||
|
yield return new WaitForSeconds(2.0f); |
||||||
|
this.GetModel<TCPEventModel>().setTCPState(TCPLinkState.Linking); |
||||||
|
} |
||||||
|
public IArchitecture GetArchitecture() |
||||||
|
{ |
||||||
|
return TCPMangerArchitecture.Interface; |
||||||
|
} |
||||||
|
} |
||||||
|
public class LinkSuccessResponse : AbstractTCPResponse |
||||||
|
{ |
||||||
|
public string code; |
||||||
|
public string data; |
||||||
|
public string msg; |
||||||
|
public LinkSuccessResponse() { |
||||||
|
this.code = ""; |
||||||
|
this.data = ""; |
||||||
|
this.msg = ""; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public class LinkTCPRequest :ITCPRequest{ |
||||||
|
public string id; |
||||||
|
public int type; |
||||||
|
public LinkTCPRequest(int id) { |
||||||
|
this.id = id.ToString(); |
||||||
|
this.type = 1; |
||||||
|
} |
||||||
|
public string toJson() |
||||||
|
{ |
||||||
|
return JsonUtility.ToJson(this); |
||||||
|
} |
||||||
|
} |
||||||
|
|
@ -0,0 +1,11 @@ |
|||||||
|
fileFormatVersion: 2 |
||||||
|
guid: 558c5409545c2634d92e208d8852c9ea |
||||||
|
MonoImporter: |
||||||
|
externalObjects: {} |
||||||
|
serializedVersion: 2 |
||||||
|
defaultReferences: [] |
||||||
|
executionOrder: 0 |
||||||
|
icon: {instanceID: 0} |
||||||
|
userData: |
||||||
|
assetBundleName: |
||||||
|
assetBundleVariant: |
@ -0,0 +1,48 @@ |
|||||||
|
using System.Collections; |
||||||
|
using System.Collections.Generic; |
||||||
|
using UnityEngine; |
||||||
|
using UnityEngine.Events; |
||||||
|
using UnityEngine.UI; |
||||||
|
using QFramework; |
||||||
|
using System.Threading; |
||||||
|
|
||||||
|
namespace TCPClientTools |
||||||
|
{ |
||||||
|
public class TCPPrinter : MonoBehaviour,IController,ICanSendEvent |
||||||
|
{ |
||||||
|
private TCPUtility tcpUtil; |
||||||
|
public Transform tcpMsgContent; |
||||||
|
public GameObject tcpMsgItem; |
||||||
|
|
||||||
|
void Awake() |
||||||
|
{ |
||||||
|
tcpUtil = GetArchitecture().GetUtility<TCPUtility>(); |
||||||
|
} |
||||||
|
|
||||||
|
// Update is called once per frame |
||||||
|
void Update() |
||||||
|
{ |
||||||
|
//Debug.Log(tcpUtil.Read_TCPClient()); |
||||||
|
if (tcpUtil != null && !"".Equals(tcpUtil.getReceivedValue())) { |
||||||
|
GameObject item = Instantiate(tcpMsgItem, tcpMsgContent); |
||||||
|
item.GetComponentInChildren<Text>().text = tcpUtil.receivedData.Value; |
||||||
|
this.GetModel<TCPEventModel>().onTCPRecived.Invoke(tcpUtil.receivedData.Value); |
||||||
|
} |
||||||
|
if (tcpUtil.getTimeOutState() && tcpUtil.isOpenTCP) { |
||||||
|
this.SendEvent(new onLinkException(tcpUtil.exceptionData.Value)); |
||||||
|
tcpUtil.isOpenTCP.Value = false; |
||||||
|
} |
||||||
|
} |
||||||
|
private void OnDestroy() |
||||||
|
{ |
||||||
|
if (tcpUtil.reciveT != null && tcpUtil.reciveT.ThreadState == ThreadState.Running) { |
||||||
|
tcpUtil.reciveT.Abort(); |
||||||
|
} |
||||||
|
} |
||||||
|
public IArchitecture GetArchitecture() |
||||||
|
{ |
||||||
|
return TCPMangerArchitecture.Interface; |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
} |
@ -0,0 +1,11 @@ |
|||||||
|
fileFormatVersion: 2 |
||||||
|
guid: d9e452279efa30b4d9c01036c54a6c75 |
||||||
|
MonoImporter: |
||||||
|
externalObjects: {} |
||||||
|
serializedVersion: 2 |
||||||
|
defaultReferences: [] |
||||||
|
executionOrder: 0 |
||||||
|
icon: {instanceID: 0} |
||||||
|
userData: |
||||||
|
assetBundleName: |
||||||
|
assetBundleVariant: |
@ -0,0 +1,43 @@ |
|||||||
|
{ |
||||||
|
"dependencies": { |
||||||
|
"com.unity.collab-proxy": "1.12.5", |
||||||
|
"com.unity.ide.rider": "1.2.1", |
||||||
|
"com.unity.ide.visualstudio": "2.0.11", |
||||||
|
"com.unity.ide.vscode": "1.2.4", |
||||||
|
"com.unity.test-framework": "1.1.29", |
||||||
|
"com.unity.textmeshpro": "2.1.6", |
||||||
|
"com.unity.timeline": "1.2.18", |
||||||
|
"com.unity.ugui": "1.0.0", |
||||||
|
"com.unity.modules.ai": "1.0.0", |
||||||
|
"com.unity.modules.androidjni": "1.0.0", |
||||||
|
"com.unity.modules.animation": "1.0.0", |
||||||
|
"com.unity.modules.assetbundle": "1.0.0", |
||||||
|
"com.unity.modules.audio": "1.0.0", |
||||||
|
"com.unity.modules.cloth": "1.0.0", |
||||||
|
"com.unity.modules.director": "1.0.0", |
||||||
|
"com.unity.modules.imageconversion": "1.0.0", |
||||||
|
"com.unity.modules.imgui": "1.0.0", |
||||||
|
"com.unity.modules.jsonserialize": "1.0.0", |
||||||
|
"com.unity.modules.particlesystem": "1.0.0", |
||||||
|
"com.unity.modules.physics": "1.0.0", |
||||||
|
"com.unity.modules.physics2d": "1.0.0", |
||||||
|
"com.unity.modules.screencapture": "1.0.0", |
||||||
|
"com.unity.modules.terrain": "1.0.0", |
||||||
|
"com.unity.modules.terrainphysics": "1.0.0", |
||||||
|
"com.unity.modules.tilemap": "1.0.0", |
||||||
|
"com.unity.modules.ui": "1.0.0", |
||||||
|
"com.unity.modules.uielements": "1.0.0", |
||||||
|
"com.unity.modules.umbra": "1.0.0", |
||||||
|
"com.unity.modules.unityanalytics": "1.0.0", |
||||||
|
"com.unity.modules.unitywebrequest": "1.0.0", |
||||||
|
"com.unity.modules.unitywebrequestassetbundle": "1.0.0", |
||||||
|
"com.unity.modules.unitywebrequestaudio": "1.0.0", |
||||||
|
"com.unity.modules.unitywebrequesttexture": "1.0.0", |
||||||
|
"com.unity.modules.unitywebrequestwww": "1.0.0", |
||||||
|
"com.unity.modules.vehicles": "1.0.0", |
||||||
|
"com.unity.modules.video": "1.0.0", |
||||||
|
"com.unity.modules.vr": "1.0.0", |
||||||
|
"com.unity.modules.wind": "1.0.0", |
||||||
|
"com.unity.modules.xr": "1.0.0" |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,326 @@ |
|||||||
|
{ |
||||||
|
"dependencies": { |
||||||
|
"com.unity.collab-proxy": { |
||||||
|
"version": "1.12.5", |
||||||
|
"depth": 0, |
||||||
|
"source": "registry", |
||||||
|
"dependencies": {}, |
||||||
|
"url": "https://packages.unity.com" |
||||||
|
}, |
||||||
|
"com.unity.ext.nunit": { |
||||||
|
"version": "1.0.6", |
||||||
|
"depth": 1, |
||||||
|
"source": "registry", |
||||||
|
"dependencies": {}, |
||||||
|
"url": "https://packages.unity.com" |
||||||
|
}, |
||||||
|
"com.unity.ide.rider": { |
||||||
|
"version": "1.2.1", |
||||||
|
"depth": 0, |
||||||
|
"source": "registry", |
||||||
|
"dependencies": { |
||||||
|
"com.unity.test-framework": "1.1.1" |
||||||
|
}, |
||||||
|
"url": "https://packages.unity.com" |
||||||
|
}, |
||||||
|
"com.unity.ide.visualstudio": { |
||||||
|
"version": "2.0.11", |
||||||
|
"depth": 0, |
||||||
|
"source": "registry", |
||||||
|
"dependencies": { |
||||||
|
"com.unity.test-framework": "1.1.9" |
||||||
|
}, |
||||||
|
"url": "https://packages.unity.com" |
||||||
|
}, |
||||||
|
"com.unity.ide.vscode": { |
||||||
|
"version": "1.2.4", |
||||||
|
"depth": 0, |
||||||
|
"source": "registry", |
||||||
|
"dependencies": {}, |
||||||
|
"url": "https://packages.unity.com" |
||||||
|
}, |
||||||
|
"com.unity.test-framework": { |
||||||
|
"version": "1.1.29", |
||||||
|
"depth": 0, |
||||||
|
"source": "registry", |
||||||
|
"dependencies": { |
||||||
|
"com.unity.ext.nunit": "1.0.6", |
||||||
|
"com.unity.modules.imgui": "1.0.0", |
||||||
|
"com.unity.modules.jsonserialize": "1.0.0" |
||||||
|
}, |
||||||
|
"url": "https://packages.unity.com" |
||||||
|
}, |
||||||
|
"com.unity.textmeshpro": { |
||||||
|
"version": "2.1.6", |
||||||
|
"depth": 0, |
||||||
|
"source": "registry", |
||||||
|
"dependencies": { |
||||||
|
"com.unity.ugui": "1.0.0" |
||||||
|
}, |
||||||
|
"url": "https://packages.unity.com" |
||||||
|
}, |
||||||
|
"com.unity.timeline": { |
||||||
|
"version": "1.2.18", |
||||||
|
"depth": 0, |
||||||
|
"source": "registry", |
||||||
|
"dependencies": { |
||||||
|
"com.unity.modules.director": "1.0.0", |
||||||
|
"com.unity.modules.animation": "1.0.0", |
||||||
|
"com.unity.modules.audio": "1.0.0", |
||||||
|
"com.unity.modules.particlesystem": "1.0.0" |
||||||
|
}, |
||||||
|
"url": "https://packages.unity.com" |
||||||
|
}, |
||||||
|
"com.unity.ugui": { |
||||||
|
"version": "1.0.0", |
||||||
|
"depth": 0, |
||||||
|
"source": "builtin", |
||||||
|
"dependencies": { |
||||||
|
"com.unity.modules.ui": "1.0.0", |
||||||
|
"com.unity.modules.imgui": "1.0.0" |
||||||
|
} |
||||||
|
}, |
||||||
|
"com.unity.modules.ai": { |
||||||
|
"version": "1.0.0", |
||||||
|
"depth": 0, |
||||||
|
"source": "builtin", |
||||||
|
"dependencies": {} |
||||||
|
}, |
||||||
|
"com.unity.modules.androidjni": { |
||||||
|
"version": "1.0.0", |
||||||
|
"depth": 0, |
||||||
|
"source": "builtin", |
||||||
|
"dependencies": {} |
||||||
|
}, |
||||||
|
"com.unity.modules.animation": { |
||||||
|
"version": "1.0.0", |
||||||
|
"depth": 0, |
||||||
|
"source": "builtin", |
||||||
|
"dependencies": {} |
||||||
|
}, |
||||||
|
"com.unity.modules.assetbundle": { |
||||||
|
"version": "1.0.0", |
||||||
|
"depth": 0, |
||||||
|
"source": "builtin", |
||||||
|
"dependencies": {} |
||||||
|
}, |
||||||
|
"com.unity.modules.audio": { |
||||||
|
"version": "1.0.0", |
||||||
|
"depth": 0, |
||||||
|
"source": "builtin", |
||||||
|
"dependencies": {} |
||||||
|
}, |
||||||
|
"com.unity.modules.cloth": { |
||||||
|
"version": "1.0.0", |
||||||
|
"depth": 0, |
||||||
|
"source": "builtin", |
||||||
|
"dependencies": { |
||||||
|
"com.unity.modules.physics": "1.0.0" |
||||||
|
} |
||||||
|
}, |
||||||
|
"com.unity.modules.director": { |
||||||
|
"version": "1.0.0", |
||||||
|
"depth": 0, |
||||||
|
"source": "builtin", |
||||||
|
"dependencies": { |
||||||
|
"com.unity.modules.audio": "1.0.0", |
||||||
|
"com.unity.modules.animation": "1.0.0" |
||||||
|
} |
||||||
|
}, |
||||||
|
"com.unity.modules.imageconversion": { |
||||||
|
"version": "1.0.0", |
||||||
|
"depth": 0, |
||||||
|
"source": "builtin", |
||||||
|
"dependencies": {} |
||||||
|
}, |
||||||
|
"com.unity.modules.imgui": { |
||||||
|
"version": "1.0.0", |
||||||
|
"depth": 0, |
||||||
|
"source": "builtin", |
||||||
|
"dependencies": {} |
||||||
|
}, |
||||||
|
"com.unity.modules.jsonserialize": { |
||||||
|
"version": "1.0.0", |
||||||
|
"depth": 0, |
||||||
|
"source": "builtin", |
||||||
|
"dependencies": {} |
||||||
|
}, |
||||||
|
"com.unity.modules.particlesystem": { |
||||||
|
"version": "1.0.0", |
||||||
|
"depth": 0, |
||||||
|
"source": "builtin", |
||||||
|
"dependencies": {} |
||||||
|
}, |
||||||
|
"com.unity.modules.physics": { |
||||||
|
"version": "1.0.0", |
||||||
|
"depth": 0, |
||||||
|
"source": "builtin", |
||||||
|
"dependencies": {} |
||||||
|
}, |
||||||
|
"com.unity.modules.physics2d": { |
||||||
|
"version": "1.0.0", |
||||||
|
"depth": 0, |
||||||
|
"source": "builtin", |
||||||
|
"dependencies": {} |
||||||
|
}, |
||||||
|
"com.unity.modules.screencapture": { |
||||||
|
"version": "1.0.0", |
||||||
|
"depth": 0, |
||||||
|
"source": "builtin", |
||||||
|
"dependencies": { |
||||||
|
"com.unity.modules.imageconversion": "1.0.0" |
||||||
|
} |
||||||
|
}, |
||||||
|
"com.unity.modules.subsystems": { |
||||||
|
"version": "1.0.0", |
||||||
|
"depth": 1, |
||||||
|
"source": "builtin", |
||||||
|
"dependencies": { |
||||||
|
"com.unity.modules.jsonserialize": "1.0.0" |
||||||
|
} |
||||||
|
}, |
||||||
|
"com.unity.modules.terrain": { |
||||||
|
"version": "1.0.0", |
||||||
|
"depth": 0, |
||||||
|
"source": "builtin", |
||||||
|
"dependencies": {} |
||||||
|
}, |
||||||
|
"com.unity.modules.terrainphysics": { |
||||||
|
"version": "1.0.0", |
||||||
|
"depth": 0, |
||||||
|
"source": "builtin", |
||||||
|
"dependencies": { |
||||||
|
"com.unity.modules.physics": "1.0.0", |
||||||
|
"com.unity.modules.terrain": "1.0.0" |
||||||
|
} |
||||||
|
}, |
||||||
|
"com.unity.modules.tilemap": { |
||||||
|
"version": "1.0.0", |
||||||
|
"depth": 0, |
||||||
|
"source": "builtin", |
||||||
|
"dependencies": { |
||||||
|
"com.unity.modules.physics2d": "1.0.0" |
||||||
|
} |
||||||
|
}, |
||||||
|
"com.unity.modules.ui": { |
||||||
|
"version": "1.0.0", |
||||||
|
"depth": 0, |
||||||
|
"source": "builtin", |
||||||
|
"dependencies": {} |
||||||
|
}, |
||||||
|
"com.unity.modules.uielements": { |
||||||
|
"version": "1.0.0", |
||||||
|
"depth": 0, |
||||||
|
"source": "builtin", |
||||||
|
"dependencies": { |
||||||
|
"com.unity.modules.imgui": "1.0.0", |
||||||
|
"com.unity.modules.jsonserialize": "1.0.0" |
||||||
|
} |
||||||
|
}, |
||||||
|
"com.unity.modules.umbra": { |
||||||
|
"version": "1.0.0", |
||||||
|
"depth": 0, |
||||||
|
"source": "builtin", |
||||||
|
"dependencies": {} |
||||||
|
}, |
||||||
|
"com.unity.modules.unityanalytics": { |
||||||
|
"version": "1.0.0", |
||||||
|
"depth": 0, |
||||||
|
"source": "builtin", |
||||||
|
"dependencies": { |
||||||
|
"com.unity.modules.unitywebrequest": "1.0.0", |
||||||
|
"com.unity.modules.jsonserialize": "1.0.0" |
||||||
|
} |
||||||
|
}, |
||||||
|
"com.unity.modules.unitywebrequest": { |
||||||
|
"version": "1.0.0", |
||||||
|
"depth": 0, |
||||||
|
"source": "builtin", |
||||||
|
"dependencies": {} |
||||||
|
}, |
||||||
|
"com.unity.modules.unitywebrequestassetbundle": { |
||||||
|
"version": "1.0.0", |
||||||
|
"depth": 0, |
||||||
|
"source": "builtin", |
||||||
|
"dependencies": { |
||||||
|
"com.unity.modules.assetbundle": "1.0.0", |
||||||
|
"com.unity.modules.unitywebrequest": "1.0.0" |
||||||
|
} |
||||||
|
}, |
||||||
|
"com.unity.modules.unitywebrequestaudio": { |
||||||
|
"version": "1.0.0", |
||||||
|
"depth": 0, |
||||||
|
"source": "builtin", |
||||||
|
"dependencies": { |
||||||
|
"com.unity.modules.unitywebrequest": "1.0.0", |
||||||
|
"com.unity.modules.audio": "1.0.0" |
||||||
|
} |
||||||
|
}, |
||||||
|
"com.unity.modules.unitywebrequesttexture": { |
||||||
|
"version": "1.0.0", |
||||||
|
"depth": 0, |
||||||
|
"source": "builtin", |
||||||
|
"dependencies": { |
||||||
|
"com.unity.modules.unitywebrequest": "1.0.0", |
||||||
|
"com.unity.modules.imageconversion": "1.0.0" |
||||||
|
} |
||||||
|
}, |
||||||
|
"com.unity.modules.unitywebrequestwww": { |
||||||
|
"version": "1.0.0", |
||||||
|
"depth": 0, |
||||||
|
"source": "builtin", |
||||||
|
"dependencies": { |
||||||
|
"com.unity.modules.unitywebrequest": "1.0.0", |
||||||
|
"com.unity.modules.unitywebrequestassetbundle": "1.0.0", |
||||||
|
"com.unity.modules.unitywebrequestaudio": "1.0.0", |
||||||
|
"com.unity.modules.audio": "1.0.0", |
||||||
|
"com.unity.modules.assetbundle": "1.0.0", |
||||||
|
"com.unity.modules.imageconversion": "1.0.0" |
||||||
|
} |
||||||
|
}, |
||||||
|
"com.unity.modules.vehicles": { |
||||||
|
"version": "1.0.0", |
||||||
|
"depth": 0, |
||||||
|
"source": "builtin", |
||||||
|
"dependencies": { |
||||||
|
"com.unity.modules.physics": "1.0.0" |
||||||
|
} |
||||||
|
}, |
||||||
|
"com.unity.modules.video": { |
||||||
|
"version": "1.0.0", |
||||||
|
"depth": 0, |
||||||
|
"source": "builtin", |
||||||
|
"dependencies": { |
||||||
|
"com.unity.modules.audio": "1.0.0", |
||||||
|
"com.unity.modules.ui": "1.0.0", |
||||||
|
"com.unity.modules.unitywebrequest": "1.0.0" |
||||||
|
} |
||||||
|
}, |
||||||
|
"com.unity.modules.vr": { |
||||||
|
"version": "1.0.0", |
||||||
|
"depth": 0, |
||||||
|
"source": "builtin", |
||||||
|
"dependencies": { |
||||||
|
"com.unity.modules.jsonserialize": "1.0.0", |
||||||
|
"com.unity.modules.physics": "1.0.0", |
||||||
|
"com.unity.modules.xr": "1.0.0" |
||||||
|
} |
||||||
|
}, |
||||||
|
"com.unity.modules.wind": { |
||||||
|
"version": "1.0.0", |
||||||
|
"depth": 0, |
||||||
|
"source": "builtin", |
||||||
|
"dependencies": {} |
||||||
|
}, |
||||||
|
"com.unity.modules.xr": { |
||||||
|
"version": "1.0.0", |
||||||
|
"depth": 0, |
||||||
|
"source": "builtin", |
||||||
|
"dependencies": { |
||||||
|
"com.unity.modules.physics": "1.0.0", |
||||||
|
"com.unity.modules.jsonserialize": "1.0.0", |
||||||
|
"com.unity.modules.subsystems": "1.0.0" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,19 @@ |
|||||||
|
%YAML 1.1 |
||||||
|
%TAG !u! tag:unity3d.com,2011: |
||||||
|
--- !u!11 &1 |
||||||
|
AudioManager: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
serializedVersion: 2 |
||||||
|
m_Volume: 1 |
||||||
|
Rolloff Scale: 1 |
||||||
|
Doppler Factor: 1 |
||||||
|
Default Speaker Mode: 2 |
||||||
|
m_SampleRate: 0 |
||||||
|
m_DSPBufferSize: 1024 |
||||||
|
m_VirtualVoiceCount: 512 |
||||||
|
m_RealVoiceCount: 32 |
||||||
|
m_SpatializerPlugin: |
||||||
|
m_AmbisonicDecoderPlugin: |
||||||
|
m_DisableAudio: 0 |
||||||
|
m_VirtualizeEffects: 1 |
||||||
|
m_RequestedDSPBufferSize: 1024 |
@ -0,0 +1,6 @@ |
|||||||
|
%YAML 1.1 |
||||||
|
%TAG !u! tag:unity3d.com,2011: |
||||||
|
--- !u!236 &1 |
||||||
|
ClusterInputManager: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
m_Inputs: [] |
@ -0,0 +1,34 @@ |
|||||||
|
%YAML 1.1 |
||||||
|
%TAG !u! tag:unity3d.com,2011: |
||||||
|
--- !u!55 &1 |
||||||
|
PhysicsManager: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
serializedVersion: 11 |
||||||
|
m_Gravity: {x: 0, y: -9.81, z: 0} |
||||||
|
m_DefaultMaterial: {fileID: 0} |
||||||
|
m_BounceThreshold: 2 |
||||||
|
m_SleepThreshold: 0.005 |
||||||
|
m_DefaultContactOffset: 0.01 |
||||||
|
m_DefaultSolverIterations: 6 |
||||||
|
m_DefaultSolverVelocityIterations: 1 |
||||||
|
m_QueriesHitBackfaces: 0 |
||||||
|
m_QueriesHitTriggers: 1 |
||||||
|
m_EnableAdaptiveForce: 0 |
||||||
|
m_ClothInterCollisionDistance: 0 |
||||||
|
m_ClothInterCollisionStiffness: 0 |
||||||
|
m_ContactsGeneration: 1 |
||||||
|
m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff |
||||||
|
m_AutoSimulation: 1 |
||||||
|
m_AutoSyncTransforms: 0 |
||||||
|
m_ReuseCollisionCallbacks: 1 |
||||||
|
m_ClothInterCollisionSettingsToggle: 0 |
||||||
|
m_ContactPairsMode: 0 |
||||||
|
m_BroadphaseType: 0 |
||||||
|
m_WorldBounds: |
||||||
|
m_Center: {x: 0, y: 0, z: 0} |
||||||
|
m_Extent: {x: 250, y: 250, z: 250} |
||||||
|
m_WorldSubdivisions: 8 |
||||||
|
m_FrictionType: 0 |
||||||
|
m_EnableEnhancedDeterminism: 0 |
||||||
|
m_EnableUnifiedHeightmaps: 1 |
||||||
|
m_DefaultMaxAngluarSpeed: 7 |
@ -0,0 +1,8 @@ |
|||||||
|
%YAML 1.1 |
||||||
|
%TAG !u! tag:unity3d.com,2011: |
||||||
|
--- !u!1045 &1 |
||||||
|
EditorBuildSettings: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
serializedVersion: 2 |
||||||
|
m_Scenes: [] |
||||||
|
m_configObjects: {} |
@ -0,0 +1,35 @@ |
|||||||
|
%YAML 1.1 |
||||||
|
%TAG !u! tag:unity3d.com,2011: |
||||||
|
--- !u!159 &1 |
||||||
|
EditorSettings: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
serializedVersion: 9 |
||||||
|
m_ExternalVersionControlSupport: Visible Meta Files |
||||||
|
m_SerializationMode: 2 |
||||||
|
m_LineEndingsForNewScripts: 0 |
||||||
|
m_DefaultBehaviorMode: 0 |
||||||
|
m_PrefabRegularEnvironment: {fileID: 0} |
||||||
|
m_PrefabUIEnvironment: {fileID: 0} |
||||||
|
m_SpritePackerMode: 0 |
||||||
|
m_SpritePackerPaddingPower: 1 |
||||||
|
m_EtcTextureCompressorBehavior: 1 |
||||||
|
m_EtcTextureFastCompressor: 1 |
||||||
|
m_EtcTextureNormalCompressor: 2 |
||||||
|
m_EtcTextureBestCompressor: 4 |
||||||
|
m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp;asmref |
||||||
|
m_ProjectGenerationRootNamespace: |
||||||
|
m_CollabEditorSettings: |
||||||
|
inProgressEnabled: 1 |
||||||
|
m_EnableTextureStreamingInEditMode: 1 |
||||||
|
m_EnableTextureStreamingInPlayMode: 1 |
||||||
|
m_AsyncShaderCompilation: 1 |
||||||
|
m_EnterPlayModeOptionsEnabled: 0 |
||||||
|
m_EnterPlayModeOptions: 3 |
||||||
|
m_ShowLightmapResolutionOverlay: 1 |
||||||
|
m_UseLegacyProbeSampleCount: 0 |
||||||
|
m_AssetPipelineMode: 1 |
||||||
|
m_CacheServerMode: 0 |
||||||
|
m_CacheServerEndpoint: |
||||||
|
m_CacheServerNamespacePrefix: default |
||||||
|
m_CacheServerEnableDownload: 1 |
||||||
|
m_CacheServerEnableUpload: 1 |
@ -0,0 +1,63 @@ |
|||||||
|
%YAML 1.1 |
||||||
|
%TAG !u! tag:unity3d.com,2011: |
||||||
|
--- !u!30 &1 |
||||||
|
GraphicsSettings: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
serializedVersion: 13 |
||||||
|
m_Deferred: |
||||||
|
m_Mode: 1 |
||||||
|
m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} |
||||||
|
m_DeferredReflections: |
||||||
|
m_Mode: 1 |
||||||
|
m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} |
||||||
|
m_ScreenSpaceShadows: |
||||||
|
m_Mode: 1 |
||||||
|
m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} |
||||||
|
m_LegacyDeferred: |
||||||
|
m_Mode: 1 |
||||||
|
m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} |
||||||
|
m_DepthNormals: |
||||||
|
m_Mode: 1 |
||||||
|
m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} |
||||||
|
m_MotionVectors: |
||||||
|
m_Mode: 1 |
||||||
|
m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} |
||||||
|
m_LightHalo: |
||||||
|
m_Mode: 1 |
||||||
|
m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} |
||||||
|
m_LensFlare: |
||||||
|
m_Mode: 1 |
||||||
|
m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} |
||||||
|
m_AlwaysIncludedShaders: |
||||||
|
- {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} |
||||||
|
- {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} |
||||||
|
- {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} |
||||||
|
- {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} |
||||||
|
- {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} |
||||||
|
- {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} |
||||||
|
m_PreloadedShaders: [] |
||||||
|
m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, |
||||||
|
type: 0} |
||||||
|
m_CustomRenderPipeline: {fileID: 0} |
||||||
|
m_TransparencySortMode: 0 |
||||||
|
m_TransparencySortAxis: {x: 0, y: 0, z: 1} |
||||||
|
m_DefaultRenderingPath: 1 |
||||||
|
m_DefaultMobileRenderingPath: 1 |
||||||
|
m_TierSettings: [] |
||||||
|
m_LightmapStripping: 0 |
||||||
|
m_FogStripping: 0 |
||||||
|
m_InstancingStripping: 0 |
||||||
|
m_LightmapKeepPlain: 1 |
||||||
|
m_LightmapKeepDirCombined: 1 |
||||||
|
m_LightmapKeepDynamicPlain: 1 |
||||||
|
m_LightmapKeepDynamicDirCombined: 1 |
||||||
|
m_LightmapKeepShadowMask: 1 |
||||||
|
m_LightmapKeepSubtractive: 1 |
||||||
|
m_FogKeepLinear: 1 |
||||||
|
m_FogKeepExp: 1 |
||||||
|
m_FogKeepExp2: 1 |
||||||
|
m_AlbedoSwatchInfos: [] |
||||||
|
m_LightsUseLinearIntensity: 0 |
||||||
|
m_LightsUseColorTemperature: 0 |
||||||
|
m_LogWhenShaderIsCompiled: 0 |
||||||
|
m_AllowEnlightenSupportForUpgradedProject: 0 |
@ -0,0 +1,295 @@ |
|||||||
|
%YAML 1.1 |
||||||
|
%TAG !u! tag:unity3d.com,2011: |
||||||
|
--- !u!13 &1 |
||||||
|
InputManager: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
serializedVersion: 2 |
||||||
|
m_Axes: |
||||||
|
- serializedVersion: 3 |
||||||
|
m_Name: Horizontal |
||||||
|
descriptiveName: |
||||||
|
descriptiveNegativeName: |
||||||
|
negativeButton: left |
||||||
|
positiveButton: right |
||||||
|
altNegativeButton: a |
||||||
|
altPositiveButton: d |
||||||
|
gravity: 3 |
||||||
|
dead: 0.001 |
||||||
|
sensitivity: 3 |
||||||
|
snap: 1 |
||||||
|
invert: 0 |
||||||
|
type: 0 |
||||||
|
axis: 0 |
||||||
|
joyNum: 0 |
||||||
|
- serializedVersion: 3 |
||||||
|
m_Name: Vertical |
||||||
|
descriptiveName: |
||||||
|
descriptiveNegativeName: |
||||||
|
negativeButton: down |
||||||
|
positiveButton: up |
||||||
|
altNegativeButton: s |
||||||
|
altPositiveButton: w |
||||||
|
gravity: 3 |
||||||
|
dead: 0.001 |
||||||
|
sensitivity: 3 |
||||||
|
snap: 1 |
||||||
|
invert: 0 |
||||||
|
type: 0 |
||||||
|
axis: 0 |
||||||
|
joyNum: 0 |
||||||
|
- serializedVersion: 3 |
||||||
|
m_Name: Fire1 |
||||||
|
descriptiveName: |
||||||
|
descriptiveNegativeName: |
||||||
|
negativeButton: |
||||||
|
positiveButton: left ctrl |
||||||
|
altNegativeButton: |
||||||
|
altPositiveButton: mouse 0 |
||||||
|
gravity: 1000 |
||||||
|
dead: 0.001 |
||||||
|
sensitivity: 1000 |
||||||
|
snap: 0 |
||||||
|
invert: 0 |
||||||
|
type: 0 |
||||||
|
axis: 0 |
||||||
|
joyNum: 0 |
||||||
|
- serializedVersion: 3 |
||||||
|
m_Name: Fire2 |
||||||
|
descriptiveName: |
||||||
|
descriptiveNegativeName: |
||||||
|
negativeButton: |
||||||
|
positiveButton: left alt |
||||||
|
altNegativeButton: |
||||||
|
altPositiveButton: mouse 1 |
||||||
|
gravity: 1000 |
||||||
|
dead: 0.001 |
||||||
|
sensitivity: 1000 |
||||||
|
snap: 0 |
||||||
|
invert: 0 |
||||||
|
type: 0 |
||||||
|
axis: 0 |
||||||
|
joyNum: 0 |
||||||
|
- serializedVersion: 3 |
||||||
|
m_Name: Fire3 |
||||||
|
descriptiveName: |
||||||
|
descriptiveNegativeName: |
||||||
|
negativeButton: |
||||||
|
positiveButton: left shift |
||||||
|
altNegativeButton: |
||||||
|
altPositiveButton: mouse 2 |
||||||
|
gravity: 1000 |
||||||
|
dead: 0.001 |
||||||
|
sensitivity: 1000 |
||||||
|
snap: 0 |
||||||
|
invert: 0 |
||||||
|
type: 0 |
||||||
|
axis: 0 |
||||||
|
joyNum: 0 |
||||||
|
- serializedVersion: 3 |
||||||
|
m_Name: Jump |
||||||
|
descriptiveName: |
||||||
|
descriptiveNegativeName: |
||||||
|
negativeButton: |
||||||
|
positiveButton: space |
||||||
|
altNegativeButton: |
||||||
|
altPositiveButton: |
||||||
|
gravity: 1000 |
||||||
|
dead: 0.001 |
||||||
|
sensitivity: 1000 |
||||||
|
snap: 0 |
||||||
|
invert: 0 |
||||||
|
type: 0 |
||||||
|
axis: 0 |
||||||
|
joyNum: 0 |
||||||
|
- serializedVersion: 3 |
||||||
|
m_Name: Mouse X |
||||||
|
descriptiveName: |
||||||
|
descriptiveNegativeName: |
||||||
|
negativeButton: |
||||||
|
positiveButton: |
||||||
|
altNegativeButton: |
||||||
|
altPositiveButton: |
||||||
|
gravity: 0 |
||||||
|
dead: 0 |
||||||
|
sensitivity: 0.1 |
||||||
|
snap: 0 |
||||||
|
invert: 0 |
||||||
|
type: 1 |
||||||
|
axis: 0 |
||||||
|
joyNum: 0 |
||||||
|
- serializedVersion: 3 |
||||||
|
m_Name: Mouse Y |
||||||
|
descriptiveName: |
||||||
|
descriptiveNegativeName: |
||||||
|
negativeButton: |
||||||
|
positiveButton: |
||||||
|
altNegativeButton: |
||||||
|
altPositiveButton: |
||||||
|
gravity: 0 |
||||||
|
dead: 0 |
||||||
|
sensitivity: 0.1 |
||||||
|
snap: 0 |
||||||
|
invert: 0 |
||||||
|
type: 1 |
||||||
|
axis: 1 |
||||||
|
joyNum: 0 |
||||||
|
- serializedVersion: 3 |
||||||
|
m_Name: Mouse ScrollWheel |
||||||
|
descriptiveName: |
||||||
|
descriptiveNegativeName: |
||||||
|
negativeButton: |
||||||
|
positiveButton: |
||||||
|
altNegativeButton: |
||||||
|
altPositiveButton: |
||||||
|
gravity: 0 |
||||||
|
dead: 0 |
||||||
|
sensitivity: 0.1 |
||||||
|
snap: 0 |
||||||
|
invert: 0 |
||||||
|
type: 1 |
||||||
|
axis: 2 |
||||||
|
joyNum: 0 |
||||||
|
- serializedVersion: 3 |
||||||
|
m_Name: Horizontal |
||||||
|
descriptiveName: |
||||||
|
descriptiveNegativeName: |
||||||
|
negativeButton: |
||||||
|
positiveButton: |
||||||
|
altNegativeButton: |
||||||
|
altPositiveButton: |
||||||
|
gravity: 0 |
||||||
|
dead: 0.19 |
||||||
|
sensitivity: 1 |
||||||
|
snap: 0 |
||||||
|
invert: 0 |
||||||
|
type: 2 |
||||||
|
axis: 0 |
||||||
|
joyNum: 0 |
||||||
|
- serializedVersion: 3 |
||||||
|
m_Name: Vertical |
||||||
|
descriptiveName: |
||||||
|
descriptiveNegativeName: |
||||||
|
negativeButton: |
||||||
|
positiveButton: |
||||||
|
altNegativeButton: |
||||||
|
altPositiveButton: |
||||||
|
gravity: 0 |
||||||
|
dead: 0.19 |
||||||
|
sensitivity: 1 |
||||||
|
snap: 0 |
||||||
|
invert: 1 |
||||||
|
type: 2 |
||||||
|
axis: 1 |
||||||
|
joyNum: 0 |
||||||
|
- serializedVersion: 3 |
||||||
|
m_Name: Fire1 |
||||||
|
descriptiveName: |
||||||
|
descriptiveNegativeName: |
||||||
|
negativeButton: |
||||||
|
positiveButton: joystick button 0 |
||||||
|
altNegativeButton: |
||||||
|
altPositiveButton: |
||||||
|
gravity: 1000 |
||||||
|
dead: 0.001 |
||||||
|
sensitivity: 1000 |
||||||
|
snap: 0 |
||||||
|
invert: 0 |
||||||
|
type: 0 |
||||||
|
axis: 0 |
||||||
|
joyNum: 0 |
||||||
|
- serializedVersion: 3 |
||||||
|
m_Name: Fire2 |
||||||
|
descriptiveName: |
||||||
|
descriptiveNegativeName: |
||||||
|
negativeButton: |
||||||
|
positiveButton: joystick button 1 |
||||||
|
altNegativeButton: |
||||||
|
altPositiveButton: |
||||||
|
gravity: 1000 |
||||||
|
dead: 0.001 |
||||||
|
sensitivity: 1000 |
||||||
|
snap: 0 |
||||||
|
invert: 0 |
||||||
|
type: 0 |
||||||
|
axis: 0 |
||||||
|
joyNum: 0 |
||||||
|
- serializedVersion: 3 |
||||||
|
m_Name: Fire3 |
||||||
|
descriptiveName: |
||||||
|
descriptiveNegativeName: |
||||||
|
negativeButton: |
||||||
|
positiveButton: joystick button 2 |
||||||
|
altNegativeButton: |
||||||
|
altPositiveButton: |
||||||
|
gravity: 1000 |
||||||
|
dead: 0.001 |
||||||
|
sensitivity: 1000 |
||||||
|
snap: 0 |
||||||
|
invert: 0 |
||||||
|
type: 0 |
||||||
|
axis: 0 |
||||||
|
joyNum: 0 |
||||||
|
- serializedVersion: 3 |
||||||
|
m_Name: Jump |
||||||
|
descriptiveName: |
||||||
|
descriptiveNegativeName: |
||||||
|
negativeButton: |
||||||
|
positiveButton: joystick button 3 |
||||||
|
altNegativeButton: |
||||||
|
altPositiveButton: |
||||||
|
gravity: 1000 |
||||||
|
dead: 0.001 |
||||||
|
sensitivity: 1000 |
||||||
|
snap: 0 |
||||||
|
invert: 0 |
||||||
|
type: 0 |
||||||
|
axis: 0 |
||||||
|
joyNum: 0 |
||||||
|
- serializedVersion: 3 |
||||||
|
m_Name: Submit |
||||||
|
descriptiveName: |
||||||
|
descriptiveNegativeName: |
||||||
|
negativeButton: |
||||||
|
positiveButton: return |
||||||
|
altNegativeButton: |
||||||
|
altPositiveButton: joystick button 0 |
||||||
|
gravity: 1000 |
||||||
|
dead: 0.001 |
||||||
|
sensitivity: 1000 |
||||||
|
snap: 0 |
||||||
|
invert: 0 |
||||||
|
type: 0 |
||||||
|
axis: 0 |
||||||
|
joyNum: 0 |
||||||
|
- serializedVersion: 3 |
||||||
|
m_Name: Submit |
||||||
|
descriptiveName: |
||||||
|
descriptiveNegativeName: |
||||||
|
negativeButton: |
||||||
|
positiveButton: enter |
||||||
|
altNegativeButton: |
||||||
|
altPositiveButton: space |
||||||
|
gravity: 1000 |
||||||
|
dead: 0.001 |
||||||
|
sensitivity: 1000 |
||||||
|
snap: 0 |
||||||
|
invert: 0 |
||||||
|
type: 0 |
||||||
|
axis: 0 |
||||||
|
joyNum: 0 |
||||||
|
- serializedVersion: 3 |
||||||
|
m_Name: Cancel |
||||||
|
descriptiveName: |
||||||
|
descriptiveNegativeName: |
||||||
|
negativeButton: |
||||||
|
positiveButton: escape |
||||||
|
altNegativeButton: |
||||||
|
altPositiveButton: joystick button 1 |
||||||
|
gravity: 1000 |
||||||
|
dead: 0.001 |
||||||
|
sensitivity: 1000 |
||||||
|
snap: 0 |
||||||
|
invert: 0 |
||||||
|
type: 0 |
||||||
|
axis: 0 |
||||||
|
joyNum: 0 |
@ -0,0 +1,91 @@ |
|||||||
|
%YAML 1.1 |
||||||
|
%TAG !u! tag:unity3d.com,2011: |
||||||
|
--- !u!126 &1 |
||||||
|
NavMeshProjectSettings: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
serializedVersion: 2 |
||||||
|
areas: |
||||||
|
- name: Walkable |
||||||
|
cost: 1 |
||||||
|
- name: Not Walkable |
||||||
|
cost: 1 |
||||||
|
- name: Jump |
||||||
|
cost: 2 |
||||||
|
- name: |
||||||
|
cost: 1 |
||||||
|
- name: |
||||||
|
cost: 1 |
||||||
|
- name: |
||||||
|
cost: 1 |
||||||
|
- name: |
||||||
|
cost: 1 |
||||||
|
- name: |
||||||
|
cost: 1 |
||||||
|
- name: |
||||||
|
cost: 1 |
||||||
|
- name: |
||||||
|
cost: 1 |
||||||
|
- name: |
||||||
|
cost: 1 |
||||||
|
- name: |
||||||
|
cost: 1 |
||||||
|
- name: |
||||||
|
cost: 1 |
||||||
|
- name: |
||||||
|
cost: 1 |
||||||
|
- name: |
||||||
|
cost: 1 |
||||||
|
- name: |
||||||
|
cost: 1 |
||||||
|
- name: |
||||||
|
cost: 1 |
||||||
|
- name: |
||||||
|
cost: 1 |
||||||
|
- name: |
||||||
|
cost: 1 |
||||||
|
- name: |
||||||
|
cost: 1 |
||||||
|
- name: |
||||||
|
cost: 1 |
||||||
|
- name: |
||||||
|
cost: 1 |
||||||
|
- name: |
||||||
|
cost: 1 |
||||||
|
- name: |
||||||
|
cost: 1 |
||||||
|
- name: |
||||||
|
cost: 1 |
||||||
|
- name: |
||||||
|
cost: 1 |
||||||
|
- name: |
||||||
|
cost: 1 |
||||||
|
- name: |
||||||
|
cost: 1 |
||||||
|
- name: |
||||||
|
cost: 1 |
||||||
|
- name: |
||||||
|
cost: 1 |
||||||
|
- name: |
||||||
|
cost: 1 |
||||||
|
- name: |
||||||
|
cost: 1 |
||||||
|
m_LastAgentTypeID: -887442657 |
||||||
|
m_Settings: |
||||||
|
- serializedVersion: 2 |
||||||
|
agentTypeID: 0 |
||||||
|
agentRadius: 0.5 |
||||||
|
agentHeight: 2 |
||||||
|
agentSlope: 45 |
||||||
|
agentClimb: 0.75 |
||||||
|
ledgeDropHeight: 0 |
||||||
|
maxJumpAcrossDistance: 0 |
||||||
|
minRegionArea: 2 |
||||||
|
manualCellSize: 0 |
||||||
|
cellSize: 0.16666667 |
||||||
|
manualTileSize: 0 |
||||||
|
tileSize: 256 |
||||||
|
accuratePlacement: 0 |
||||||
|
debug: |
||||||
|
m_Flags: 0 |
||||||
|
m_SettingNames: |
||||||
|
- Humanoid |
@ -0,0 +1,38 @@ |
|||||||
|
%YAML 1.1 |
||||||
|
%TAG !u! tag:unity3d.com,2011: |
||||||
|
--- !u!114 &1 |
||||||
|
MonoBehaviour: |
||||||
|
m_ObjectHideFlags: 61 |
||||||
|
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: 13964, guid: 0000000000000000e000000000000000, type: 0} |
||||||
|
m_Name: |
||||||
|
m_EditorClassIdentifier: |
||||||
|
m_ScopedRegistriesSettingsExpanded: 1 |
||||||
|
oneTimeWarningShown: 0 |
||||||
|
m_Registries: |
||||||
|
- m_Id: main |
||||||
|
m_Name: |
||||||
|
m_Url: https://packages.unity.com |
||||||
|
m_Scopes: [] |
||||||
|
m_IsDefault: 1 |
||||||
|
m_UserSelectedRegistryName: |
||||||
|
m_UserAddingNewScopedRegistry: 0 |
||||||
|
m_RegistryInfoDraft: |
||||||
|
m_ErrorMessage: |
||||||
|
m_Original: |
||||||
|
m_Id: |
||||||
|
m_Name: |
||||||
|
m_Url: |
||||||
|
m_Scopes: [] |
||||||
|
m_IsDefault: 0 |
||||||
|
m_Modified: 0 |
||||||
|
m_Name: |
||||||
|
m_Url: |
||||||
|
m_Scopes: |
||||||
|
- |
||||||
|
m_SelectedScopeIndex: 0 |
@ -0,0 +1,56 @@ |
|||||||
|
%YAML 1.1 |
||||||
|
%TAG !u! tag:unity3d.com,2011: |
||||||
|
--- !u!19 &1 |
||||||
|
Physics2DSettings: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
serializedVersion: 4 |
||||||
|
m_Gravity: {x: 0, y: -9.81} |
||||||
|
m_DefaultMaterial: {fileID: 0} |
||||||
|
m_VelocityIterations: 8 |
||||||
|
m_PositionIterations: 3 |
||||||
|
m_VelocityThreshold: 1 |
||||||
|
m_MaxLinearCorrection: 0.2 |
||||||
|
m_MaxAngularCorrection: 8 |
||||||
|
m_MaxTranslationSpeed: 100 |
||||||
|
m_MaxRotationSpeed: 360 |
||||||
|
m_BaumgarteScale: 0.2 |
||||||
|
m_BaumgarteTimeOfImpactScale: 0.75 |
||||||
|
m_TimeToSleep: 0.5 |
||||||
|
m_LinearSleepTolerance: 0.01 |
||||||
|
m_AngularSleepTolerance: 2 |
||||||
|
m_DefaultContactOffset: 0.01 |
||||||
|
m_JobOptions: |
||||||
|
serializedVersion: 2 |
||||||
|
useMultithreading: 0 |
||||||
|
useConsistencySorting: 0 |
||||||
|
m_InterpolationPosesPerJob: 100 |
||||||
|
m_NewContactsPerJob: 30 |
||||||
|
m_CollideContactsPerJob: 100 |
||||||
|
m_ClearFlagsPerJob: 200 |
||||||
|
m_ClearBodyForcesPerJob: 200 |
||||||
|
m_SyncDiscreteFixturesPerJob: 50 |
||||||
|
m_SyncContinuousFixturesPerJob: 50 |
||||||
|
m_FindNearestContactsPerJob: 100 |
||||||
|
m_UpdateTriggerContactsPerJob: 100 |
||||||
|
m_IslandSolverCostThreshold: 100 |
||||||
|
m_IslandSolverBodyCostScale: 1 |
||||||
|
m_IslandSolverContactCostScale: 10 |
||||||
|
m_IslandSolverJointCostScale: 10 |
||||||
|
m_IslandSolverBodiesPerJob: 50 |
||||||
|
m_IslandSolverContactsPerJob: 50 |
||||||
|
m_AutoSimulation: 1 |
||||||
|
m_QueriesHitTriggers: 1 |
||||||
|
m_QueriesStartInColliders: 1 |
||||||
|
m_CallbacksOnDisable: 1 |
||||||
|
m_ReuseCollisionCallbacks: 1 |
||||||
|
m_AutoSyncTransforms: 0 |
||||||
|
m_AlwaysShowColliders: 0 |
||||||
|
m_ShowColliderSleep: 1 |
||||||
|
m_ShowColliderContacts: 0 |
||||||
|
m_ShowColliderAABB: 0 |
||||||
|
m_ContactArrowScale: 0.2 |
||||||
|
m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} |
||||||
|
m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} |
||||||
|
m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} |
||||||
|
m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} |
||||||
|
m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff |
@ -0,0 +1,7 @@ |
|||||||
|
%YAML 1.1 |
||||||
|
%TAG !u! tag:unity3d.com,2011: |
||||||
|
--- !u!1386491679 &1 |
||||||
|
PresetManager: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
serializedVersion: 2 |
||||||
|
m_DefaultPresets: {} |
@ -0,0 +1,712 @@ |
|||||||
|
%YAML 1.1 |
||||||
|
%TAG !u! tag:unity3d.com,2011: |
||||||
|
--- !u!129 &1 |
||||||
|
PlayerSettings: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
serializedVersion: 20 |
||||||
|
productGUID: 23833c297b5c2154797018ca9ad720c5 |
||||||
|
AndroidProfiler: 0 |
||||||
|
AndroidFilterTouchesWhenObscured: 0 |
||||||
|
AndroidEnableSustainedPerformanceMode: 0 |
||||||
|
defaultScreenOrientation: 4 |
||||||
|
targetDevice: 2 |
||||||
|
useOnDemandResources: 0 |
||||||
|
accelerometerFrequency: 60 |
||||||
|
companyName: DefaultCompany |
||||||
|
productName: JXSoftTools |
||||||
|
defaultCursor: {fileID: 0} |
||||||
|
cursorHotspot: {x: 0, y: 0} |
||||||
|
m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1} |
||||||
|
m_ShowUnitySplashScreen: 1 |
||||||
|
m_ShowUnitySplashLogo: 1 |
||||||
|
m_SplashScreenOverlayOpacity: 1 |
||||||
|
m_SplashScreenAnimation: 1 |
||||||
|
m_SplashScreenLogoStyle: 1 |
||||||
|
m_SplashScreenDrawMode: 0 |
||||||
|
m_SplashScreenBackgroundAnimationZoom: 1 |
||||||
|
m_SplashScreenLogoAnimationZoom: 1 |
||||||
|
m_SplashScreenBackgroundLandscapeAspect: 1 |
||||||
|
m_SplashScreenBackgroundPortraitAspect: 1 |
||||||
|
m_SplashScreenBackgroundLandscapeUvs: |
||||||
|
serializedVersion: 2 |
||||||
|
x: 0 |
||||||
|
y: 0 |
||||||
|
width: 1 |
||||||
|
height: 1 |
||||||
|
m_SplashScreenBackgroundPortraitUvs: |
||||||
|
serializedVersion: 2 |
||||||
|
x: 0 |
||||||
|
y: 0 |
||||||
|
width: 1 |
||||||
|
height: 1 |
||||||
|
m_SplashScreenLogos: [] |
||||||
|
m_VirtualRealitySplashScreen: {fileID: 0} |
||||||
|
m_HolographicTrackingLossScreen: {fileID: 0} |
||||||
|
defaultScreenWidth: 1024 |
||||||
|
defaultScreenHeight: 768 |
||||||
|
defaultScreenWidthWeb: 960 |
||||||
|
defaultScreenHeightWeb: 600 |
||||||
|
m_StereoRenderingPath: 0 |
||||||
|
m_ActiveColorSpace: 0 |
||||||
|
m_MTRendering: 1 |
||||||
|
m_StackTraceTypes: 010000000100000001000000010000000100000001000000 |
||||||
|
iosShowActivityIndicatorOnLoading: -1 |
||||||
|
androidShowActivityIndicatorOnLoading: -1 |
||||||
|
iosUseCustomAppBackgroundBehavior: 0 |
||||||
|
iosAllowHTTPDownload: 1 |
||||||
|
allowedAutorotateToPortrait: 1 |
||||||
|
allowedAutorotateToPortraitUpsideDown: 1 |
||||||
|
allowedAutorotateToLandscapeRight: 1 |
||||||
|
allowedAutorotateToLandscapeLeft: 1 |
||||||
|
useOSAutorotation: 1 |
||||||
|
use32BitDisplayBuffer: 1 |
||||||
|
preserveFramebufferAlpha: 0 |
||||||
|
disableDepthAndStencilBuffers: 0 |
||||||
|
androidStartInFullscreen: 1 |
||||||
|
androidRenderOutsideSafeArea: 1 |
||||||
|
androidUseSwappy: 0 |
||||||
|
androidBlitType: 0 |
||||||
|
androidResizableWindow: 0 |
||||||
|
androidDefaultWindowWidth: 1920 |
||||||
|
androidDefaultWindowHeight: 1080 |
||||||
|
androidMinimumWindowWidth: 400 |
||||||
|
androidMinimumWindowHeight: 300 |
||||||
|
androidFullscreenMode: 1 |
||||||
|
defaultIsNativeResolution: 1 |
||||||
|
macRetinaSupport: 1 |
||||||
|
runInBackground: 1 |
||||||
|
captureSingleScreen: 0 |
||||||
|
muteOtherAudioSources: 0 |
||||||
|
Prepare IOS For Recording: 0 |
||||||
|
Force IOS Speakers When Recording: 0 |
||||||
|
deferSystemGesturesMode: 0 |
||||||
|
hideHomeButton: 0 |
||||||
|
submitAnalytics: 1 |
||||||
|
usePlayerLog: 1 |
||||||
|
bakeCollisionMeshes: 0 |
||||||
|
forceSingleInstance: 0 |
||||||
|
useFlipModelSwapchain: 1 |
||||||
|
resizableWindow: 0 |
||||||
|
useMacAppStoreValidation: 0 |
||||||
|
macAppStoreCategory: public.app-category.games |
||||||
|
gpuSkinning: 1 |
||||||
|
xboxPIXTextureCapture: 0 |
||||||
|
xboxEnableAvatar: 0 |
||||||
|
xboxEnableKinect: 0 |
||||||
|
xboxEnableKinectAutoTracking: 0 |
||||||
|
xboxEnableFitness: 0 |
||||||
|
visibleInBackground: 1 |
||||||
|
allowFullscreenSwitch: 1 |
||||||
|
fullscreenMode: 1 |
||||||
|
xboxSpeechDB: 0 |
||||||
|
xboxEnableHeadOrientation: 0 |
||||||
|
xboxEnableGuest: 0 |
||||||
|
xboxEnablePIXSampling: 0 |
||||||
|
metalFramebufferOnly: 0 |
||||||
|
xboxOneResolution: 0 |
||||||
|
xboxOneSResolution: 0 |
||||||
|
xboxOneXResolution: 3 |
||||||
|
xboxOneMonoLoggingLevel: 0 |
||||||
|
xboxOneLoggingLevel: 1 |
||||||
|
xboxOneDisableEsram: 0 |
||||||
|
xboxOneEnableTypeOptimization: 0 |
||||||
|
xboxOnePresentImmediateThreshold: 0 |
||||||
|
switchQueueCommandMemory: 0 |
||||||
|
switchQueueControlMemory: 16384 |
||||||
|
switchQueueComputeMemory: 262144 |
||||||
|
switchNVNShaderPoolsGranularity: 33554432 |
||||||
|
switchNVNDefaultPoolsGranularity: 16777216 |
||||||
|
switchNVNOtherPoolsGranularity: 16777216 |
||||||
|
switchNVNMaxPublicTextureIDCount: 0 |
||||||
|
switchNVNMaxPublicSamplerIDCount: 0 |
||||||
|
stadiaPresentMode: 0 |
||||||
|
stadiaTargetFramerate: 0 |
||||||
|
vulkanNumSwapchainBuffers: 3 |
||||||
|
vulkanEnableSetSRGBWrite: 0 |
||||||
|
vulkanEnableLateAcquireNextImage: 0 |
||||||
|
m_SupportedAspectRatios: |
||||||
|
4:3: 1 |
||||||
|
5:4: 1 |
||||||
|
16:10: 1 |
||||||
|
16:9: 1 |
||||||
|
Others: 1 |
||||||
|
bundleVersion: 0.1 |
||||||
|
preloadedAssets: [] |
||||||
|
metroInputSource: 0 |
||||||
|
wsaTransparentSwapchain: 0 |
||||||
|
m_HolographicPauseOnTrackingLoss: 1 |
||||||
|
xboxOneDisableKinectGpuReservation: 1 |
||||||
|
xboxOneEnable7thCore: 1 |
||||||
|
vrSettings: |
||||||
|
cardboard: |
||||||
|
depthFormat: 0 |
||||||
|
enableTransitionView: 0 |
||||||
|
daydream: |
||||||
|
depthFormat: 0 |
||||||
|
useSustainedPerformanceMode: 0 |
||||||
|
enableVideoLayer: 0 |
||||||
|
useProtectedVideoMemory: 0 |
||||||
|
minimumSupportedHeadTracking: 0 |
||||||
|
maximumSupportedHeadTracking: 1 |
||||||
|
hololens: |
||||||
|
depthFormat: 1 |
||||||
|
depthBufferSharingEnabled: 1 |
||||||
|
lumin: |
||||||
|
depthFormat: 0 |
||||||
|
frameTiming: 2 |
||||||
|
enableGLCache: 0 |
||||||
|
glCacheMaxBlobSize: 524288 |
||||||
|
glCacheMaxFileSize: 8388608 |
||||||
|
oculus: |
||||||
|
sharedDepthBuffer: 1 |
||||||
|
dashSupport: 1 |
||||||
|
lowOverheadMode: 0 |
||||||
|
protectedContext: 0 |
||||||
|
v2Signing: 1 |
||||||
|
enable360StereoCapture: 0 |
||||||
|
isWsaHolographicRemotingEnabled: 0 |
||||||
|
enableFrameTimingStats: 0 |
||||||
|
useHDRDisplay: 0 |
||||||
|
D3DHDRBitDepth: 0 |
||||||
|
m_ColorGamuts: 00000000 |
||||||
|
targetPixelDensity: 30 |
||||||
|
resolutionScalingMode: 0 |
||||||
|
androidSupportedAspectRatio: 1 |
||||||
|
androidMaxAspectRatio: 2.1 |
||||||
|
applicationIdentifier: {} |
||||||
|
buildNumber: {} |
||||||
|
AndroidBundleVersionCode: 1 |
||||||
|
AndroidMinSdkVersion: 19 |
||||||
|
AndroidTargetSdkVersion: 0 |
||||||
|
AndroidPreferredInstallLocation: 1 |
||||||
|
aotOptions: |
||||||
|
stripEngineCode: 1 |
||||||
|
iPhoneStrippingLevel: 0 |
||||||
|
iPhoneScriptCallOptimization: 0 |
||||||
|
ForceInternetPermission: 0 |
||||||
|
ForceSDCardPermission: 0 |
||||||
|
CreateWallpaper: 0 |
||||||
|
APKExpansionFiles: 0 |
||||||
|
keepLoadedShadersAlive: 0 |
||||||
|
StripUnusedMeshComponents: 1 |
||||||
|
VertexChannelCompressionMask: 4054 |
||||||
|
iPhoneSdkVersion: 988 |
||||||
|
iOSTargetOSVersionString: 10.0 |
||||||
|
tvOSSdkVersion: 0 |
||||||
|
tvOSRequireExtendedGameController: 0 |
||||||
|
tvOSTargetOSVersionString: 10.0 |
||||||
|
uIPrerenderedIcon: 0 |
||||||
|
uIRequiresPersistentWiFi: 0 |
||||||
|
uIRequiresFullScreen: 1 |
||||||
|
uIStatusBarHidden: 1 |
||||||
|
uIExitOnSuspend: 0 |
||||||
|
uIStatusBarStyle: 0 |
||||||
|
appleTVSplashScreen: {fileID: 0} |
||||||
|
appleTVSplashScreen2x: {fileID: 0} |
||||||
|
tvOSSmallIconLayers: [] |
||||||
|
tvOSSmallIconLayers2x: [] |
||||||
|
tvOSLargeIconLayers: [] |
||||||
|
tvOSLargeIconLayers2x: [] |
||||||
|
tvOSTopShelfImageLayers: [] |
||||||
|
tvOSTopShelfImageLayers2x: [] |
||||||
|
tvOSTopShelfImageWideLayers: [] |
||||||
|
tvOSTopShelfImageWideLayers2x: [] |
||||||
|
iOSLaunchScreenType: 0 |
||||||
|
iOSLaunchScreenPortrait: {fileID: 0} |
||||||
|
iOSLaunchScreenLandscape: {fileID: 0} |
||||||
|
iOSLaunchScreenBackgroundColor: |
||||||
|
serializedVersion: 2 |
||||||
|
rgba: 0 |
||||||
|
iOSLaunchScreenFillPct: 100 |
||||||
|
iOSLaunchScreenSize: 100 |
||||||
|
iOSLaunchScreenCustomXibPath: |
||||||
|
iOSLaunchScreeniPadType: 0 |
||||||
|
iOSLaunchScreeniPadImage: {fileID: 0} |
||||||
|
iOSLaunchScreeniPadBackgroundColor: |
||||||
|
serializedVersion: 2 |
||||||
|
rgba: 0 |
||||||
|
iOSLaunchScreeniPadFillPct: 100 |
||||||
|
iOSLaunchScreeniPadSize: 100 |
||||||
|
iOSLaunchScreeniPadCustomXibPath: |
||||||
|
iOSUseLaunchScreenStoryboard: 0 |
||||||
|
iOSLaunchScreenCustomStoryboardPath: |
||||||
|
iOSDeviceRequirements: [] |
||||||
|
iOSURLSchemes: [] |
||||||
|
iOSBackgroundModes: 0 |
||||||
|
iOSMetalForceHardShadows: 0 |
||||||
|
metalEditorSupport: 1 |
||||||
|
metalAPIValidation: 1 |
||||||
|
iOSRenderExtraFrameOnPause: 0 |
||||||
|
iosCopyPluginsCodeInsteadOfSymlink: 0 |
||||||
|
appleDeveloperTeamID: |
||||||
|
iOSManualSigningProvisioningProfileID: |
||||||
|
tvOSManualSigningProvisioningProfileID: |
||||||
|
iOSManualSigningProvisioningProfileType: 0 |
||||||
|
tvOSManualSigningProvisioningProfileType: 0 |
||||||
|
appleEnableAutomaticSigning: 0 |
||||||
|
iOSRequireARKit: 0 |
||||||
|
iOSAutomaticallyDetectAndAddCapabilities: 1 |
||||||
|
appleEnableProMotion: 0 |
||||||
|
clonedFromGUID: c0afd0d1d80e3634a9dac47e8a0426ea |
||||||
|
templatePackageId: com.unity.template.3d@4.2.8 |
||||||
|
templateDefaultScene: Assets/Scenes/SampleScene.unity |
||||||
|
AndroidTargetArchitectures: 1 |
||||||
|
AndroidTargetDevices: 0 |
||||||
|
AndroidSplashScreenScale: 0 |
||||||
|
androidSplashScreen: {fileID: 0} |
||||||
|
AndroidKeystoreName: |
||||||
|
AndroidKeyaliasName: |
||||||
|
AndroidBuildApkPerCpuArchitecture: 0 |
||||||
|
AndroidTVCompatibility: 0 |
||||||
|
AndroidIsGame: 1 |
||||||
|
AndroidEnableTango: 0 |
||||||
|
androidEnableBanner: 1 |
||||||
|
androidUseLowAccuracyLocation: 0 |
||||||
|
androidUseCustomKeystore: 0 |
||||||
|
m_AndroidBanners: |
||||||
|
- width: 320 |
||||||
|
height: 180 |
||||||
|
banner: {fileID: 0} |
||||||
|
androidGamepadSupportLevel: 0 |
||||||
|
chromeosInputEmulation: 1 |
||||||
|
AndroidValidateAppBundleSize: 1 |
||||||
|
AndroidAppBundleSizeToValidate: 150 |
||||||
|
m_BuildTargetIcons: [] |
||||||
|
m_BuildTargetPlatformIcons: [] |
||||||
|
m_BuildTargetBatching: |
||||||
|
- m_BuildTarget: Standalone |
||||||
|
m_StaticBatching: 1 |
||||||
|
m_DynamicBatching: 0 |
||||||
|
- m_BuildTarget: tvOS |
||||||
|
m_StaticBatching: 1 |
||||||
|
m_DynamicBatching: 0 |
||||||
|
- m_BuildTarget: Android |
||||||
|
m_StaticBatching: 1 |
||||||
|
m_DynamicBatching: 0 |
||||||
|
- m_BuildTarget: iPhone |
||||||
|
m_StaticBatching: 1 |
||||||
|
m_DynamicBatching: 0 |
||||||
|
- m_BuildTarget: WebGL |
||||||
|
m_StaticBatching: 0 |
||||||
|
m_DynamicBatching: 0 |
||||||
|
m_BuildTargetGraphicsJobs: |
||||||
|
- m_BuildTarget: MacStandaloneSupport |
||||||
|
m_GraphicsJobs: 0 |
||||||
|
- m_BuildTarget: Switch |
||||||
|
m_GraphicsJobs: 1 |
||||||
|
- m_BuildTarget: MetroSupport |
||||||
|
m_GraphicsJobs: 1 |
||||||
|
- m_BuildTarget: AppleTVSupport |
||||||
|
m_GraphicsJobs: 0 |
||||||
|
- m_BuildTarget: BJMSupport |
||||||
|
m_GraphicsJobs: 1 |
||||||
|
- m_BuildTarget: LinuxStandaloneSupport |
||||||
|
m_GraphicsJobs: 1 |
||||||
|
- m_BuildTarget: PS4Player |
||||||
|
m_GraphicsJobs: 1 |
||||||
|
- m_BuildTarget: iOSSupport |
||||||
|
m_GraphicsJobs: 0 |
||||||
|
- m_BuildTarget: WindowsStandaloneSupport |
||||||
|
m_GraphicsJobs: 1 |
||||||
|
- m_BuildTarget: XboxOnePlayer |
||||||
|
m_GraphicsJobs: 1 |
||||||
|
- m_BuildTarget: LuminSupport |
||||||
|
m_GraphicsJobs: 0 |
||||||
|
- m_BuildTarget: AndroidPlayer |
||||||
|
m_GraphicsJobs: 0 |
||||||
|
- m_BuildTarget: WebGLSupport |
||||||
|
m_GraphicsJobs: 0 |
||||||
|
m_BuildTargetGraphicsJobMode: |
||||||
|
- m_BuildTarget: PS4Player |
||||||
|
m_GraphicsJobMode: 0 |
||||||
|
- m_BuildTarget: XboxOnePlayer |
||||||
|
m_GraphicsJobMode: 0 |
||||||
|
m_BuildTargetGraphicsAPIs: |
||||||
|
- m_BuildTarget: AndroidPlayer |
||||||
|
m_APIs: 150000000b000000 |
||||||
|
m_Automatic: 0 |
||||||
|
- m_BuildTarget: iOSSupport |
||||||
|
m_APIs: 10000000 |
||||||
|
m_Automatic: 1 |
||||||
|
- m_BuildTarget: AppleTVSupport |
||||||
|
m_APIs: 10000000 |
||||||
|
m_Automatic: 0 |
||||||
|
- m_BuildTarget: WebGLSupport |
||||||
|
m_APIs: 0b000000 |
||||||
|
m_Automatic: 1 |
||||||
|
m_BuildTargetVRSettings: |
||||||
|
- m_BuildTarget: Standalone |
||||||
|
m_Enabled: 0 |
||||||
|
m_Devices: |
||||||
|
- Oculus |
||||||
|
- OpenVR |
||||||
|
openGLRequireES31: 0 |
||||||
|
openGLRequireES31AEP: 0 |
||||||
|
openGLRequireES32: 0 |
||||||
|
m_TemplateCustomTags: {} |
||||||
|
mobileMTRendering: |
||||||
|
Android: 1 |
||||||
|
iPhone: 1 |
||||||
|
tvOS: 1 |
||||||
|
m_BuildTargetGroupLightmapEncodingQuality: [] |
||||||
|
m_BuildTargetGroupLightmapSettings: [] |
||||||
|
playModeTestRunnerEnabled: 0 |
||||||
|
runPlayModeTestAsEditModeTest: 0 |
||||||
|
actionOnDotNetUnhandledException: 1 |
||||||
|
enableInternalProfiler: 0 |
||||||
|
logObjCUncaughtExceptions: 1 |
||||||
|
enableCrashReportAPI: 0 |
||||||
|
cameraUsageDescription: |
||||||
|
locationUsageDescription: |
||||||
|
microphoneUsageDescription: |
||||||
|
switchNetLibKey: |
||||||
|
switchSocketMemoryPoolSize: 6144 |
||||||
|
switchSocketAllocatorPoolSize: 128 |
||||||
|
switchSocketConcurrencyLimit: 14 |
||||||
|
switchScreenResolutionBehavior: 2 |
||||||
|
switchUseCPUProfiler: 0 |
||||||
|
switchApplicationID: 0x01004b9000490000 |
||||||
|
switchNSODependencies: |
||||||
|
switchTitleNames_0: |
||||||
|
switchTitleNames_1: |
||||||
|
switchTitleNames_2: |
||||||
|
switchTitleNames_3: |
||||||
|
switchTitleNames_4: |
||||||
|
switchTitleNames_5: |
||||||
|
switchTitleNames_6: |
||||||
|
switchTitleNames_7: |
||||||
|
switchTitleNames_8: |
||||||
|
switchTitleNames_9: |
||||||
|
switchTitleNames_10: |
||||||
|
switchTitleNames_11: |
||||||
|
switchTitleNames_12: |
||||||
|
switchTitleNames_13: |
||||||
|
switchTitleNames_14: |
||||||
|
switchTitleNames_15: |
||||||
|
switchPublisherNames_0: |
||||||
|
switchPublisherNames_1: |
||||||
|
switchPublisherNames_2: |
||||||
|
switchPublisherNames_3: |
||||||
|
switchPublisherNames_4: |
||||||
|
switchPublisherNames_5: |
||||||
|
switchPublisherNames_6: |
||||||
|
switchPublisherNames_7: |
||||||
|
switchPublisherNames_8: |
||||||
|
switchPublisherNames_9: |
||||||
|
switchPublisherNames_10: |
||||||
|
switchPublisherNames_11: |
||||||
|
switchPublisherNames_12: |
||||||
|
switchPublisherNames_13: |
||||||
|
switchPublisherNames_14: |
||||||
|
switchPublisherNames_15: |
||||||
|
switchIcons_0: {fileID: 0} |
||||||
|
switchIcons_1: {fileID: 0} |
||||||
|
switchIcons_2: {fileID: 0} |
||||||
|
switchIcons_3: {fileID: 0} |
||||||
|
switchIcons_4: {fileID: 0} |
||||||
|
switchIcons_5: {fileID: 0} |
||||||
|
switchIcons_6: {fileID: 0} |
||||||
|
switchIcons_7: {fileID: 0} |
||||||
|
switchIcons_8: {fileID: 0} |
||||||
|
switchIcons_9: {fileID: 0} |
||||||
|
switchIcons_10: {fileID: 0} |
||||||
|
switchIcons_11: {fileID: 0} |
||||||
|
switchIcons_12: {fileID: 0} |
||||||
|
switchIcons_13: {fileID: 0} |
||||||
|
switchIcons_14: {fileID: 0} |
||||||
|
switchIcons_15: {fileID: 0} |
||||||
|
switchSmallIcons_0: {fileID: 0} |
||||||
|
switchSmallIcons_1: {fileID: 0} |
||||||
|
switchSmallIcons_2: {fileID: 0} |
||||||
|
switchSmallIcons_3: {fileID: 0} |
||||||
|
switchSmallIcons_4: {fileID: 0} |
||||||
|
switchSmallIcons_5: {fileID: 0} |
||||||
|
switchSmallIcons_6: {fileID: 0} |
||||||
|
switchSmallIcons_7: {fileID: 0} |
||||||
|
switchSmallIcons_8: {fileID: 0} |
||||||
|
switchSmallIcons_9: {fileID: 0} |
||||||
|
switchSmallIcons_10: {fileID: 0} |
||||||
|
switchSmallIcons_11: {fileID: 0} |
||||||
|
switchSmallIcons_12: {fileID: 0} |
||||||
|
switchSmallIcons_13: {fileID: 0} |
||||||
|
switchSmallIcons_14: {fileID: 0} |
||||||
|
switchSmallIcons_15: {fileID: 0} |
||||||
|
switchManualHTML: |
||||||
|
switchAccessibleURLs: |
||||||
|
switchLegalInformation: |
||||||
|
switchMainThreadStackSize: 1048576 |
||||||
|
switchPresenceGroupId: |
||||||
|
switchLogoHandling: 0 |
||||||
|
switchReleaseVersion: 0 |
||||||
|
switchDisplayVersion: 1.0.0 |
||||||
|
switchStartupUserAccount: 0 |
||||||
|
switchTouchScreenUsage: 0 |
||||||
|
switchSupportedLanguagesMask: 0 |
||||||
|
switchLogoType: 0 |
||||||
|
switchApplicationErrorCodeCategory: |
||||||
|
switchUserAccountSaveDataSize: 0 |
||||||
|
switchUserAccountSaveDataJournalSize: 0 |
||||||
|
switchApplicationAttribute: 0 |
||||||
|
switchCardSpecSize: -1 |
||||||
|
switchCardSpecClock: -1 |
||||||
|
switchRatingsMask: 0 |
||||||
|
switchRatingsInt_0: 0 |
||||||
|
switchRatingsInt_1: 0 |
||||||
|
switchRatingsInt_2: 0 |
||||||
|
switchRatingsInt_3: 0 |
||||||
|
switchRatingsInt_4: 0 |
||||||
|
switchRatingsInt_5: 0 |
||||||
|
switchRatingsInt_6: 0 |
||||||
|
switchRatingsInt_7: 0 |
||||||
|
switchRatingsInt_8: 0 |
||||||
|
switchRatingsInt_9: 0 |
||||||
|
switchRatingsInt_10: 0 |
||||||
|
switchRatingsInt_11: 0 |
||||||
|
switchRatingsInt_12: 0 |
||||||
|
switchLocalCommunicationIds_0: |
||||||
|
switchLocalCommunicationIds_1: |
||||||
|
switchLocalCommunicationIds_2: |
||||||
|
switchLocalCommunicationIds_3: |
||||||
|
switchLocalCommunicationIds_4: |
||||||
|
switchLocalCommunicationIds_5: |
||||||
|
switchLocalCommunicationIds_6: |
||||||
|
switchLocalCommunicationIds_7: |
||||||
|
switchParentalControl: 0 |
||||||
|
switchAllowsScreenshot: 1 |
||||||
|
switchAllowsVideoCapturing: 1 |
||||||
|
switchAllowsRuntimeAddOnContentInstall: 0 |
||||||
|
switchDataLossConfirmation: 0 |
||||||
|
switchUserAccountLockEnabled: 0 |
||||||
|
switchSystemResourceMemory: 16777216 |
||||||
|
switchSupportedNpadStyles: 22 |
||||||
|
switchNativeFsCacheSize: 32 |
||||||
|
switchIsHoldTypeHorizontal: 0 |
||||||
|
switchSupportedNpadCount: 8 |
||||||
|
switchSocketConfigEnabled: 0 |
||||||
|
switchTcpInitialSendBufferSize: 32 |
||||||
|
switchTcpInitialReceiveBufferSize: 64 |
||||||
|
switchTcpAutoSendBufferSizeMax: 256 |
||||||
|
switchTcpAutoReceiveBufferSizeMax: 256 |
||||||
|
switchUdpSendBufferSize: 9 |
||||||
|
switchUdpReceiveBufferSize: 42 |
||||||
|
switchSocketBufferEfficiency: 4 |
||||||
|
switchSocketInitializeEnabled: 1 |
||||||
|
switchNetworkInterfaceManagerInitializeEnabled: 1 |
||||||
|
switchPlayerConnectionEnabled: 1 |
||||||
|
switchUseMicroSleepForYield: 1 |
||||||
|
switchMicroSleepForYieldTime: 25 |
||||||
|
ps4NPAgeRating: 12 |
||||||
|
ps4NPTitleSecret: |
||||||
|
ps4NPTrophyPackPath: |
||||||
|
ps4ParentalLevel: 11 |
||||||
|
ps4ContentID: ED1633-NPXX51362_00-0000000000000000 |
||||||
|
ps4Category: 0 |
||||||
|
ps4MasterVersion: 01.00 |
||||||
|
ps4AppVersion: 01.00 |
||||||
|
ps4AppType: 0 |
||||||
|
ps4ParamSfxPath: |
||||||
|
ps4VideoOutPixelFormat: 0 |
||||||
|
ps4VideoOutInitialWidth: 1920 |
||||||
|
ps4VideoOutBaseModeInitialWidth: 1920 |
||||||
|
ps4VideoOutReprojectionRate: 60 |
||||||
|
ps4PronunciationXMLPath: |
||||||
|
ps4PronunciationSIGPath: |
||||||
|
ps4BackgroundImagePath: |
||||||
|
ps4StartupImagePath: |
||||||
|
ps4StartupImagesFolder: |
||||||
|
ps4IconImagesFolder: |
||||||
|
ps4SaveDataImagePath: |
||||||
|
ps4SdkOverride: |
||||||
|
ps4BGMPath: |
||||||
|
ps4ShareFilePath: |
||||||
|
ps4ShareOverlayImagePath: |
||||||
|
ps4PrivacyGuardImagePath: |
||||||
|
ps4ExtraSceSysFile: |
||||||
|
ps4NPtitleDatPath: |
||||||
|
ps4RemotePlayKeyAssignment: -1 |
||||||
|
ps4RemotePlayKeyMappingDir: |
||||||
|
ps4PlayTogetherPlayerCount: 0 |
||||||
|
ps4EnterButtonAssignment: 1 |
||||||
|
ps4ApplicationParam1: 0 |
||||||
|
ps4ApplicationParam2: 0 |
||||||
|
ps4ApplicationParam3: 0 |
||||||
|
ps4ApplicationParam4: 0 |
||||||
|
ps4DownloadDataSize: 0 |
||||||
|
ps4GarlicHeapSize: 2048 |
||||||
|
ps4ProGarlicHeapSize: 2560 |
||||||
|
playerPrefsMaxSize: 32768 |
||||||
|
ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ |
||||||
|
ps4pnSessions: 1 |
||||||
|
ps4pnPresence: 1 |
||||||
|
ps4pnFriends: 1 |
||||||
|
ps4pnGameCustomData: 1 |
||||||
|
playerPrefsSupport: 0 |
||||||
|
enableApplicationExit: 0 |
||||||
|
resetTempFolder: 1 |
||||||
|
restrictedAudioUsageRights: 0 |
||||||
|
ps4UseResolutionFallback: 0 |
||||||
|
ps4ReprojectionSupport: 0 |
||||||
|
ps4UseAudio3dBackend: 0 |
||||||
|
ps4UseLowGarlicFragmentationMode: 1 |
||||||
|
ps4SocialScreenEnabled: 0 |
||||||
|
ps4ScriptOptimizationLevel: 0 |
||||||
|
ps4Audio3dVirtualSpeakerCount: 14 |
||||||
|
ps4attribCpuUsage: 0 |
||||||
|
ps4PatchPkgPath: |
||||||
|
ps4PatchLatestPkgPath: |
||||||
|
ps4PatchChangeinfoPath: |
||||||
|
ps4PatchDayOne: 0 |
||||||
|
ps4attribUserManagement: 0 |
||||||
|
ps4attribMoveSupport: 0 |
||||||
|
ps4attrib3DSupport: 0 |
||||||
|
ps4attribShareSupport: 0 |
||||||
|
ps4attribExclusiveVR: 0 |
||||||
|
ps4disableAutoHideSplash: 0 |
||||||
|
ps4videoRecordingFeaturesUsed: 0 |
||||||
|
ps4contentSearchFeaturesUsed: 0 |
||||||
|
ps4CompatibilityPS5: 0 |
||||||
|
ps4AllowPS5Detection: 0 |
||||||
|
ps4GPU800MHz: 1 |
||||||
|
ps4attribEyeToEyeDistanceSettingVR: 0 |
||||||
|
ps4IncludedModules: [] |
||||||
|
ps4attribVROutputEnabled: 0 |
||||||
|
ps5ParamFilePath: |
||||||
|
ps5VideoOutPixelFormat: 0 |
||||||
|
ps5VideoOutInitialWidth: 1920 |
||||||
|
ps5VideoOutOutputMode: 1 |
||||||
|
ps5BackgroundImagePath: |
||||||
|
ps5StartupImagePath: |
||||||
|
ps5Pic2Path: |
||||||
|
ps5StartupImagesFolder: |
||||||
|
ps5IconImagesFolder: |
||||||
|
ps5SaveDataImagePath: |
||||||
|
ps5SdkOverride: |
||||||
|
ps5BGMPath: |
||||||
|
ps5ShareOverlayImagePath: |
||||||
|
ps5NPConfigZipPath: |
||||||
|
ps5Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ |
||||||
|
ps5UseResolutionFallback: 0 |
||||||
|
ps5UseAudio3dBackend: 0 |
||||||
|
ps5ScriptOptimizationLevel: 2 |
||||||
|
ps5Audio3dVirtualSpeakerCount: 14 |
||||||
|
ps5UpdateReferencePackage: |
||||||
|
ps5disableAutoHideSplash: 0 |
||||||
|
ps5OperatingSystemCanDisableSplashScreen: 0 |
||||||
|
ps5IncludedModules: [] |
||||||
|
ps5SharedBinaryContentLabels: [] |
||||||
|
ps5SharedBinarySystemFolders: [] |
||||||
|
monoEnv: |
||||||
|
splashScreenBackgroundSourceLandscape: {fileID: 0} |
||||||
|
splashScreenBackgroundSourcePortrait: {fileID: 0} |
||||||
|
blurSplashScreenBackground: 1 |
||||||
|
spritePackerPolicy: |
||||||
|
webGLMemorySize: 16 |
||||||
|
webGLExceptionSupport: 1 |
||||||
|
webGLNameFilesAsHashes: 0 |
||||||
|
webGLDataCaching: 1 |
||||||
|
webGLDebugSymbols: 0 |
||||||
|
webGLEmscriptenArgs: |
||||||
|
webGLModulesDirectory: |
||||||
|
webGLTemplate: APPLICATION:Default |
||||||
|
webGLAnalyzeBuildSize: 0 |
||||||
|
webGLUseEmbeddedResources: 0 |
||||||
|
webGLCompressionFormat: 1 |
||||||
|
webGLLinkerTarget: 1 |
||||||
|
webGLThreadsSupport: 0 |
||||||
|
webGLWasmStreaming: 0 |
||||||
|
scriptingDefineSymbols: {} |
||||||
|
platformArchitecture: {} |
||||||
|
scriptingBackend: {} |
||||||
|
il2cppCompilerConfiguration: {} |
||||||
|
managedStrippingLevel: {} |
||||||
|
incrementalIl2cppBuild: {} |
||||||
|
suppressCommonWarnings: 1 |
||||||
|
allowUnsafeCode: 0 |
||||||
|
additionalIl2CppArgs: |
||||||
|
scriptingRuntimeVersion: 1 |
||||||
|
gcIncremental: 0 |
||||||
|
assemblyVersionValidation: 1 |
||||||
|
gcWBarrierValidation: 0 |
||||||
|
apiCompatibilityLevelPerPlatform: {} |
||||||
|
m_RenderingPath: 1 |
||||||
|
m_MobileRenderingPath: 1 |
||||||
|
metroPackageName: Template_3D |
||||||
|
metroPackageVersion: |
||||||
|
metroCertificatePath: |
||||||
|
metroCertificatePassword: |
||||||
|
metroCertificateSubject: |
||||||
|
metroCertificateIssuer: |
||||||
|
metroCertificateNotAfter: 0000000000000000 |
||||||
|
metroApplicationDescription: Template_3D |
||||||
|
wsaImages: {} |
||||||
|
metroTileShortName: |
||||||
|
metroTileShowName: 0 |
||||||
|
metroMediumTileShowName: 0 |
||||||
|
metroLargeTileShowName: 0 |
||||||
|
metroWideTileShowName: 0 |
||||||
|
metroSupportStreamingInstall: 0 |
||||||
|
metroLastRequiredScene: 0 |
||||||
|
metroDefaultTileSize: 1 |
||||||
|
metroTileForegroundText: 2 |
||||||
|
metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0} |
||||||
|
metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, |
||||||
|
a: 1} |
||||||
|
metroSplashScreenUseBackgroundColor: 0 |
||||||
|
platformCapabilities: {} |
||||||
|
metroTargetDeviceFamilies: {} |
||||||
|
metroFTAName: |
||||||
|
metroFTAFileTypes: [] |
||||||
|
metroProtocolName: |
||||||
|
XboxOneProductId: |
||||||
|
XboxOneUpdateKey: |
||||||
|
XboxOneSandboxId: |
||||||
|
XboxOneContentId: |
||||||
|
XboxOneTitleId: |
||||||
|
XboxOneSCId: |
||||||
|
XboxOneGameOsOverridePath: |
||||||
|
XboxOnePackagingOverridePath: |
||||||
|
XboxOneAppManifestOverridePath: |
||||||
|
XboxOneVersion: 1.0.0.0 |
||||||
|
XboxOnePackageEncryption: 0 |
||||||
|
XboxOnePackageUpdateGranularity: 2 |
||||||
|
XboxOneDescription: |
||||||
|
XboxOneLanguage: |
||||||
|
- enus |
||||||
|
XboxOneCapability: [] |
||||||
|
XboxOneGameRating: {} |
||||||
|
XboxOneIsContentPackage: 0 |
||||||
|
XboxOneEnhancedXboxCompatibilityMode: 0 |
||||||
|
XboxOneEnableGPUVariability: 1 |
||||||
|
XboxOneSockets: {} |
||||||
|
XboxOneSplashScreen: {fileID: 0} |
||||||
|
XboxOneAllowedProductIds: [] |
||||||
|
XboxOnePersistentLocalStorageSize: 0 |
||||||
|
XboxOneXTitleMemory: 8 |
||||||
|
XboxOneOverrideIdentityName: |
||||||
|
XboxOneOverrideIdentityPublisher: |
||||||
|
vrEditorSettings: |
||||||
|
daydream: |
||||||
|
daydreamIconForeground: {fileID: 0} |
||||||
|
daydreamIconBackground: {fileID: 0} |
||||||
|
cloudServicesEnabled: |
||||||
|
UNet: 1 |
||||||
|
luminIcon: |
||||||
|
m_Name: |
||||||
|
m_ModelFolderPath: |
||||||
|
m_PortalFolderPath: |
||||||
|
luminCert: |
||||||
|
m_CertPath: |
||||||
|
m_SignPackage: 1 |
||||||
|
luminIsChannelApp: 0 |
||||||
|
luminVersion: |
||||||
|
m_VersionCode: 1 |
||||||
|
m_VersionName: |
||||||
|
apiCompatibilityLevel: 6 |
||||||
|
cloudProjectId: |
||||||
|
framebufferDepthMemorylessMode: 0 |
||||||
|
projectName: |
||||||
|
organizationId: |
||||||
|
cloudEnabled: 0 |
||||||
|
enableNativePlatformBackendsForNewInputSystem: 0 |
||||||
|
disableOldInputManagerSupport: 0 |
||||||
|
legacyClampBlendShapeWeights: 0 |
@ -0,0 +1,2 @@ |
|||||||
|
m_EditorVersion: 2019.4.32f1 |
||||||
|
m_EditorVersionWithRevision: 2019.4.32f1 (f88bf0bee961) |
@ -0,0 +1,232 @@ |
|||||||
|
%YAML 1.1 |
||||||
|
%TAG !u! tag:unity3d.com,2011: |
||||||
|
--- !u!47 &1 |
||||||
|
QualitySettings: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
serializedVersion: 5 |
||||||
|
m_CurrentQuality: 5 |
||||||
|
m_QualitySettings: |
||||||
|
- serializedVersion: 2 |
||||||
|
name: Very Low |
||||||
|
pixelLightCount: 0 |
||||||
|
shadows: 0 |
||||||
|
shadowResolution: 0 |
||||||
|
shadowProjection: 1 |
||||||
|
shadowCascades: 1 |
||||||
|
shadowDistance: 15 |
||||||
|
shadowNearPlaneOffset: 3 |
||||||
|
shadowCascade2Split: 0.33333334 |
||||||
|
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} |
||||||
|
shadowmaskMode: 0 |
||||||
|
blendWeights: 1 |
||||||
|
textureQuality: 1 |
||||||
|
anisotropicTextures: 0 |
||||||
|
antiAliasing: 0 |
||||||
|
softParticles: 0 |
||||||
|
softVegetation: 0 |
||||||
|
realtimeReflectionProbes: 0 |
||||||
|
billboardsFaceCameraPosition: 0 |
||||||
|
vSyncCount: 0 |
||||||
|
lodBias: 0.3 |
||||||
|
maximumLODLevel: 0 |
||||||
|
streamingMipmapsActive: 0 |
||||||
|
streamingMipmapsAddAllCameras: 1 |
||||||
|
streamingMipmapsMemoryBudget: 512 |
||||||
|
streamingMipmapsRenderersPerFrame: 512 |
||||||
|
streamingMipmapsMaxLevelReduction: 2 |
||||||
|
streamingMipmapsMaxFileIORequests: 1024 |
||||||
|
particleRaycastBudget: 4 |
||||||
|
asyncUploadTimeSlice: 2 |
||||||
|
asyncUploadBufferSize: 16 |
||||||
|
asyncUploadPersistentBuffer: 1 |
||||||
|
resolutionScalingFixedDPIFactor: 1 |
||||||
|
excludedTargetPlatforms: [] |
||||||
|
- serializedVersion: 2 |
||||||
|
name: Low |
||||||
|
pixelLightCount: 0 |
||||||
|
shadows: 0 |
||||||
|
shadowResolution: 0 |
||||||
|
shadowProjection: 1 |
||||||
|
shadowCascades: 1 |
||||||
|
shadowDistance: 20 |
||||||
|
shadowNearPlaneOffset: 3 |
||||||
|
shadowCascade2Split: 0.33333334 |
||||||
|
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} |
||||||
|
shadowmaskMode: 0 |
||||||
|
blendWeights: 2 |
||||||
|
textureQuality: 0 |
||||||
|
anisotropicTextures: 0 |
||||||
|
antiAliasing: 0 |
||||||
|
softParticles: 0 |
||||||
|
softVegetation: 0 |
||||||
|
realtimeReflectionProbes: 0 |
||||||
|
billboardsFaceCameraPosition: 0 |
||||||
|
vSyncCount: 0 |
||||||
|
lodBias: 0.4 |
||||||
|
maximumLODLevel: 0 |
||||||
|
streamingMipmapsActive: 0 |
||||||
|
streamingMipmapsAddAllCameras: 1 |
||||||
|
streamingMipmapsMemoryBudget: 512 |
||||||
|
streamingMipmapsRenderersPerFrame: 512 |
||||||
|
streamingMipmapsMaxLevelReduction: 2 |
||||||
|
streamingMipmapsMaxFileIORequests: 1024 |
||||||
|
particleRaycastBudget: 16 |
||||||
|
asyncUploadTimeSlice: 2 |
||||||
|
asyncUploadBufferSize: 16 |
||||||
|
asyncUploadPersistentBuffer: 1 |
||||||
|
resolutionScalingFixedDPIFactor: 1 |
||||||
|
excludedTargetPlatforms: [] |
||||||
|
- serializedVersion: 2 |
||||||
|
name: Medium |
||||||
|
pixelLightCount: 1 |
||||||
|
shadows: 1 |
||||||
|
shadowResolution: 0 |
||||||
|
shadowProjection: 1 |
||||||
|
shadowCascades: 1 |
||||||
|
shadowDistance: 20 |
||||||
|
shadowNearPlaneOffset: 3 |
||||||
|
shadowCascade2Split: 0.33333334 |
||||||
|
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} |
||||||
|
shadowmaskMode: 0 |
||||||
|
blendWeights: 2 |
||||||
|
textureQuality: 0 |
||||||
|
anisotropicTextures: 1 |
||||||
|
antiAliasing: 0 |
||||||
|
softParticles: 0 |
||||||
|
softVegetation: 0 |
||||||
|
realtimeReflectionProbes: 0 |
||||||
|
billboardsFaceCameraPosition: 0 |
||||||
|
vSyncCount: 1 |
||||||
|
lodBias: 0.7 |
||||||
|
maximumLODLevel: 0 |
||||||
|
streamingMipmapsActive: 0 |
||||||
|
streamingMipmapsAddAllCameras: 1 |
||||||
|
streamingMipmapsMemoryBudget: 512 |
||||||
|
streamingMipmapsRenderersPerFrame: 512 |
||||||
|
streamingMipmapsMaxLevelReduction: 2 |
||||||
|
streamingMipmapsMaxFileIORequests: 1024 |
||||||
|
particleRaycastBudget: 64 |
||||||
|
asyncUploadTimeSlice: 2 |
||||||
|
asyncUploadBufferSize: 16 |
||||||
|
asyncUploadPersistentBuffer: 1 |
||||||
|
resolutionScalingFixedDPIFactor: 1 |
||||||
|
excludedTargetPlatforms: [] |
||||||
|
- serializedVersion: 2 |
||||||
|
name: High |
||||||
|
pixelLightCount: 2 |
||||||
|
shadows: 2 |
||||||
|
shadowResolution: 1 |
||||||
|
shadowProjection: 1 |
||||||
|
shadowCascades: 2 |
||||||
|
shadowDistance: 40 |
||||||
|
shadowNearPlaneOffset: 3 |
||||||
|
shadowCascade2Split: 0.33333334 |
||||||
|
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} |
||||||
|
shadowmaskMode: 1 |
||||||
|
blendWeights: 2 |
||||||
|
textureQuality: 0 |
||||||
|
anisotropicTextures: 1 |
||||||
|
antiAliasing: 0 |
||||||
|
softParticles: 0 |
||||||
|
softVegetation: 1 |
||||||
|
realtimeReflectionProbes: 1 |
||||||
|
billboardsFaceCameraPosition: 1 |
||||||
|
vSyncCount: 1 |
||||||
|
lodBias: 1 |
||||||
|
maximumLODLevel: 0 |
||||||
|
streamingMipmapsActive: 0 |
||||||
|
streamingMipmapsAddAllCameras: 1 |
||||||
|
streamingMipmapsMemoryBudget: 512 |
||||||
|
streamingMipmapsRenderersPerFrame: 512 |
||||||
|
streamingMipmapsMaxLevelReduction: 2 |
||||||
|
streamingMipmapsMaxFileIORequests: 1024 |
||||||
|
particleRaycastBudget: 256 |
||||||
|
asyncUploadTimeSlice: 2 |
||||||
|
asyncUploadBufferSize: 16 |
||||||
|
asyncUploadPersistentBuffer: 1 |
||||||
|
resolutionScalingFixedDPIFactor: 1 |
||||||
|
excludedTargetPlatforms: [] |
||||||
|
- serializedVersion: 2 |
||||||
|
name: Very High |
||||||
|
pixelLightCount: 3 |
||||||
|
shadows: 2 |
||||||
|
shadowResolution: 2 |
||||||
|
shadowProjection: 1 |
||||||
|
shadowCascades: 2 |
||||||
|
shadowDistance: 70 |
||||||
|
shadowNearPlaneOffset: 3 |
||||||
|
shadowCascade2Split: 0.33333334 |
||||||
|
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} |
||||||
|
shadowmaskMode: 1 |
||||||
|
blendWeights: 4 |
||||||
|
textureQuality: 0 |
||||||
|
anisotropicTextures: 2 |
||||||
|
antiAliasing: 2 |
||||||
|
softParticles: 1 |
||||||
|
softVegetation: 1 |
||||||
|
realtimeReflectionProbes: 1 |
||||||
|
billboardsFaceCameraPosition: 1 |
||||||
|
vSyncCount: 1 |
||||||
|
lodBias: 1.5 |
||||||
|
maximumLODLevel: 0 |
||||||
|
streamingMipmapsActive: 0 |
||||||
|
streamingMipmapsAddAllCameras: 1 |
||||||
|
streamingMipmapsMemoryBudget: 512 |
||||||
|
streamingMipmapsRenderersPerFrame: 512 |
||||||
|
streamingMipmapsMaxLevelReduction: 2 |
||||||
|
streamingMipmapsMaxFileIORequests: 1024 |
||||||
|
particleRaycastBudget: 1024 |
||||||
|
asyncUploadTimeSlice: 2 |
||||||
|
asyncUploadBufferSize: 16 |
||||||
|
asyncUploadPersistentBuffer: 1 |
||||||
|
resolutionScalingFixedDPIFactor: 1 |
||||||
|
excludedTargetPlatforms: [] |
||||||
|
- serializedVersion: 2 |
||||||
|
name: Ultra |
||||||
|
pixelLightCount: 4 |
||||||
|
shadows: 2 |
||||||
|
shadowResolution: 2 |
||||||
|
shadowProjection: 1 |
||||||
|
shadowCascades: 4 |
||||||
|
shadowDistance: 150 |
||||||
|
shadowNearPlaneOffset: 3 |
||||||
|
shadowCascade2Split: 0.33333334 |
||||||
|
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} |
||||||
|
shadowmaskMode: 1 |
||||||
|
blendWeights: 4 |
||||||
|
textureQuality: 0 |
||||||
|
anisotropicTextures: 2 |
||||||
|
antiAliasing: 2 |
||||||
|
softParticles: 1 |
||||||
|
softVegetation: 1 |
||||||
|
realtimeReflectionProbes: 1 |
||||||
|
billboardsFaceCameraPosition: 1 |
||||||
|
vSyncCount: 1 |
||||||
|
lodBias: 2 |
||||||
|
maximumLODLevel: 0 |
||||||
|
streamingMipmapsActive: 0 |
||||||
|
streamingMipmapsAddAllCameras: 1 |
||||||
|
streamingMipmapsMemoryBudget: 512 |
||||||
|
streamingMipmapsRenderersPerFrame: 512 |
||||||
|
streamingMipmapsMaxLevelReduction: 2 |
||||||
|
streamingMipmapsMaxFileIORequests: 1024 |
||||||
|
particleRaycastBudget: 4096 |
||||||
|
asyncUploadTimeSlice: 2 |
||||||
|
asyncUploadBufferSize: 16 |
||||||
|
asyncUploadPersistentBuffer: 1 |
||||||
|
resolutionScalingFixedDPIFactor: 1 |
||||||
|
excludedTargetPlatforms: [] |
||||||
|
m_PerPlatformDefaultQuality: |
||||||
|
Android: 2 |
||||||
|
Lumin: 5 |
||||||
|
Nintendo 3DS: 5 |
||||||
|
Nintendo Switch: 5 |
||||||
|
PS4: 5 |
||||||
|
PSP2: 2 |
||||||
|
Stadia: 5 |
||||||
|
Standalone: 5 |
||||||
|
WebGL: 3 |
||||||
|
Windows Store Apps: 5 |
||||||
|
XboxOne: 5 |
||||||
|
iPhone: 2 |
||||||
|
tvOS: 2 |
@ -0,0 +1,43 @@ |
|||||||
|
%YAML 1.1 |
||||||
|
%TAG !u! tag:unity3d.com,2011: |
||||||
|
--- !u!78 &1 |
||||||
|
TagManager: |
||||||
|
serializedVersion: 2 |
||||||
|
tags: [] |
||||||
|
layers: |
||||||
|
- Default |
||||||
|
- TransparentFX |
||||||
|
- Ignore Raycast |
||||||
|
- |
||||||
|
- Water |
||||||
|
- UI |
||||||
|
- |
||||||
|
- |
||||||
|
- |
||||||
|
- |
||||||
|
- |
||||||
|
- |
||||||
|
- |
||||||
|
- |
||||||
|
- |
||||||
|
- |
||||||
|
- |
||||||
|
- |
||||||
|
- |
||||||
|
- |
||||||
|
- |
||||||
|
- |
||||||
|
- |
||||||
|
- |
||||||
|
- |
||||||
|
- |
||||||
|
- |
||||||
|
- |
||||||
|
- |
||||||
|
- |
||||||
|
- |
||||||
|
- |
||||||
|
m_SortingLayers: |
||||||
|
- name: Default |
||||||
|
uniqueID: 0 |
||||||
|
locked: 0 |
@ -0,0 +1,9 @@ |
|||||||
|
%YAML 1.1 |
||||||
|
%TAG !u! tag:unity3d.com,2011: |
||||||
|
--- !u!5 &1 |
||||||
|
TimeManager: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
Fixed Timestep: 0.02 |
||||||
|
Maximum Allowed Timestep: 0.33333334 |
||||||
|
m_TimeScale: 1 |
||||||
|
Maximum Particle Timestep: 0.03 |
@ -0,0 +1,34 @@ |
|||||||
|
%YAML 1.1 |
||||||
|
%TAG !u! tag:unity3d.com,2011: |
||||||
|
--- !u!310 &1 |
||||||
|
UnityConnectSettings: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
serializedVersion: 1 |
||||||
|
m_Enabled: 0 |
||||||
|
m_TestMode: 0 |
||||||
|
m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events |
||||||
|
m_EventUrl: https://cdp.cloud.unity3d.com/v1/events |
||||||
|
m_ConfigUrl: https://config.uca.cloud.unity3d.com |
||||||
|
m_TestInitMode: 0 |
||||||
|
CrashReportingSettings: |
||||||
|
m_EventUrl: https://perf-events.cloud.unity3d.com |
||||||
|
m_Enabled: 0 |
||||||
|
m_LogBufferSize: 10 |
||||||
|
m_CaptureEditorExceptions: 1 |
||||||
|
UnityPurchasingSettings: |
||||||
|
m_Enabled: 0 |
||||||
|
m_TestMode: 0 |
||||||
|
UnityAnalyticsSettings: |
||||||
|
m_Enabled: 0 |
||||||
|
m_TestMode: 0 |
||||||
|
m_InitializeOnStartup: 1 |
||||||
|
UnityAdsSettings: |
||||||
|
m_Enabled: 0 |
||||||
|
m_InitializeOnStartup: 1 |
||||||
|
m_TestMode: 0 |
||||||
|
m_IosGameId: |
||||||
|
m_AndroidGameId: |
||||||
|
m_GameIds: {} |
||||||
|
m_GameId: |
||||||
|
PerformanceReportingSettings: |
||||||
|
m_Enabled: 0 |
@ -0,0 +1,12 @@ |
|||||||
|
%YAML 1.1 |
||||||
|
%TAG !u! tag:unity3d.com,2011: |
||||||
|
--- !u!937362698 &1 |
||||||
|
VFXManager: |
||||||
|
m_ObjectHideFlags: 0 |
||||||
|
m_IndirectShader: {fileID: 0} |
||||||
|
m_CopyBufferShader: {fileID: 0} |
||||||
|
m_SortShader: {fileID: 0} |
||||||
|
m_StripUpdateShader: {fileID: 0} |
||||||
|
m_RenderPipeSettingsPath: |
||||||
|
m_FixedTimeStep: 0.016666668 |
||||||
|
m_MaxDeltaTime: 0.05 |
Loading…
Reference in new issue