层级改动
This commit is contained in:
@@ -1,31 +0,0 @@
|
||||
using UnityEngine;
|
||||
using UnityEditor;
|
||||
|
||||
[CustomEditor(typeof(MeshRenderer))]
|
||||
public class MeshRendererEditor : Editor
|
||||
{
|
||||
MeshRenderer _meshRenderer;
|
||||
|
||||
public override void OnInspectorGUI()
|
||||
{
|
||||
base.OnInspectorGUI();
|
||||
_meshRenderer = target as MeshRenderer;
|
||||
|
||||
string[] layerNames = new string[SortingLayer.layers.Length];
|
||||
for (int i = 0; i < SortingLayer.layers.Length; i++)
|
||||
layerNames[i] = SortingLayer.layers[i].name;
|
||||
|
||||
if (_meshRenderer)
|
||||
{
|
||||
int layerValue = SortingLayer.GetLayerValueFromID(_meshRenderer.sortingLayerID);
|
||||
layerValue = EditorGUILayout.Popup("Sorting Layer", layerValue, layerNames);
|
||||
|
||||
SortingLayer layer = SortingLayer.layers[layerValue];
|
||||
_meshRenderer.sortingLayerName = layer.name;
|
||||
_meshRenderer.sortingLayerID = layer.id;
|
||||
}
|
||||
|
||||
if (_meshRenderer)
|
||||
_meshRenderer.sortingOrder = EditorGUILayout.IntField("Order in Layer", _meshRenderer.sortingOrder);
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0fefa37d226261843b407d6aa323b50c
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,36 +1,5 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &36175312043330583
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 5277063154894584366}
|
||||
m_Layer: 0
|
||||
m_Name: Slider End Pos
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &5277063154894584366
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 36175312043330583}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 1.189, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 4104221955179004643}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &250470736151292147
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -58,7 +27,7 @@ Transform:
|
||||
m_GameObject: {fileID: 250470736151292147}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -0.968, y: -0.039, z: 0}
|
||||
m_LocalPosition: {x: -0.906, y: -0.005, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 1
|
||||
m_Children: []
|
||||
@@ -102,9 +71,9 @@ SpriteRenderer:
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 7
|
||||
m_SortingLayerID: 1134468525
|
||||
m_SortingLayer: 10
|
||||
m_SortingOrder: 46
|
||||
m_Sprite: {fileID: 9131045294461249809, guid: 6de0a74e5b5268b4998dc7a5c687fb95, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
@@ -128,37 +97,6 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 14ffdfdc63be167489dc01c0b661c1ac, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &272762001464120651
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1206616263596364393}
|
||||
m_Layer: 0
|
||||
m_Name: Slider Start Pos
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1206616263596364393
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 272762001464120651}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -1.253, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 4104221955179004643}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &555303476111083303
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -260,9 +198,9 @@ SpriteRenderer:
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 6
|
||||
m_SortingLayerID: 1134468525
|
||||
m_SortingLayer: 10
|
||||
m_SortingOrder: 41
|
||||
m_Sprite: {fileID: 8948488549379113049, guid: 6de0a74e5b5268b4998dc7a5c687fb95, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
@@ -285,6 +223,7 @@ GameObject:
|
||||
- component: {fileID: 941258489101652745}
|
||||
- component: {fileID: 6585283602806306458}
|
||||
- component: {fileID: 8018812604295769256}
|
||||
- component: {fileID: 968197424495524830}
|
||||
m_Layer: 0
|
||||
m_Name: Screen State Text
|
||||
m_TagString: Untagged
|
||||
@@ -445,6 +384,18 @@ MonoBehaviour:
|
||||
m_hasFontAssetChanged: 0
|
||||
m_renderer: {fileID: 6585283602806306458}
|
||||
m_maskType: 0
|
||||
--- !u!210 &968197424495524830
|
||||
SortingGroup:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1185279996564305555}
|
||||
m_Enabled: 1
|
||||
m_SortingLayerID: 1134468525
|
||||
m_SortingLayer: 10
|
||||
m_SortingOrder: 44
|
||||
m_SortAtRoot: 0
|
||||
--- !u!1 &2195061089379433005
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -472,7 +423,7 @@ Transform:
|
||||
m_GameObject: {fileID: 2195061089379433005}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 5.11, y: -1.2, z: 0}
|
||||
m_LocalPosition: {x: 5.17, y: -1.08, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
@@ -520,9 +471,9 @@ SpriteRenderer:
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 6
|
||||
m_SortingLayerID: 1134468525
|
||||
m_SortingLayer: 10
|
||||
m_SortingOrder: 45
|
||||
m_Sprite: {fileID: 2633204686855763081, guid: 6de0a74e5b5268b4998dc7a5c687fb95, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
@@ -654,7 +605,7 @@ LineRenderer:
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 959782197
|
||||
m_SortingLayer: 7
|
||||
m_SortingOrder: 18
|
||||
m_SortingOrder: 48
|
||||
m_Positions:
|
||||
- {x: 0, y: 0, z: 0}
|
||||
m_Parameters:
|
||||
@@ -793,7 +744,6 @@ MonoBehaviour:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
inHotErr: 0
|
||||
curBodyModule: {fileID: 0}
|
||||
plugSnappingRange: 1
|
||||
--- !u!1 &4168341163486249011
|
||||
GameObject:
|
||||
@@ -866,9 +816,9 @@ SpriteRenderer:
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 7
|
||||
m_SortingLayerID: 1134468525
|
||||
m_SortingLayer: 10
|
||||
m_SortingOrder: 42
|
||||
m_Sprite: {fileID: -6727903557589621696, guid: 6de0a74e5b5268b4998dc7a5c687fb95, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
@@ -939,6 +889,7 @@ GameObject:
|
||||
- component: {fileID: 2870369163424543406}
|
||||
- component: {fileID: 2214076721576525339}
|
||||
- component: {fileID: 2636122769858889551}
|
||||
- component: {fileID: 1459441748522841980}
|
||||
m_Layer: 0
|
||||
m_Name: Screen Text
|
||||
m_TagString: Untagged
|
||||
@@ -1003,8 +954,8 @@ MeshRenderer:
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingLayerID: 1560193523
|
||||
m_SortingLayer: -1
|
||||
m_SortingOrder: 9
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!114 &2214076721576525339
|
||||
@@ -1130,6 +1081,18 @@ MonoBehaviour:
|
||||
- fade
|
||||
defaultBehaviorsTags: []
|
||||
defaultTagsMode: 0
|
||||
--- !u!210 &1459441748522841980
|
||||
SortingGroup:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4445889917739518717}
|
||||
m_Enabled: 1
|
||||
m_SortingLayerID: 1134468525
|
||||
m_SortingLayer: 10
|
||||
m_SortingOrder: 44
|
||||
m_SortAtRoot: 0
|
||||
--- !u!1 &4506016349594869936
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1163,10 +1126,7 @@ Transform:
|
||||
- {fileID: 3246368193597899017}
|
||||
- {fileID: 941258489101652745}
|
||||
- {fileID: 4288418280737841728}
|
||||
- {fileID: 627677622179420294}
|
||||
- {fileID: 1739742130989124874}
|
||||
- {fileID: 8414033730483262861}
|
||||
- {fileID: 4104221955179004643}
|
||||
- {fileID: 1369475798980233471}
|
||||
m_Father: {fileID: 3722350651361937496}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
@@ -1258,9 +1218,9 @@ SpriteRenderer:
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 17
|
||||
m_SortingLayerID: 1134468525
|
||||
m_SortingLayer: 10
|
||||
m_SortingOrder: 47
|
||||
m_Sprite: {fileID: 21300000, guid: 6f1e19b22a956634b86a43a0ee4ae6f6, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
@@ -1319,106 +1279,6 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: eceaf3bcec07439d8391175331323e3c, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &5163642661978616993
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4104221955179004643}
|
||||
- component: {fileID: 425632149683529359}
|
||||
- component: {fileID: 5709227955478743373}
|
||||
m_Layer: 0
|
||||
m_Name: Wave Slider
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
--- !u!4 &4104221955179004643
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5163642661978616993}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -0.0617, y: -1.578, z: 0}
|
||||
m_LocalScale: {x: 1.265, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 5833248722485884860}
|
||||
- {fileID: 1206616263596364393}
|
||||
- {fileID: 5277063154894584366}
|
||||
m_Father: {fileID: 8746206145565055040}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!212 &425632149683529359
|
||||
SpriteRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5163642661978616993}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 0
|
||||
m_ReceiveShadows: 0
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 0
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 0
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 5
|
||||
m_Sprite: {fileID: 2507139957111385121, guid: 6de0a74e5b5268b4998dc7a5c687fb95, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
m_FlipY: 0
|
||||
m_DrawMode: 0
|
||||
m_Size: {x: 2.9, y: 0.555}
|
||||
m_AdaptiveModeThreshold: 0.5
|
||||
m_SpriteTileMode: 0
|
||||
m_WasSpriteAssigned: 1
|
||||
m_MaskInteraction: 0
|
||||
m_SpriteSortPoint: 0
|
||||
--- !u!114 &5709227955478743373
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5163642661978616993}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5c6494bd9d5943cf8e875ae582481cf1, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &5242786820683991507
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1430,6 +1290,7 @@ GameObject:
|
||||
- component: {fileID: 3167604532051452043}
|
||||
- component: {fileID: 5887510741363035815}
|
||||
- component: {fileID: 7634460280816645344}
|
||||
- component: {fileID: 1443347698268153662}
|
||||
m_Layer: 0
|
||||
m_Name: 'Button Text '
|
||||
m_TagString: Untagged
|
||||
@@ -1590,285 +1451,18 @@ MonoBehaviour:
|
||||
m_hasFontAssetChanged: 0
|
||||
m_renderer: {fileID: 5887510741363035815}
|
||||
m_maskType: 0
|
||||
--- !u!1 &6924243460700054318
|
||||
GameObject:
|
||||
--- !u!210 &1443347698268153662
|
||||
SortingGroup:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 5833248722485884860}
|
||||
- component: {fileID: 8672054896928051085}
|
||||
- component: {fileID: 4237597447271825631}
|
||||
m_Layer: 0
|
||||
m_Name: Sliding Block
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &5833248722485884860
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6924243460700054318}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -1.2529999, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1.0000001, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 4104221955179004643}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!212 &8672054896928051085
|
||||
SpriteRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6924243460700054318}
|
||||
m_GameObject: {fileID: 5242786820683991507}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 0
|
||||
m_ReceiveShadows: 0
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 0
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 0
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 6
|
||||
m_Sprite: {fileID: 949254551526614629, guid: 6de0a74e5b5268b4998dc7a5c687fb95, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
m_FlipY: 0
|
||||
m_DrawMode: 0
|
||||
m_Size: {x: 0.135, y: 0.36}
|
||||
m_AdaptiveModeThreshold: 0.5
|
||||
m_SpriteTileMode: 0
|
||||
m_WasSpriteAssigned: 1
|
||||
m_MaskInteraction: 0
|
||||
m_SpriteSortPoint: 0
|
||||
--- !u!61 &4237597447271825631
|
||||
BoxCollider2D:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6924243460700054318}
|
||||
m_Enabled: 1
|
||||
m_Density: 1
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_ForceSendLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_ForceReceiveLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_ContactCaptureLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_CallbackLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_IsTrigger: 0
|
||||
m_UsedByEffector: 0
|
||||
m_UsedByComposite: 0
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_SpriteTilingProperty:
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
pivot: {x: 0.5, y: 0.5}
|
||||
oldSize: {x: 0.135, y: 0.36}
|
||||
newSize: {x: 0.135, y: 0.36}
|
||||
adaptiveTilingThreshold: 0.5
|
||||
drawMode: 0
|
||||
adaptiveTiling: 0
|
||||
m_AutoTiling: 0
|
||||
serializedVersion: 2
|
||||
m_Size: {x: 0.135, y: 0.36}
|
||||
m_EdgeRadius: 0
|
||||
--- !u!1 &7173675252066279869
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 627677622179420294}
|
||||
- component: {fileID: 6086545460829595107}
|
||||
- component: {fileID: 7042088776976581047}
|
||||
m_Layer: 0
|
||||
m_Name: Scan Line
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &627677622179420294
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7173675252066279869}
|
||||
serializedVersion: 2
|
||||
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_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8746206145565055040}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!120 &6086545460829595107
|
||||
LineRenderer:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7173675252066279869}
|
||||
m_Enabled: 0
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 0
|
||||
m_LightProbeUsage: 0
|
||||
m_ReflectionProbeUsage: 0
|
||||
m_RayTracingMode: 0
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 51099a9679b002c46b76c25f9ac139e3, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 6
|
||||
m_Positions:
|
||||
- {x: 0, y: 1.25, z: 0}
|
||||
- {x: 0, y: -1.15, z: 0}
|
||||
m_Parameters:
|
||||
serializedVersion: 3
|
||||
widthMultiplier: 2
|
||||
widthCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0.052879333
|
||||
value: 0.019999973
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
colorGradient:
|
||||
serializedVersion: 2
|
||||
key0: {r: 1, g: 1, b: 1, a: 1}
|
||||
key1: {r: 1, g: 1, b: 1, a: 1}
|
||||
key2: {r: 0, g: 0, b: 0, a: 0}
|
||||
key3: {r: 0, g: 0, b: 0, a: 0}
|
||||
key4: {r: 0, g: 0, b: 0, a: 0}
|
||||
key5: {r: 0, g: 0, b: 0, a: 0}
|
||||
key6: {r: 0, g: 0, b: 0, a: 0}
|
||||
key7: {r: 0, g: 0, b: 0, a: 0}
|
||||
ctime0: 0
|
||||
ctime1: 65535
|
||||
ctime2: 0
|
||||
ctime3: 0
|
||||
ctime4: 0
|
||||
ctime5: 0
|
||||
ctime6: 0
|
||||
ctime7: 0
|
||||
atime0: 0
|
||||
atime1: 65535
|
||||
atime2: 0
|
||||
atime3: 0
|
||||
atime4: 0
|
||||
atime5: 0
|
||||
atime6: 0
|
||||
atime7: 0
|
||||
m_Mode: 0
|
||||
m_ColorSpace: -1
|
||||
m_NumColorKeys: 2
|
||||
m_NumAlphaKeys: 2
|
||||
numCornerVertices: 1
|
||||
numCapVertices: 1
|
||||
alignment: 0
|
||||
textureMode: 0
|
||||
textureScale: {x: 1, y: 1}
|
||||
shadowBias: 0.5
|
||||
generateLightingData: 0
|
||||
m_MaskInteraction: 2
|
||||
m_UseWorldSpace: 0
|
||||
m_Loop: 0
|
||||
m_ApplyActiveColorSpace: 1
|
||||
--- !u!114 &7042088776976581047
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7173675252066279869}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d539f4fdddef410c9df21320f69fe38f, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_SortingLayerID: 1134468525
|
||||
m_SortingLayer: 10
|
||||
m_SortingOrder: 42
|
||||
m_SortAtRoot: 0
|
||||
--- !u!1 &8134912130971034244
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1941,9 +1535,9 @@ SpriteRenderer:
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 5
|
||||
m_SortingLayerID: 1134468525
|
||||
m_SortingLayer: 10
|
||||
m_SortingOrder: 41
|
||||
m_Sprite: {fileID: -1437180882204714391, guid: 6de0a74e5b5268b4998dc7a5c687fb95, type: 3}
|
||||
m_Color: {r: 0.4056604, g: 0.10868635, b: 0.10868635, a: 1}
|
||||
m_FlipX: 0
|
||||
@@ -1991,7 +1585,7 @@ BoxCollider2D:
|
||||
m_SpriteTilingProperty:
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
pivot: {x: 0.5, y: 0.5}
|
||||
oldSize: {x: 0.805, y: 0.56}
|
||||
oldSize: {x: 0.74883723, y: 0.52093023}
|
||||
newSize: {x: 0.805, y: 0.56}
|
||||
adaptiveTilingThreshold: 0.5
|
||||
drawMode: 0
|
||||
@@ -2000,164 +1594,3 @@ BoxCollider2D:
|
||||
serializedVersion: 2
|
||||
m_Size: {x: 0.805, y: 0.56}
|
||||
m_EdgeRadius: 0
|
||||
--- !u!1 &8570116892106732651
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1739742130989124874}
|
||||
- component: {fileID: 3016446678720790777}
|
||||
- component: {fileID: 9180517844294617517}
|
||||
m_Layer: 0
|
||||
m_Name: Waveform Visualizer
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1739742130989124874
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8570116892106732651}
|
||||
serializedVersion: 2
|
||||
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_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8746206145565055040}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!120 &3016446678720790777
|
||||
LineRenderer:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8570116892106732651}
|
||||
m_Enabled: 0
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 0
|
||||
m_LightProbeUsage: 0
|
||||
m_ReflectionProbeUsage: 0
|
||||
m_RayTracingMode: 0
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 51099a9679b002c46b76c25f9ac139e3, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 7
|
||||
m_Positions:
|
||||
- {x: 0, y: 0, z: 0}
|
||||
- {x: 0, y: 1.2, z: 0}
|
||||
m_Parameters:
|
||||
serializedVersion: 3
|
||||
widthMultiplier: 0.5
|
||||
widthCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0.052879333
|
||||
value: 0.019999973
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
colorGradient:
|
||||
serializedVersion: 2
|
||||
key0: {r: 1, g: 1, b: 1, a: 1}
|
||||
key1: {r: 1, g: 1, b: 1, a: 1}
|
||||
key2: {r: 0, g: 0, b: 0, a: 0}
|
||||
key3: {r: 0, g: 0, b: 0, a: 0}
|
||||
key4: {r: 0, g: 0, b: 0, a: 0}
|
||||
key5: {r: 0, g: 0, b: 0, a: 0}
|
||||
key6: {r: 0, g: 0, b: 0, a: 0}
|
||||
key7: {r: 0, g: 0, b: 0, a: 0}
|
||||
ctime0: 0
|
||||
ctime1: 65535
|
||||
ctime2: 0
|
||||
ctime3: 0
|
||||
ctime4: 0
|
||||
ctime5: 0
|
||||
ctime6: 0
|
||||
ctime7: 0
|
||||
atime0: 0
|
||||
atime1: 65535
|
||||
atime2: 0
|
||||
atime3: 0
|
||||
atime4: 0
|
||||
atime5: 0
|
||||
atime6: 0
|
||||
atime7: 0
|
||||
m_Mode: 0
|
||||
m_ColorSpace: -1
|
||||
m_NumColorKeys: 2
|
||||
m_NumAlphaKeys: 2
|
||||
numCornerVertices: 1
|
||||
numCapVertices: 1
|
||||
alignment: 0
|
||||
textureMode: 0
|
||||
textureScale: {x: 1, y: 1}
|
||||
shadowBias: 0.5
|
||||
generateLightingData: 0
|
||||
m_MaskInteraction: 2
|
||||
m_UseWorldSpace: 0
|
||||
m_Loop: 0
|
||||
m_ApplyActiveColorSpace: 1
|
||||
--- !u!114 &9180517844294617517
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8570116892106732651}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fd4bf97f1c7d4f559fe7ce23a64bff87, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
config:
|
||||
samples: 1024
|
||||
amplitude: 0.48
|
||||
spikeRange: 20
|
||||
spatialFrequency: 1
|
||||
temporalFrequency: 0.1
|
||||
targetWaveformNoiseAmplitude: 0.1
|
||||
noiseAmplitude: 0.2
|
||||
noiseColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||
clearColor: {r: 0, g: 1, b: 0, a: 1}
|
||||
hotColor: {r: 1, g: 0, b: 0, a: 1}
|
||||
waveformType: 0
|
||||
|
||||
@@ -70,9 +70,9 @@ SpriteRenderer:
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 6
|
||||
m_SortingLayerID: 1134468525
|
||||
m_SortingLayer: 10
|
||||
m_SortingOrder: 40
|
||||
m_Sprite: {fileID: 1270100964141770735, guid: 149a798e8f987264f82beb4f4052eb5e, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
@@ -130,7 +130,7 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 485fe5a69106f8146a3ef9ca070f306d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_socketPos: {fileID: 0}
|
||||
socketPos: {fileID: 0}
|
||||
data:
|
||||
moduleName:
|
||||
modulePicPath:
|
||||
@@ -142,13 +142,6 @@ MonoBehaviour:
|
||||
x: 0
|
||||
y: 0
|
||||
z: 0
|
||||
indicatorPos:
|
||||
x: 0
|
||||
y: 0
|
||||
z: 0
|
||||
waveformType: 0
|
||||
waveHasError: 0
|
||||
ignoreWaveCheck: 0
|
||||
cantStopRunning: 0
|
||||
--- !u!1 &7933871335801960612
|
||||
GameObject:
|
||||
@@ -220,9 +213,9 @@ SpriteRenderer:
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 4
|
||||
m_SortingLayerID: 1134468525
|
||||
m_SortingLayer: 10
|
||||
m_SortingOrder: 10
|
||||
m_Sprite: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
|
||||
@@ -72,10 +72,10 @@ SpriteRenderer:
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 6
|
||||
m_Sprite: {fileID: 21300000, guid: eccbf2467d281894bafba3ef467f0875, type: 3}
|
||||
m_SortingLayerID: 1134468525
|
||||
m_SortingLayer: 10
|
||||
m_SortingOrder: 14
|
||||
m_Sprite: {fileID: -7579553090295930101, guid: 149a798e8f987264f82beb4f4052eb5e, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
m_FlipY: 0
|
||||
@@ -136,4 +136,7 @@ MonoBehaviour:
|
||||
radius: 0
|
||||
gearSprite: {fileID: 0}
|
||||
isBroken: 0
|
||||
isDisc: 0
|
||||
isConstant: 0
|
||||
speed: 0
|
||||
targetShaft: {fileID: 0}
|
||||
|
||||
@@ -71,9 +71,9 @@ SpriteRenderer:
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 5
|
||||
m_SortingLayerID: 1134468525
|
||||
m_SortingLayer: 10
|
||||
m_SortingOrder: 13
|
||||
m_Sprite: {fileID: -5530534795728576300, guid: 6de0a74e5b5268b4998dc7a5c687fb95, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
@@ -104,8 +104,8 @@ MonoBehaviour:
|
||||
isInitGearDisc: 0
|
||||
initRadius: 0
|
||||
initSprite: {fileID: 0}
|
||||
discIdx: 0
|
||||
childGear: {fileID: 0}
|
||||
initialSpeed: 0
|
||||
targetSpeed: 0
|
||||
speed: 0
|
||||
speedMultiplier: 1
|
||||
|
||||
+5204
-451
File diff suppressed because it is too large
Load Diff
+1149
-1169
File diff suppressed because it is too large
Load Diff
@@ -202,8 +202,8 @@ SpriteRenderer:
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingLayerID: 1134468525
|
||||
m_SortingLayer: 10
|
||||
m_SortingOrder: 2
|
||||
m_Sprite: {fileID: -7225398128162734699, guid: fd04c28739017964789d58d573f9fabb, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
@@ -3787,7 +3787,7 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 485fe5a69106f8146a3ef9ca070f306d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_socketPos: {fileID: 210414636}
|
||||
socketPos: {fileID: 0}
|
||||
data:
|
||||
moduleName: Color
|
||||
modulePicPath: "Art/Fix/Peipei/\u5927\u8111\u7EF4\u4FEE\u7EC6\u5316\u5BFC\u51FAnew/\u8272\u89C9"
|
||||
@@ -3799,13 +3799,6 @@ MonoBehaviour:
|
||||
x: -0.003
|
||||
y: -0.744
|
||||
z: 0
|
||||
indicatorPos:
|
||||
x: 0
|
||||
y: 0
|
||||
z: 0
|
||||
waveformType: 0
|
||||
waveHasError: 0
|
||||
ignoreWaveCheck: 0
|
||||
cantStopRunning: 0
|
||||
--- !u!1 &171926891
|
||||
GameObject:
|
||||
@@ -6230,7 +6223,7 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 485fe5a69106f8146a3ef9ca070f306d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_socketPos: {fileID: 1616369506}
|
||||
socketPos: {fileID: 0}
|
||||
data:
|
||||
moduleName: Eye
|
||||
modulePicPath: "Art/Fix/Peipei/\u5927\u8111\u7EF4\u4FEE\u7EC6\u5316\u5BFC\u51FAnew/\u53F3\u773C"
|
||||
@@ -6242,13 +6235,6 @@ MonoBehaviour:
|
||||
x: -0.879
|
||||
y: -0.57
|
||||
z: 0
|
||||
indicatorPos:
|
||||
x: 0
|
||||
y: 0
|
||||
z: 0
|
||||
waveformType: 1
|
||||
waveHasError: 1
|
||||
ignoreWaveCheck: 0
|
||||
cantStopRunning: 0
|
||||
--- !u!1 &236862861
|
||||
GameObject:
|
||||
@@ -7957,9 +7943,9 @@ SpriteRenderer:
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 4
|
||||
m_SortingLayerID: 1134468525
|
||||
m_SortingLayer: 10
|
||||
m_SortingOrder: 40
|
||||
m_Sprite: {fileID: -6697397389460088483, guid: 6de0a74e5b5268b4998dc7a5c687fb95, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
@@ -12864,7 +12850,7 @@ GameObject:
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!114 &659675442
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -13432,7 +13418,7 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 485fe5a69106f8146a3ef9ca070f306d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_socketPos: {fileID: 53832471}
|
||||
socketPos: {fileID: 0}
|
||||
data:
|
||||
moduleName: Logic
|
||||
modulePicPath: "Art/Fix/Peipei/\u5927\u8111\u7EF4\u4FEE\u7EC6\u5316\u5BFC\u51FAnew/\u601D\u7EF4\u6A21\u5757"
|
||||
@@ -13444,13 +13430,6 @@ MonoBehaviour:
|
||||
x: 0.005
|
||||
y: -0.011
|
||||
z: 0
|
||||
indicatorPos:
|
||||
x: 0
|
||||
y: 0
|
||||
z: 0
|
||||
waveformType: 2
|
||||
waveHasError: 0
|
||||
ignoreWaveCheck: 0
|
||||
cantStopRunning: 0
|
||||
--- !u!1 &696533769
|
||||
GameObject:
|
||||
@@ -15729,6 +15708,10 @@ PrefabInstance:
|
||||
propertyPath: m_Name
|
||||
value: "\u5927\u8111\u7EF4\u4FEE\u7EC6\u5316\u5BFC\u51FAnew (1)"
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8653719598885068355, guid: fd04c28739017964789d58d573f9fabb, type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8211477621981062317, guid: fd04c28739017964789d58d573f9fabb, type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 0
|
||||
@@ -16439,7 +16422,7 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 485fe5a69106f8146a3ef9ca070f306d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_socketPos: {fileID: 2065708031}
|
||||
socketPos: {fileID: 0}
|
||||
data:
|
||||
moduleName: Memory
|
||||
modulePicPath: "Art/Fix/Peipei/\u5927\u8111\u7EF4\u4FEE\u7EC6\u5316\u5BFC\u51FAnew/\u8BB0\u5FC6\u6A21\u5757"
|
||||
@@ -16451,13 +16434,6 @@ MonoBehaviour:
|
||||
x: 0.092
|
||||
y: 0.017
|
||||
z: 0
|
||||
indicatorPos:
|
||||
x: 0
|
||||
y: 0
|
||||
z: 0
|
||||
waveformType: 0
|
||||
waveHasError: 0
|
||||
ignoreWaveCheck: 1
|
||||
cantStopRunning: 0
|
||||
--- !u!1 &893682037
|
||||
GameObject:
|
||||
@@ -18808,8 +18784,8 @@ SpriteRenderer:
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingLayerID: 1134468525
|
||||
m_SortingLayer: 10
|
||||
m_SortingOrder: 0
|
||||
m_Sprite: {fileID: -3514371587045790464, guid: fd04c28739017964789d58d573f9fabb, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
@@ -23544,8 +23520,8 @@ SpriteRenderer:
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingLayerID: 1134468525
|
||||
m_SortingLayer: 10
|
||||
m_SortingOrder: 1
|
||||
m_Sprite: {fileID: 6183529815875399391, guid: fd04c28739017964789d58d573f9fabb, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
@@ -25275,8 +25251,8 @@ SpriteRenderer:
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingLayerID: 1134468525
|
||||
m_SortingLayer: 10
|
||||
m_SortingOrder: 0
|
||||
m_Sprite: {fileID: -3514371587045790464, guid: fd04c28739017964789d58d573f9fabb, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
@@ -32868,7 +32844,7 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 485fe5a69106f8146a3ef9ca070f306d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_socketPos: {fileID: 633823202}
|
||||
socketPos: {fileID: 0}
|
||||
data:
|
||||
moduleName: UF
|
||||
modulePicPath: "Art/Fix/Peipei/\u5927\u8111\u7EF4\u4FEE\u7EC6\u5316\u5BFC\u51FAnew/UF\u5E95\u677F"
|
||||
@@ -32880,13 +32856,6 @@ MonoBehaviour:
|
||||
x: -0.243
|
||||
y: 0.148
|
||||
z: 0
|
||||
indicatorPos:
|
||||
x: 0
|
||||
y: 0
|
||||
z: 0
|
||||
waveformType: 2
|
||||
waveHasError: 1
|
||||
ignoreWaveCheck: 0
|
||||
cantStopRunning: 0
|
||||
--- !u!1 &1823778683
|
||||
GameObject:
|
||||
@@ -34049,7 +34018,7 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 485fe5a69106f8146a3ef9ca070f306d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_socketPos: {fileID: 1209549275}
|
||||
socketPos: {fileID: 0}
|
||||
data:
|
||||
moduleName: Emo
|
||||
modulePicPath: "Art/Fix/Peipei/\u5927\u8111\u7EF4\u4FEE\u7EC6\u5316\u5BFC\u51FAnew/\u60C5\u7EEA\u6A21\u5757"
|
||||
@@ -34061,13 +34030,6 @@ MonoBehaviour:
|
||||
x: 0.005
|
||||
y: -0.011
|
||||
z: 0
|
||||
indicatorPos:
|
||||
x: 0
|
||||
y: 0
|
||||
z: 0
|
||||
waveformType: 1
|
||||
waveHasError: 0
|
||||
ignoreWaveCheck: 0
|
||||
cantStopRunning: 0
|
||||
--- !u!1001 &1938151785
|
||||
PrefabInstance:
|
||||
@@ -35969,9 +35931,9 @@ SpriteRenderer:
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 4
|
||||
m_SortingLayerID: 1134468525
|
||||
m_SortingLayer: 10
|
||||
m_SortingOrder: 40
|
||||
m_Sprite: {fileID: -5309117149757345723, guid: fd04c28739017964789d58d573f9fabb, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
@@ -36560,7 +36522,7 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 485fe5a69106f8146a3ef9ca070f306d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_socketPos: {fileID: 1217899892}
|
||||
socketPos: {fileID: 0}
|
||||
data:
|
||||
moduleName: Speak
|
||||
modulePicPath: "Art/Fix/Peipei/\u5927\u8111\u7EF4\u4FEE\u7EC6\u5316\u5BFC\u51FAnew/\u8BB2\u8BDD\u6A21\u5757"
|
||||
@@ -36572,13 +36534,6 @@ MonoBehaviour:
|
||||
x: 0.005
|
||||
y: -0.011
|
||||
z: 0
|
||||
indicatorPos:
|
||||
x: 0
|
||||
y: 0
|
||||
z: 0
|
||||
waveformType: 1
|
||||
waveHasError: 0
|
||||
ignoreWaveCheck: 0
|
||||
cantStopRunning: 0
|
||||
--- !u!1 &2088818326
|
||||
GameObject:
|
||||
@@ -39782,10 +39737,6 @@ PrefabInstance:
|
||||
propertyPath: m_IsActive
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2511148540085322114, guid: 92aec29b557d59a4ca5363aadd06c7bb, type: 3}
|
||||
propertyPath: m_SortingOrder
|
||||
value: 9
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2836269877971731102, guid: 92aec29b557d59a4ca5363aadd06c7bb, type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 1
|
||||
@@ -39818,14 +39769,6 @@ PrefabInstance:
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0.028
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3416573656669102897, guid: 92aec29b557d59a4ca5363aadd06c7bb, type: 3}
|
||||
propertyPath: m_Sprite
|
||||
value:
|
||||
objectReference: {fileID: 2633204686855763081, guid: 6de0a74e5b5268b4998dc7a5c687fb95, type: 3}
|
||||
- target: {fileID: 3416573656669102897, guid: 92aec29b557d59a4ca5363aadd06c7bb, type: 3}
|
||||
propertyPath: m_SortingOrder
|
||||
value: 6
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3683723466005475074, guid: 92aec29b557d59a4ca5363aadd06c7bb, type: 3}
|
||||
propertyPath: m_SortingOrder
|
||||
value: 6
|
||||
@@ -39942,18 +39885,6 @@ PrefabInstance:
|
||||
propertyPath: oscilloscopeSystem
|
||||
value:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4878312366005375122, guid: 92aec29b557d59a4ca5363aadd06c7bb, type: 3}
|
||||
propertyPath: m_SortingLayer
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4878312366005375122, guid: 92aec29b557d59a4ca5363aadd06c7bb, type: 3}
|
||||
propertyPath: m_SortingOrder
|
||||
value: 18
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4878312366005375122, guid: 92aec29b557d59a4ca5363aadd06c7bb, type: 3}
|
||||
propertyPath: m_SortingLayerID
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4911887232694427234, guid: 92aec29b557d59a4ca5363aadd06c7bb, type: 3}
|
||||
propertyPath: m_SortingOrder
|
||||
value: 7
|
||||
@@ -39966,14 +39897,6 @@ PrefabInstance:
|
||||
propertyPath: m_IsActive
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6082121327913310545, guid: 92aec29b557d59a4ca5363aadd06c7bb, type: 3}
|
||||
propertyPath: m_Sprite
|
||||
value:
|
||||
objectReference: {fileID: 3822937466802405960, guid: fd04c28739017964789d58d573f9fabb, type: 3}
|
||||
- target: {fileID: 6082121327913310545, guid: 92aec29b557d59a4ca5363aadd06c7bb, type: 3}
|
||||
propertyPath: m_SortingOrder
|
||||
value: 7
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6859584686065715399, guid: 92aec29b557d59a4ca5363aadd06c7bb, type: 3}
|
||||
propertyPath: m_text
|
||||
value: "\u6DF1\u5165\u68C0\u67E5"
|
||||
|
||||
@@ -11,21 +11,20 @@ namespace AibisDream.FixSystem
|
||||
|
||||
private const string SocketObjName = "Socket";
|
||||
private const string ModulePicName = "Module Pic";
|
||||
private const string IndicatorName = "Indicator";
|
||||
public Transform _socketPos;
|
||||
public Transform socketPos;
|
||||
// public Transform _indicatorPos;
|
||||
private BodyModuleSystem _bodyModuleSystem;
|
||||
private Material highlightMaterial;
|
||||
private Material alarmMaterial;
|
||||
private Material originalMaterial; // 原材质
|
||||
private Material _highlightMaterial;
|
||||
private Material _alarmMaterial;
|
||||
private Material _originalMaterial; // 原材质
|
||||
|
||||
private SpriteRenderer targetSpriteRenderer; // 目标的 SpriteRenderer
|
||||
private SpriteRenderer _targetSpriteRenderer; // 目标的 SpriteRenderer
|
||||
|
||||
#endregion
|
||||
|
||||
// 模块基本数据
|
||||
[SerializeField] public BodyModuleData data;
|
||||
private bool available = true;
|
||||
private bool _available = true;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
@@ -34,28 +33,26 @@ namespace AibisDream.FixSystem
|
||||
}
|
||||
private void InitReference()
|
||||
{
|
||||
_socketPos = transform.Find(SocketObjName);
|
||||
socketPos = transform.Find(SocketObjName);
|
||||
_bodyModuleSystem = transform.parent.parent.GetComponent<BodyModuleSystem>();
|
||||
|
||||
targetSpriteRenderer=transform.Find("Module Pic").GetComponent<SpriteRenderer>();
|
||||
originalMaterial = targetSpriteRenderer.GetComponent<SpriteRenderer>().material;
|
||||
highlightMaterial = Resources.Load<Material>("Materials/HighlightMaterial");
|
||||
alarmMaterial=Resources.Load<Material>("Materials/AlarmMaterial");
|
||||
_targetSpriteRenderer=transform.Find("Module Pic").GetComponent<SpriteRenderer>();
|
||||
_originalMaterial = _targetSpriteRenderer.GetComponent<SpriteRenderer>().material;
|
||||
_highlightMaterial = Resources.Load<Material>("Materials/HighlightMaterial");
|
||||
_alarmMaterial=Resources.Load<Material>("Materials/AlarmMaterial");
|
||||
}
|
||||
|
||||
#region 插槽功能
|
||||
public bool IsAvailable()
|
||||
{
|
||||
return available;
|
||||
return _available;
|
||||
}
|
||||
public void SetSocketAvailable(bool isAvailable)
|
||||
{
|
||||
available=isAvailable;
|
||||
_available=isAvailable;
|
||||
}
|
||||
public void PlugIn()
|
||||
{
|
||||
// 插入后先播放wave
|
||||
//ShowWave();
|
||||
if(DialogController.Instance!=null)
|
||||
// 然后触发Yarn节点
|
||||
DialogController.Instance.StartDialogNode(_bodyModuleSystem.inHotErr ? "系统过热" : data.PlugInNodeName);
|
||||
@@ -65,56 +62,13 @@ namespace AibisDream.FixSystem
|
||||
{
|
||||
_bodyModuleSystem.oscilloscopeSystem.MessageBoxSetNull();
|
||||
StartCoroutine(_bodyModuleSystem.oscilloscopeSystem.DisableDeepInButton());
|
||||
// 先关闭wave
|
||||
//_bodyModuleSystem.oscilloscopeSystem.ShowScreenMessage("未插入任何模块", Color.white);
|
||||
//CloseWave();
|
||||
|
||||
// TODO 触发Yarn节点(似乎目前没有拔出对话?)
|
||||
}
|
||||
|
||||
public void DeepIn()
|
||||
{
|
||||
// if (!data.waveHasError&&!data.ignoreWaveCheck) return;
|
||||
// // 如果有错误并且已经深入了
|
||||
if(DialogController.Instance!=null)
|
||||
DialogController.Instance.StartDialogNode(data.DeepInNodeName);
|
||||
}
|
||||
|
||||
public void CloseWave()
|
||||
{
|
||||
_bodyModuleSystem.oscilloscopeSystem.StopWave();
|
||||
}
|
||||
|
||||
public void ShowWave()
|
||||
{
|
||||
if (_bodyModuleSystem.inHotErr)
|
||||
{
|
||||
_bodyModuleSystem.oscilloscopeSystem.ShowScreenMessage("发热,无法检查", Color.red);
|
||||
_bodyModuleSystem.oscilloscopeSystem.PlayWave(WaveformType.HotNoise, false);
|
||||
}
|
||||
else if(data.cantStopRunning)
|
||||
{
|
||||
_bodyModuleSystem.oscilloscopeSystem.ShowScreenMessage("持续运行中,无法进入", Color.red);
|
||||
//_bodyModuleSystem.oscilloscopeSystem.ChangeDeepInButtonState(true);
|
||||
}
|
||||
else if(data.ignoreWaveCheck)
|
||||
{
|
||||
_bodyModuleSystem.oscilloscopeSystem.ShowScreenMessage("无需检查,允许进入", Color.yellow);
|
||||
_bodyModuleSystem.oscilloscopeSystem.ChangeDeepInButtonState(true);
|
||||
}
|
||||
else if(data.waveHasError)
|
||||
{
|
||||
_bodyModuleSystem.oscilloscopeSystem.ShowScreenMessage(data.moduleName+": 发现错误,拖动滑动条寻找错误波形以深入检查", Color.red);
|
||||
_bodyModuleSystem.oscilloscopeSystem.PlayWave(data.waveformType, data.waveHasError);
|
||||
}
|
||||
else
|
||||
{
|
||||
_bodyModuleSystem.oscilloscopeSystem.ShowScreenMessage(data.moduleName+": 未发现错误,无寻深入", Color.green);
|
||||
}
|
||||
}
|
||||
|
||||
public Vector3 GetSocketPos()
|
||||
{
|
||||
return _socketPos.position;
|
||||
return socketPos.position;
|
||||
}
|
||||
|
||||
#endregion
|
||||
@@ -124,13 +78,13 @@ namespace AibisDream.FixSystem
|
||||
public void Load(BodyModuleData newData)
|
||||
{
|
||||
var modulePic = transform.Find(ModulePicName).GetComponent<SpriteRenderer>();
|
||||
var socketPos = transform.Find(SocketObjName);
|
||||
var newSocketPos = transform.Find(SocketObjName);
|
||||
|
||||
gameObject.name = newData.moduleName;
|
||||
// 初始化位置与外形
|
||||
transform.localPosition = newData.ModulePos;
|
||||
modulePic.sprite = newData.ModulePic;
|
||||
socketPos.localPosition = newData.SocketPos;
|
||||
newSocketPos.localPosition = newData.SocketPos;
|
||||
// 数据同步
|
||||
data = newData;
|
||||
|
||||
@@ -140,21 +94,15 @@ namespace AibisDream.FixSystem
|
||||
public BodyModuleData Save()
|
||||
{
|
||||
var modulePic = transform.Find(ModulePicName).GetComponent<SpriteRenderer>();
|
||||
var socketPos = transform.Find(SocketObjName);
|
||||
//var indicatorPos = transform.Find(IndicatorName);
|
||||
var newSocketPos = transform.Find(SocketObjName);
|
||||
|
||||
return new BodyModuleData
|
||||
{
|
||||
moduleName = data.moduleName,
|
||||
ModulePic = modulePic.sprite,
|
||||
ModulePos = transform.localPosition,
|
||||
SocketPos = socketPos.localPosition,
|
||||
waveformType = data.waveformType,
|
||||
waveHasError = data.waveHasError,
|
||||
ignoreWaveCheck = data.ignoreWaveCheck,
|
||||
SocketPos = newSocketPos.localPosition,
|
||||
cantStopRunning=data.cantStopRunning,
|
||||
//IndicatorPos=indicatorPos.localPosition
|
||||
//indicatorPos= indicatorPos.position
|
||||
};
|
||||
}
|
||||
|
||||
@@ -163,16 +111,16 @@ namespace AibisDream.FixSystem
|
||||
#region 高亮提示和隐藏
|
||||
public void Highlight(bool enable)
|
||||
{
|
||||
if (targetSpriteRenderer != null && highlightMaterial != null&&targetSpriteRenderer.material!=alarmMaterial)
|
||||
if (_targetSpriteRenderer != null && _highlightMaterial != null&&_targetSpriteRenderer.material!=_alarmMaterial)
|
||||
{
|
||||
targetSpriteRenderer.material = enable ? highlightMaterial : originalMaterial;
|
||||
_targetSpriteRenderer.material = enable ? _highlightMaterial : _originalMaterial;
|
||||
}
|
||||
}
|
||||
public void Alarm(bool enable)
|
||||
{
|
||||
if (targetSpriteRenderer != null && alarmMaterial != null)
|
||||
if (_targetSpriteRenderer != null && _alarmMaterial != null)
|
||||
{
|
||||
targetSpriteRenderer.material = enable ? alarmMaterial : originalMaterial;
|
||||
_targetSpriteRenderer.material = enable ? _alarmMaterial : _originalMaterial;
|
||||
}
|
||||
}
|
||||
// public void HideModule(bool enable)
|
||||
@@ -200,15 +148,6 @@ namespace AibisDream.FixSystem
|
||||
public SerializableVector3 modulePos;
|
||||
public SerializableVector3 socketPos;
|
||||
|
||||
public SerializableVector3 indicatorPos;
|
||||
|
||||
// 功能信息
|
||||
public WaveformType waveformType;
|
||||
|
||||
public bool waveHasError;
|
||||
|
||||
public bool ignoreWaveCheck;
|
||||
|
||||
public bool cantStopRunning;
|
||||
|
||||
// 只读
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using AibisDream.Framework;
|
||||
using AibisDream.Kit;
|
||||
@@ -13,13 +12,12 @@ namespace AibisDream.FixSystem
|
||||
|
||||
#region 内部索引
|
||||
|
||||
[HideInInspector]public BodyModule[] BodyModules { get; private set; }
|
||||
[HideInInspector]public CableSystem CableSystem { get; private set; }
|
||||
public BodyModule[] BodyModules { get; private set; }
|
||||
public CableSystem CableSystem { get; private set; }
|
||||
public GameObject bodyModulePrefab;
|
||||
[HideInInspector]public Transform bodyModuleGroup;
|
||||
[HideInInspector]public OscilloscopeSystem oscilloscopeSystem;
|
||||
[HideInInspector]public HeatMapController heatMapController;
|
||||
|
||||
[HideInInspector] public Transform bodyModuleGroup;
|
||||
[HideInInspector] public OscilloscopeSystem oscilloscopeSystem;
|
||||
[HideInInspector] public HeatMapController heatMapController;
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -40,17 +38,17 @@ namespace AibisDream.FixSystem
|
||||
#region 系统状态
|
||||
|
||||
public bool inHotErr;
|
||||
private int heatValue;
|
||||
public int HeatValue
|
||||
private int _heatValue;
|
||||
|
||||
private int HeatValue
|
||||
{
|
||||
get => heatValue;
|
||||
get => _heatValue;
|
||||
set
|
||||
{
|
||||
heatValue = value;
|
||||
inHotErr = heatValue > 0;
|
||||
_heatValue = value;
|
||||
inHotErr = _heatValue > 0;
|
||||
}
|
||||
}
|
||||
[HideInInspector]public BodyModule curBodyModule;
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -68,10 +66,11 @@ namespace AibisDream.FixSystem
|
||||
CableSystem = transform.Find("Cable System").GetComponent<CableSystem>();
|
||||
bodyModuleGroup = transform.Find("Body Module Group");
|
||||
oscilloscopeSystem = transform.Find("Oscilloscope System").GetComponent<OscilloscopeSystem>();
|
||||
if(transform.Find("HeatMapController"))
|
||||
if (transform.Find("HeatMapController"))
|
||||
{
|
||||
heatMapController=transform.Find("HeatMapController").GetComponent<HeatMapController>();
|
||||
heatMapController = transform.Find("HeatMapController").GetComponent<HeatMapController>();
|
||||
}
|
||||
|
||||
Debug.Log("Register");
|
||||
FixSystemCenter.SystemDic.Register(this);
|
||||
}
|
||||
@@ -99,6 +98,7 @@ namespace AibisDream.FixSystem
|
||||
{
|
||||
continue; // 跳过不可用的模块
|
||||
}
|
||||
|
||||
float tempDistance = Vector3.Distance(sourcePos, bodyModule.GetSocketPos());
|
||||
|
||||
if (tempDistance < closestDistance)
|
||||
@@ -120,6 +120,7 @@ namespace AibisDream.FixSystem
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 寻找指定名称的BodyModule
|
||||
/// </summary>
|
||||
@@ -131,61 +132,53 @@ namespace AibisDream.FixSystem
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 深入检查
|
||||
/// </summary>
|
||||
public void HandleDeepIn()
|
||||
{
|
||||
if (CableSystem.curBodyModule)
|
||||
{
|
||||
CableSystem.curBodyModule.DeepIn();
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 设置死循环状态
|
||||
/// </summary>
|
||||
public void SetModuleState_CantStopRunning(string moduleName,bool state)
|
||||
public void SetModuleState_CantStopRunning(string moduleName, bool state)
|
||||
{
|
||||
BodyModule result = FindBodyModuleByName(moduleName);
|
||||
if (result != null)
|
||||
{
|
||||
Debug.Log("Found module: " + moduleName);
|
||||
result.data.cantStopRunning=state;
|
||||
result.data.cantStopRunning = state;
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.Log("Module not found.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 设置发热
|
||||
/// </summary>
|
||||
|
||||
public void SetHeat(int targetHeatValue)
|
||||
{
|
||||
HeatValue = targetHeatValue;
|
||||
|
||||
HeatValue=targetHeatValue;
|
||||
|
||||
heatMapController.SetTemptureDirect(HeatValue);
|
||||
heatMapController.SetTemptureDirect(HeatValue);
|
||||
}
|
||||
|
||||
public void ShowHeatMap()
|
||||
{
|
||||
heatMapController.ShowHeatMap();
|
||||
ResetPlug();
|
||||
}
|
||||
|
||||
public void HideHeatMap()
|
||||
{
|
||||
heatMapController.HideHeatMap();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 冷却后处理
|
||||
/// </summary>
|
||||
public void OnCooling()
|
||||
{
|
||||
if (!inHotErr) return;
|
||||
if (!inHotErr) return;
|
||||
// 系统冷却
|
||||
heatValue = 0;
|
||||
curBodyModule?.ShowWave();
|
||||
_heatValue = 0;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 插头重新插入初始插孔
|
||||
/// </summary>
|
||||
@@ -193,6 +186,7 @@ namespace AibisDream.FixSystem
|
||||
{
|
||||
CableSystem.ResetPlug();
|
||||
}
|
||||
|
||||
#region 数据加载与保存
|
||||
|
||||
public override string[] GetDataKeyOptions()
|
||||
@@ -207,7 +201,7 @@ namespace AibisDream.FixSystem
|
||||
Debug.Log("配置项名称为空");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (!ConfigUtil.Instance.TryLoadConfig<BodyModuleSystemData>(DataPath + CurDataKey,
|
||||
out var data))
|
||||
{
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
using AibisDream.Utility;
|
||||
using TMPro;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using DG.Tweening;
|
||||
using Random = UnityEngine.Random;
|
||||
using System.Collections;
|
||||
|
||||
namespace AibisDream.FixSystem
|
||||
@@ -11,13 +9,8 @@ namespace AibisDream.FixSystem
|
||||
{
|
||||
#region 组件索引
|
||||
|
||||
private BodyModuleSystem _bodyModuleSystem;
|
||||
private TMP_Text _state; // 显示状态的TextMeshPro组件
|
||||
private TMP_Text _screenText;// 显示消息的TextMeshPro组件
|
||||
private WaveformLine _waveformLine;
|
||||
private ScanLine _scanLine;
|
||||
private SpriteRenderer _screen;
|
||||
private WaveSlider _waveSlider;
|
||||
private SpriteButton _deepinButton;
|
||||
|
||||
#endregion
|
||||
@@ -38,132 +31,16 @@ namespace AibisDream.FixSystem
|
||||
|
||||
private void InitComponentRefs()
|
||||
{
|
||||
_bodyModuleSystem = GetComponentInParent<BodyModuleSystem>();
|
||||
|
||||
_screenText = transform.Find("Screen Text").GetComponent<TMP_Text>();
|
||||
_state = transform.Find("Screen State Text").GetComponent<TMP_Text>();
|
||||
_waveformLine = transform.Find("Waveform Visualizer").GetComponent<WaveformLine>();
|
||||
_scanLine = transform.Find("Scan Line").GetComponent<ScanLine>();
|
||||
_screen = transform.Find("Screen").GetComponent<SpriteRenderer>();
|
||||
_waveSlider = transform.Find("Wave Slider").GetComponent<WaveSlider>();
|
||||
_deepinButton = new SpriteButton(transform.Find("Deepin Button").gameObject, false);
|
||||
_waveformLine.SetLineSize(_screen.bounds.size.x, _screen.bounds.size.y);
|
||||
_scanLine.SetScreenSize(_screen.bounds.size.x, _screen.bounds.size.y);
|
||||
//_screenText.text = "";
|
||||
MessageBoxSetNull();
|
||||
|
||||
_deepinButton.OnButtonDown += HandleDeepInButtonClick;
|
||||
_scanLine.ScanErrorEvent += OnScanSuccess;
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
_deepinButton.CheckButtonClick();
|
||||
}
|
||||
|
||||
#region 对外开放
|
||||
|
||||
/// <summary>
|
||||
/// 屏幕上播放波形
|
||||
/// </summary>
|
||||
/// <param name="waveformType">波形类型</param>
|
||||
/// <param name="hasError">是否有错误</param>
|
||||
public void PlayWave(WaveformType waveformType, bool hasError)
|
||||
{
|
||||
_waveSlider.InitSlider();
|
||||
isPlaying = true;
|
||||
canScan = hasError;
|
||||
_deepinButton.SetActive(canScan);
|
||||
|
||||
var initialRandomPhase = Mathf.PI * Random.Range(7, 13) * 0.1f;
|
||||
_waveformLine.PlayWave(waveformType, initialRandomPhase, hasError);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 停止播放波形
|
||||
/// </summary>
|
||||
public void StopWave()
|
||||
{
|
||||
isPlaying = false;
|
||||
canScan = false;
|
||||
isScanning = false;
|
||||
_deepinButton.SetActive(false);
|
||||
_waveSlider.InitSlider();
|
||||
|
||||
_waveformLine.StopWave();
|
||||
_scanLine.CloseScan();
|
||||
}
|
||||
|
||||
public void ChangeDeepInButtonState(bool state)
|
||||
{
|
||||
_deepinButton.SetActive(state);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 调整相位
|
||||
/// </summary>
|
||||
public void AdjustPhaseShift(float phaseShift)
|
||||
{
|
||||
if (isPlaying)
|
||||
{
|
||||
_waveformLine.AdjustPhaseShift(phaseShift);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 开始扫描
|
||||
/// </summary>
|
||||
public void StartScan()
|
||||
{
|
||||
if (!canScan) return;
|
||||
|
||||
float spikeX = _waveformLine.GetSpikeX();
|
||||
StartCoroutine(_scanLine.ScanForError(spikeX));
|
||||
}
|
||||
public void HandleDeepInButtonClick()
|
||||
{
|
||||
// if(_bodyModuleSystem.CableSystem.curBodyModule.data.ignoreWaveCheck==true)
|
||||
// {
|
||||
// _bodyModuleSystem.HandleDeepIn();
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// StartScan();
|
||||
// }
|
||||
_bodyModuleSystem.HandleDeepIn();
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 扫描成功后
|
||||
/// </summary>
|
||||
public void OnScanSuccess()
|
||||
{
|
||||
_bodyModuleSystem.HandleDeepIn();
|
||||
_ = CommonUtil.Delay(2000, StopWave);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 显示消息
|
||||
/// </summary>
|
||||
/// <param name="message">消息</param>
|
||||
public void ShowScreenMessage(string message, Color textcolor)
|
||||
{
|
||||
_screenText.text = message;
|
||||
_screenText.color=textcolor;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 清除消息
|
||||
/// </summary>
|
||||
public void ClearScreenMessage()
|
||||
{
|
||||
_screenText.text = "";
|
||||
_screenText.color=Color.white;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
public void MessageBoxSetError()
|
||||
{
|
||||
@@ -220,15 +97,4 @@ namespace AibisDream.FixSystem
|
||||
|
||||
}
|
||||
}
|
||||
public enum WaveformType
|
||||
{
|
||||
Default,
|
||||
Sine,
|
||||
Square,
|
||||
Triangle,
|
||||
Sawtooth,
|
||||
HotNoise,
|
||||
Composite,
|
||||
Pulse
|
||||
}
|
||||
}
|
||||
@@ -1,123 +0,0 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using UnityEngine;
|
||||
|
||||
namespace AibisDream.FixSystem
|
||||
{
|
||||
public class ScanLine : MonoBehaviour
|
||||
{
|
||||
#region 组件索引
|
||||
|
||||
private LineRenderer _line;
|
||||
private OscilloscopeSystem _oscilloscopeSystem;
|
||||
|
||||
#endregion
|
||||
|
||||
#region 部分参数(后面改成从screen获取)
|
||||
|
||||
private float _screenLeftX;
|
||||
private float _screenRightX;
|
||||
|
||||
private float _topY;
|
||||
private float _bottomY;
|
||||
|
||||
private const float ScanSpeed = 2f;
|
||||
|
||||
public event Action ScanErrorEvent;
|
||||
|
||||
#endregion
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
InitComponentRefs();
|
||||
}
|
||||
|
||||
private void InitComponentRefs()
|
||||
{
|
||||
_oscilloscopeSystem = GetComponentInParent<OscilloscopeSystem>();
|
||||
|
||||
_line = GetComponent<LineRenderer>();
|
||||
_line.enabled = false;
|
||||
_line.positionCount = 2;
|
||||
}
|
||||
|
||||
public IEnumerator ScanForError(float spikeX)
|
||||
{
|
||||
_line.enabled = true;
|
||||
_oscilloscopeSystem.isScanning = true;
|
||||
// 初始化扫描线
|
||||
InitStartLine();
|
||||
// 扫描线右移
|
||||
var currentX = _screenLeftX;
|
||||
var lastX = currentX;
|
||||
while (currentX <= _screenRightX)
|
||||
{
|
||||
// 横坐标右移
|
||||
currentX += Time.deltaTime * ScanSpeed;
|
||||
SetLinePos(currentX);
|
||||
|
||||
// 检查是否扫到尖峰
|
||||
if (CheckSpikeInRange(lastX, currentX, spikeX))
|
||||
{
|
||||
// 修改线条
|
||||
MarkLineAsError(spikeX);
|
||||
// 触发扫描事件
|
||||
yield return new WaitForSeconds(1f);
|
||||
ScanErrorEvent?.Invoke();
|
||||
break;
|
||||
}
|
||||
|
||||
lastX = currentX;
|
||||
yield return null;
|
||||
}
|
||||
|
||||
_oscilloscopeSystem.isScanning = false;
|
||||
}
|
||||
|
||||
private void InitStartLine()
|
||||
{
|
||||
// 初始状态是一根靠左的竖线
|
||||
SetLinePos(_screenLeftX);
|
||||
|
||||
_line.enabled = true;
|
||||
_line.startColor = Color.white;
|
||||
_line.endColor = Color.white;
|
||||
}
|
||||
|
||||
private void SetLinePos(float posX)
|
||||
{
|
||||
var topPosition = new Vector3(posX, _topY, 0);
|
||||
var bottomPosition = new Vector3(posX, _bottomY, 0);
|
||||
_line.SetPosition(0, topPosition);
|
||||
_line.SetPosition(1, bottomPosition);
|
||||
}
|
||||
|
||||
private bool CheckSpikeInRange(float x1, float x2, float spikeX)
|
||||
{
|
||||
var left = Mathf.Min(x1, x2);
|
||||
var right = Mathf.Max(x1, x2);
|
||||
return spikeX >= left && spikeX <= right;
|
||||
}
|
||||
|
||||
private void MarkLineAsError(float spikeX)
|
||||
{
|
||||
SetLinePos(spikeX);
|
||||
_line.startColor = Color.red;
|
||||
_line.endColor = Color.red;
|
||||
}
|
||||
|
||||
public void CloseScan()
|
||||
{
|
||||
_line.enabled = false;
|
||||
}
|
||||
|
||||
public void SetScreenSize(float width, float height)
|
||||
{
|
||||
_screenLeftX = - width / 2;
|
||||
_screenRightX = width / 2;
|
||||
|
||||
_topY = height / 2;
|
||||
_bottomY = - height / 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d539f4fdddef410c9df21320f69fe38f
|
||||
timeCreated: 1731586860
|
||||
@@ -1,99 +0,0 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace AibisDream.FixSystem
|
||||
{
|
||||
public class WaveSlider : MonoBehaviour
|
||||
{
|
||||
private OscilloscopeSystem _oscilloscopeSystem;
|
||||
|
||||
private Transform _slider; // 滑块的 Transform
|
||||
|
||||
private Vector2 _startPos;
|
||||
private Vector2 _endPos;
|
||||
|
||||
private float _value;
|
||||
private bool _isDragging;
|
||||
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
InitComponentsRef();
|
||||
}
|
||||
|
||||
private void InitComponentsRef()
|
||||
{
|
||||
_oscilloscopeSystem = transform.GetComponentInParent<OscilloscopeSystem>();
|
||||
|
||||
_slider = transform.Find("Sliding Block");
|
||||
var startTrans = transform.Find("Slider Start Pos");
|
||||
var endTrans = transform.Find("Slider End Pos");
|
||||
|
||||
_startPos = new Vector2(startTrans.position.x, startTrans.position.y);
|
||||
_endPos = new Vector2(endTrans.position.x, endTrans.position.y);
|
||||
InitSlider();
|
||||
}
|
||||
|
||||
public void InitSlider()
|
||||
{
|
||||
_slider.position = new Vector3(_startPos.x, _startPos.y, _slider.position.z);
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if (_oscilloscopeSystem.isScanning) return;
|
||||
|
||||
if (Input.GetMouseButtonDown(0))
|
||||
{
|
||||
OnMouseButtonDown();
|
||||
}
|
||||
|
||||
if (Input.GetMouseButtonUp(0))
|
||||
{
|
||||
OnMouseButtonUp();
|
||||
}
|
||||
|
||||
if (_isDragging)
|
||||
{
|
||||
OnDragging();
|
||||
}
|
||||
}
|
||||
|
||||
private void OnMouseButtonDown()
|
||||
{
|
||||
// 检测鼠标是否点击在滑块上
|
||||
Vector2 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
|
||||
Collider2D hitCollider = Physics2D.OverlapPoint(mousePos);
|
||||
|
||||
if (hitCollider && hitCollider.transform == _slider)
|
||||
{
|
||||
_isDragging = true;
|
||||
}
|
||||
}
|
||||
|
||||
private void OnMouseButtonUp()
|
||||
{
|
||||
_isDragging = false;
|
||||
}
|
||||
|
||||
private void OnDragging()
|
||||
{
|
||||
Vector2 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
|
||||
float clampedX = Mathf.Clamp(mousePos.x, _startPos.x, _endPos.x);
|
||||
_slider.position = new Vector3(clampedX, _slider.position.y, _slider.position.z);
|
||||
|
||||
// 计算滑块在轨道上的比例
|
||||
var curValue = (clampedX - _startPos.x) / (_endPos.x - _startPos.x);
|
||||
UpdateValue(curValue);
|
||||
}
|
||||
|
||||
private void UpdateValue(float curValue)
|
||||
{
|
||||
if (!Mathf.Approximately(curValue, _value))
|
||||
{
|
||||
// 如果相位有更新,就同步给波形
|
||||
_oscilloscopeSystem.AdjustPhaseShift(curValue);
|
||||
_value = curValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5c6494bd9d5943cf8e875ae582481cf1
|
||||
timeCreated: 1732863766
|
||||
@@ -1,378 +0,0 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using UnityEngine;
|
||||
using Random = UnityEngine.Random;
|
||||
|
||||
namespace AibisDream.FixSystem
|
||||
{
|
||||
public class WaveformLine : MonoBehaviour
|
||||
{
|
||||
#region 组件索引
|
||||
|
||||
private LineRenderer _waveformLine;
|
||||
|
||||
#endregion
|
||||
|
||||
private float _screenWidth;
|
||||
private float _screenHeight;
|
||||
|
||||
#region 状态
|
||||
|
||||
private bool _isWavePlaying;
|
||||
|
||||
#endregion
|
||||
|
||||
private WaveParam _waveParam;
|
||||
|
||||
#region Line数据
|
||||
|
||||
private float[] _waveformData;
|
||||
private float[] _noiseData;
|
||||
private float[] _spikeData;
|
||||
|
||||
private float[] _displayData; // 最后展示数据
|
||||
|
||||
#endregion
|
||||
|
||||
[SerializeField] private WaveformConfig config;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
InitComponentRefs();
|
||||
InitValues();
|
||||
}
|
||||
|
||||
private void InitValues()
|
||||
{
|
||||
_waveformData = new float[config.samples];
|
||||
_noiseData = new float[config.samples];
|
||||
_spikeData = new float[config.samples];
|
||||
_displayData = new float[config.samples];
|
||||
|
||||
_waveformLine.positionCount = config.samples;
|
||||
_waveformLine.enabled = false;
|
||||
}
|
||||
|
||||
private void InitComponentRefs()
|
||||
{
|
||||
_waveformLine = GetComponent<LineRenderer>();
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if (_isWavePlaying)
|
||||
{
|
||||
// 绘制线条
|
||||
DrawWaveform();
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawWaveform()
|
||||
{
|
||||
// 计算当前线条的点数据
|
||||
CalcLinePointsData();
|
||||
// 计算结束,绘制线条
|
||||
DrawLine();
|
||||
}
|
||||
|
||||
#region 波形数据计算
|
||||
|
||||
private void CalcLinePointsData()
|
||||
{
|
||||
// 分组计算:
|
||||
var waveformData = _waveParam.waveformType == WaveformType.Default
|
||||
? GenerateNoiseData()
|
||||
: GenerateWaveformData(); // 波形数据
|
||||
// 计算错误数据
|
||||
var spikeData = GenerateSpikeData(); // 错误尖峰数据
|
||||
// 合成最终结果
|
||||
for (int i = 0; i < config.samples; i++)
|
||||
{
|
||||
// 正常线条加错误尖峰
|
||||
var lineValue = waveformData[i] + spikeData[i];
|
||||
_displayData[i] = Mathf.Clamp(lineValue, -_screenHeight / 1.8f, _screenHeight / 1.8f);
|
||||
}
|
||||
}
|
||||
|
||||
private float[] GenerateNoiseData()
|
||||
{
|
||||
for (var i = 0; i < config.samples; i++)
|
||||
{
|
||||
_noiseData[i] = Random.Range(-config.AdjustedNoiseAmplitude, config.AdjustedNoiseAmplitude);
|
||||
}
|
||||
|
||||
return _noiseData;
|
||||
}
|
||||
|
||||
private float[] GenerateWaveformData()
|
||||
{
|
||||
// 计算波形
|
||||
for (int i = 0; i < config.samples; i++)
|
||||
{
|
||||
float basicAngle = TransIndexToAngle(i);
|
||||
// 正波形
|
||||
float wavePoint = CalcLineValueByAngle(basicAngle);
|
||||
// 如果有相位偏移
|
||||
if (_waveParam.PhaseShift > 0)
|
||||
{
|
||||
wavePoint -= CalcLineValueByAngle(basicAngle + _waveParam.PhaseShift);
|
||||
}
|
||||
|
||||
_waveformData[i] = wavePoint;
|
||||
}
|
||||
|
||||
return _waveformData;
|
||||
}
|
||||
|
||||
private float TransIndexToAngle(int idx)
|
||||
{
|
||||
return (float)idx / config.samples * Mathf.PI * 2f * config.spatialFrequency;
|
||||
}
|
||||
|
||||
private float CalcLineValueByAngle(float angle)
|
||||
{
|
||||
// 计算波形值
|
||||
var value = _waveParam.waveformType switch
|
||||
{
|
||||
WaveformType.Sine => Mathf.Sin(angle),
|
||||
WaveformType.Square => Mathf.Sign(Mathf.Sin(angle)),
|
||||
WaveformType.Triangle => Mathf.PingPong(angle / Mathf.PI, 1f) * 2f - 1f,
|
||||
WaveformType.Sawtooth => angle / (Mathf.PI * 2f) % 1f * 2f - 1f, // 统一周期为 2π
|
||||
WaveformType.Pulse => Mathf.PingPong(angle / (Mathf.PI * 2f), 1f) > 0.5f ? 1f : -1f, // 统一周期为 2π
|
||||
WaveformType.HotNoise => Mathf.PerlinNoise(angle / (Mathf.PI * 2f), Time.time * config.temporalFrequency) *
|
||||
2f - 1f, // 统一周期为 2π
|
||||
WaveformType.Composite => Mathf.Sin(angle) + Mathf.Sin(angle * 2f) * 0.5f, // 组合波形也统一周期
|
||||
_ => 0f
|
||||
};
|
||||
|
||||
return value * config.amplitude; // 最终返回角度对应波形
|
||||
}
|
||||
|
||||
private float[] GenerateSpikeData()
|
||||
{
|
||||
if (CheckErrorShow())
|
||||
{
|
||||
// 错误点可以显示
|
||||
for (var i = 0; i < config.samples; i++)
|
||||
{
|
||||
_spikeData[i] = CalcSpikeValueByIdx(i);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// 错误点尚不可显示,全部置为0
|
||||
Array.Clear(_spikeData, 0, _spikeData.Length);
|
||||
}
|
||||
|
||||
return _spikeData;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 错误点是否已经可以定位
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private bool CheckErrorShow()
|
||||
{
|
||||
// 没有错误当然就不显示尖峰点
|
||||
if (_waveParam.spikeIdx == -1) return false;
|
||||
// 尖峰点小于1/3时显示
|
||||
return _displayData[_waveParam.spikeIdx] < config.amplitude / 3f;
|
||||
}
|
||||
|
||||
private float CalcSpikeValueByIdx(int idx)
|
||||
{
|
||||
var distanceToSpike = Mathf.Abs(_waveParam.spikeIdx - idx);
|
||||
// 尖峰范围外直接数据为0
|
||||
if (distanceToSpike > config.spikeRange) return 0f;
|
||||
|
||||
// 尖峰范围内计算
|
||||
// 计算随机范围
|
||||
var attenuation = (1f - distanceToSpike / 20f) * 0.9f;
|
||||
var baseAmplitude = _displayData[idx] * config.AmplitudeScale * (_screenHeight / 2f);
|
||||
var randomRange = (Mathf.Abs(baseAmplitude) - config.amplitude / 3f) * attenuation;
|
||||
// 得出结果
|
||||
if (Mathf.Abs(baseAmplitude) < config.amplitude / 3)
|
||||
{
|
||||
return Random.Range(-randomRange, randomRange); // 对 Y 值进行随机扰动
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// 根据计算出的点数绘制线条
|
||||
/// </summary>
|
||||
private void DrawLine()
|
||||
{
|
||||
for (int i = 0; i < config.samples; i++)
|
||||
{
|
||||
// 计算线上每个点的位置
|
||||
float x = (float)i / (config.samples - 1) * _screenWidth - _screenWidth / 2f; // x轴数据
|
||||
float y = _displayData[i] * config.AmplitudeScale * (_screenHeight / 2f);
|
||||
Vector3 position = new Vector3(x, y, 0);
|
||||
// 设置
|
||||
_waveformLine.SetPosition(i, position);
|
||||
}
|
||||
|
||||
// 设置颜色和宽度
|
||||
_waveformLine.startColor = config.LineColor;
|
||||
_waveformLine.endColor = config.LineColor;
|
||||
_waveformLine.startWidth = config.LineWidth;
|
||||
_waveformLine.endWidth = config.LineWidth;
|
||||
}
|
||||
|
||||
private int GeneSpikeIdx()
|
||||
{
|
||||
float[] waveData = GenerateWaveformData();
|
||||
int resIdx = GetRandomIndexFromTop20Percent(waveData);
|
||||
Array.Clear(waveData, 0, waveData.Length);
|
||||
|
||||
return resIdx;
|
||||
}
|
||||
|
||||
int GetRandomIndexFromTop20Percent(float[] array)
|
||||
{
|
||||
int n = array.Length;
|
||||
int topCount = (int)Math.Ceiling(n * 0.2);
|
||||
|
||||
var indexedArray = array
|
||||
.Select((value, index) => new { Value = Math.Abs(value), Index = index })
|
||||
.OrderByDescending(item => item.Value)
|
||||
.Take(topCount)
|
||||
.Select(item => item.Index)
|
||||
.ToArray();
|
||||
|
||||
int randomIndex = indexedArray[Random.Range(0, indexedArray.Length)];
|
||||
|
||||
return randomIndex;
|
||||
}
|
||||
|
||||
#region 对外暴露
|
||||
|
||||
/// <summary>
|
||||
/// 设置屏幕尺寸作为参数
|
||||
/// </summary>
|
||||
/// <param name="width">宽</param>
|
||||
/// <param name="height">高</param>
|
||||
public void SetLineSize(float width, float height)
|
||||
{
|
||||
_screenHeight = height;
|
||||
_screenWidth = width;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 显示波形
|
||||
/// </summary>
|
||||
public void PlayWave(WaveformType waveformType, float initialPhase, bool hasError)
|
||||
{
|
||||
// 配置波形数据
|
||||
config.waveformType = waveformType;
|
||||
_waveParam = new WaveParam
|
||||
{
|
||||
waveformType = waveformType,
|
||||
spikeIdx = -1,
|
||||
initPhaseShift = initialPhase,
|
||||
varPhaseShift = 0
|
||||
};
|
||||
_waveParam.spikeIdx = hasError ? GeneSpikeIdx() : -1;
|
||||
|
||||
// 进行播放
|
||||
_waveformLine.enabled = true;
|
||||
_isWavePlaying = true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 停止显示波形
|
||||
/// </summary>
|
||||
public void StopWave()
|
||||
{
|
||||
// 清除数据
|
||||
config.waveformType = WaveformType.Default;
|
||||
_waveParam = new WaveParam
|
||||
{
|
||||
waveformType = WaveformType.Default,
|
||||
spikeIdx = -1,
|
||||
initPhaseShift = 0,
|
||||
varPhaseShift = 0
|
||||
};
|
||||
|
||||
// 停止
|
||||
_isWavePlaying = false;
|
||||
_waveformLine.enabled = false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取尖峰点坐标
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public float GetSpikeX()
|
||||
{
|
||||
if (CheckErrorShow())
|
||||
{
|
||||
return _waveParam.spikeIdx / (float)config.samples * _screenWidth - _screenWidth / 2;
|
||||
}
|
||||
|
||||
return float.NegativeInfinity;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 调整相位
|
||||
/// </summary>
|
||||
/// <param name="phaseShift">相位</param>
|
||||
public void AdjustPhaseShift(float phaseShift)
|
||||
{
|
||||
_waveParam.varPhaseShift = phaseShift * 2 * Mathf.PI;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class WaveformConfig
|
||||
{
|
||||
public int samples = 1024;
|
||||
public float amplitude = 0.6f;
|
||||
public int spikeRange = 20;
|
||||
|
||||
public float spatialFrequency = 1f;
|
||||
public float temporalFrequency = 0.1f;
|
||||
public float targetWaveformNoiseAmplitude = 0.1f;
|
||||
public float noiseAmplitude = 0.5f;
|
||||
|
||||
public Color noiseColor = Color.gray;
|
||||
public Color clearColor = Color.green;
|
||||
public Color hotColor = Color.red;
|
||||
|
||||
public WaveformType waveformType;
|
||||
|
||||
public Color LineColor
|
||||
{
|
||||
get
|
||||
{
|
||||
if (waveformType == WaveformType.Default)
|
||||
{
|
||||
return noiseColor;
|
||||
}
|
||||
|
||||
return waveformType == WaveformType.HotNoise ? hotColor : clearColor;
|
||||
}
|
||||
}
|
||||
public float LineWidth => waveformType != WaveformType.Default ? 0.05f : 0.02f;
|
||||
public float AmplitudeScale => waveformType != WaveformType.Default ? 1f : 0.2f;
|
||||
|
||||
public float AdjustedNoiseAmplitude =>
|
||||
waveformType != WaveformType.Default ? targetWaveformNoiseAmplitude : noiseAmplitude;
|
||||
}
|
||||
|
||||
public struct WaveParam
|
||||
{
|
||||
public WaveformType waveformType;
|
||||
public float initPhaseShift;
|
||||
public int spikeIdx;
|
||||
public float varPhaseShift;
|
||||
|
||||
public float PhaseShift => initPhaseShift + varPhaseShift;
|
||||
}
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fd4bf97f1c7d4f559fe7ce23a64bff87
|
||||
timeCreated: 1731495781
|
||||
@@ -1 +1 @@
|
||||
{"shaftLevelDataArray":[{"shaftName":"Pluggable Shaft9","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.18,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-1.69999993,"y":-0.919,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮A"},{"shaftName":"Pluggable Shaft8","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":false,"radius":0.18,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-2.588,"y":-0.901,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"},{"shaftName":"Pluggable Shaft7","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":false,"radius":0.09,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-2.21799946,"y":-0.413000017,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"},{"shaftName":"Pluggable Shaft6","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":false,"radius":0.18,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-1.84499979,"y":-0.350999951,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱唱片齿轮"},{"shaftName":"Pluggable Shaft5","shaftType":3,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.09,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-1.98999882,"y":-0.585000038,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮A"},{"shaftName":"Pluggable Shaft4","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":false,"radius":0.27,"isGearBroken":true,"isDisc":false,"discIdx":0,"shaftPos":{"x":-2.17599964,"y":-0.04199993,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"},{"shaftName":"Pluggable Shaft3","shaftType":3,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.18,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-1.9659996,"y":0.340000182,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"},{"shaftName":"Pluggable Shaft2","shaftType":3,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.09,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-1.70999885,"y":0.348000079,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"},{"shaftName":"Pluggable Shaft1","shaftType":3,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.18,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-2.39599943,"y":0.3350002,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"},{"shaftName":"Driver Shaft","shaftType":0,"initialSpeed":1.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.09,"isGearBroken":true,"isDisc":false,"discIdx":0,"shaftPos":{"x":-2.17799878,"y":0.4850002,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"},{"shaftName":"Target Shaft","shaftType":1,"initialSpeed":0.0,"targetSpeed":0.3,"hasChildGear":true,"radius":0.27,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-2.14999962,"y":-0.921000063,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"}],"panelShaftArray":[{"shaftName":"Panel Shaft1","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.18,"isGearBroken":false,"isDisc":true,"discIdx":0,"shaftPos":{"x":-0.019,"y":0.717,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱唱片齿轮"},{"shaftName":"Panel Shaft2","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":true,"radius":0.27,"isGearBroken":true,"isDisc":false,"discIdx":0,"shaftPos":{"x":-0.011,"y":0.003,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/坏齿轮A"},{"shaftName":"Panel Shaft3","shaftType":2,"initialSpeed":0.0,"targetSpeed":0.0,"hasChildGear":false,"radius":0.0,"isGearBroken":false,"isDisc":false,"discIdx":0,"shaftPos":{"x":-0.011,"y":-0.668,"z":0.0},"gearPicPath":"Art/Fix/Stone/身体维修界面导出_1227/变速箱齿轮C"}]}
|
||||
{"shaftLevelDataArray":[],"panelShaftArray":[]}
|
||||
Reference in New Issue
Block a user