冠臣 朱
2 years ago
51 changed files with 5953 additions and 0 deletions
@ -0,0 +1,6 @@
@@ -0,0 +1,6 @@
|
||||
{ |
||||
"version": "1.0", |
||||
"components": [ |
||||
"Microsoft.VisualStudio.Workload.ManagedGame" |
||||
] |
||||
} |
@ -0,0 +1,8 @@
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2 |
||||
guid: 73c348b1358f225418667796b0760831 |
||||
folderAsset: yes |
||||
DefaultImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
@ -0,0 +1,164 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2 |
||||
guid: 7cbcc9bebbf071246bfc36fb6af8f2c8 |
||||
folderAsset: yes |
||||
DefaultImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
@ -0,0 +1,259 @@
@@ -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 @@
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2 |
||||
guid: 9fc0d4010bbf28b4594072e72b8655ab |
||||
DefaultImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
@ -0,0 +1,8 @@
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2 |
||||
guid: 10dde57229ed2e94f83784fae0a1e113 |
||||
folderAsset: yes |
||||
DefaultImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
@ -0,0 +1,8 @@
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2 |
||||
guid: f651fcab0f26b294598b8e337f5de3b5 |
||||
folderAsset: yes |
||||
DefaultImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
@ -0,0 +1,8 @@
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2 |
||||
guid: 2252bcf4c9280f34e9623664438864cf |
||||
folderAsset: yes |
||||
DefaultImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
@ -0,0 +1,694 @@
@@ -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 @@
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2 |
||||
guid: 4e31cb352d1ee7b4f9aa1df65b8baeab |
||||
DefaultImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
@ -0,0 +1,8 @@
@@ -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 @@
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2 |
||||
guid: 27bf485803eb75f4598b17afdfac3cfa |
||||
PrefabImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
@ -0,0 +1,8 @@
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2 |
||||
guid: 6ef2d97720f937e4e9525aa1ba66e38b |
||||
folderAsset: yes |
||||
DefaultImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
@ -0,0 +1,8 @@
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2 |
||||
guid: 6175f27812bd6b446b1ad0a1d7806664 |
||||
folderAsset: yes |
||||
DefaultImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
@ -0,0 +1,925 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2 |
||||
guid: 4db42e767b922954fb59805878b4fc61 |
||||
folderAsset: yes |
||||
DefaultImporter: |
||||
externalObjects: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
@ -0,0 +1,104 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -0,0 +1,2 @@
|
||||
m_EditorVersion: 2019.4.32f1 |
||||
m_EditorVersionWithRevision: 2019.4.32f1 (f88bf0bee961) |
@ -0,0 +1,232 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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