Jelajahi Sumber

1.修改蓝牙发射限制间隔2.修改训练设计游戏

slambb 5 bulan lalu
induk
melakukan
80287bc067
72 mengubah file dengan 2039 tambahan dan 918 penghapusan
  1. TEMPAT SAMPAH
      Assets/AddressableAssetsData/Android/addressables_content_state.bin
  2. 18 2
      Assets/BowArrow/Scripts/Bluetooth/ShootCheck.cs
  3. 2 2
      Assets/BowArrow/Scripts/CommonConfig.cs
  4. 8 0
      Assets/ShotSimulator/HumanBrokenEffect/TeXiao.meta
  5. 8 0
      Assets/ShotSimulator/HumanBrokenEffect/TeXiao/dependencies.meta
  6. 251 0
      Assets/ShotSimulator/HumanBrokenEffect/TeXiao/dependencies/Add_CenterGlow.shader
  7. 10 0
      Assets/ShotSimulator/HumanBrokenEffect/TeXiao/dependencies/Add_CenterGlow.shader.meta
  8. 245 0
      Assets/ShotSimulator/HumanBrokenEffect/TeXiao/dependencies/Blend_CenterGlow.shader
  9. 9 0
      Assets/ShotSimulator/HumanBrokenEffect/TeXiao/dependencies/Blend_CenterGlow.shader.meta
  10. 109 0
      Assets/ShotSimulator/HumanBrokenEffect/TeXiao/dependencies/FlashGroundCG.mat
  11. 10 0
      Assets/ShotSimulator/HumanBrokenEffect/TeXiao/dependencies/FlashGroundCG.mat.meta
  12. TEMPAT SAMPAH
      Assets/ShotSimulator/HumanBrokenEffect/TeXiao/dependencies/Glow1.png
  13. 117 0
      Assets/ShotSimulator/HumanBrokenEffect/TeXiao/dependencies/Glow1.png.meta
  14. 108 0
      Assets/ShotSimulator/HumanBrokenEffect/TeXiao/dependencies/Glow1cg.mat
  15. 8 0
      Assets/ShotSimulator/HumanBrokenEffect/TeXiao/dependencies/Glow1cg.mat.meta
  16. TEMPAT SAMPAH
      Assets/ShotSimulator/HumanBrokenEffect/TeXiao/dependencies/MaskForShader.png
  17. 97 0
      Assets/ShotSimulator/HumanBrokenEffect/TeXiao/dependencies/MaskForShader.png.meta
  18. 2 6
      Assets/ShotSimulator/Languages/Tables/LanguagesTable Shared Data.asset
  19. 6 10
      Assets/ShotSimulator/Languages/Tables/LanguagesTable_en.asset
  20. 7 11
      Assets/ShotSimulator/Languages/Tables/LanguagesTable_zh-Hans.asset
  21. 1 1
      Assets/ShotSimulator/Resources/Audio/音效/装卸弹匣.mp3.meta
  22. 17 0
      Assets/ShotSimulator/Resources/Materials/透明.mat
  23. 16 0
      Assets/ShotSimulator/Resources/Prefabs/AIHumanoidShotTarget.prefab
  24. 4 4
      Assets/ShotSimulator/Resources/Prefabs/UI/ExecuteTrainUIView.prefab
  25. 136 708
      Assets/ShotSimulator/Resources/Prefabs/UI/RankingUIView.prefab
  26. 1 1
      Assets/ShotSimulator/Resources/Prefabs/UI/TrainSettlementUIView.prefab
  27. 1 1
      Assets/ShotSimulator/Resources/Prefabs/UI/TrainTaskInfoUIView.prefab
  28. 19 0
      Assets/ShotSimulator/Resources/ScriptableObjects/Firearm/ArtemisPro.asset
  29. 8 0
      Assets/ShotSimulator/Resources/ScriptableObjects/Firearm/ArtemisPro.asset.meta
  30. 3 3
      Assets/ShotSimulator/Resources/ScriptableObjects/TrainInfo/Accuracy/运动目标射击.asset
  31. TEMPAT SAMPAH
      Assets/ShotSimulator/Resources/Texture/UI/TrainTaskInfoUIView/Group 16.png
  32. 135 0
      Assets/ShotSimulator/Resources/Texture/UI/TrainTaskInfoUIView/Group 16.png.meta
  33. 8 0
      Assets/ShotSimulator/Resources/Texture/UI/TrainTaskInfoUIView/Language.meta
  34. TEMPAT SAMPAH
      Assets/ShotSimulator/Resources/Texture/UI/TrainTaskInfoUIView/Language/Group (3).png
  35. 135 0
      Assets/ShotSimulator/Resources/Texture/UI/TrainTaskInfoUIView/Language/Group (3).png.meta
  36. TEMPAT SAMPAH
      Assets/ShotSimulator/Resources/Texture/UI/TrainTaskInfoUIView/Language/Group (4).png
  37. 135 0
      Assets/ShotSimulator/Resources/Texture/UI/TrainTaskInfoUIView/Language/Group (4).png.meta
  38. TEMPAT SAMPAH
      Assets/ShotSimulator/Resources/Texture/UI/TrainTaskInfoUIView/Language/Group (5).png
  39. 135 0
      Assets/ShotSimulator/Resources/Texture/UI/TrainTaskInfoUIView/Language/Group (5).png.meta
  40. TEMPAT SAMPAH
      Assets/ShotSimulator/Resources/Texture/UI/TrainTaskInfoUIView/Language/Vector (1).png
  41. 135 0
      Assets/ShotSimulator/Resources/Texture/UI/TrainTaskInfoUIView/Language/Vector (1).png.meta
  42. 1 2
      Assets/ShotSimulator/Scenes/ShotSimulatorScene.unity
  43. 1 1
      Assets/ShotSimulator/Scenes/ShotSimulatorScene.unity.meta
  44. 1 4
      Assets/ShotSimulator/Scripts/ShotSimulatorEnum.cs
  45. 15 1
      Assets/ShotSimulator/Scripts/Test/VirtualMouse.cs
  46. 1 6
      Assets/ShotSimulator/Scripts/TrainHandle/Accuracy/MotionTargetShotTrainHandle.cs
  47. 1 7
      Assets/ShotSimulator/Scripts/TrainHandle/Accuracy/PistolSniperTrainHandle.cs
  48. 1 6
      Assets/ShotSimulator/Scripts/TrainHandle/Accuracy/SixTargetsShotTrainHandle.cs
  49. 2 11
      Assets/ShotSimulator/Scripts/TrainHandle/BaseTrainHandle.cs
  50. 2 12
      Assets/ShotSimulator/Scripts/TrainHandle/Cognition/JudgeShotTrainHandle.cs
  51. 2 12
      Assets/ShotSimulator/Scripts/TrainHandle/Cognition/MemoryShotTrainHandle.cs
  52. 1 6
      Assets/ShotSimulator/Scripts/TrainHandle/Perceive/ListenSoundTrainHandle.cs
  53. 1 6
      Assets/ShotSimulator/Scripts/TrainHandle/Perceive/ObserveShotTrainHandle.cs
  54. 1 6
      Assets/ShotSimulator/Scripts/TrainHandle/Reaction/EnemyTideShotTrainHandle.cs
  55. 1 6
      Assets/ShotSimulator/Scripts/TrainHandle/Reaction/GridShotTrainHandle.cs
  56. 2 9
      Assets/ShotSimulator/Scripts/TrainHandle/Reaction/MozambiqueTrainHandle.cs
  57. 1 6
      Assets/ShotSimulator/Scripts/TrainHandle/Reaction/ReactionShotTrainHandle.cs
  58. 1 6
      Assets/ShotSimulator/Scripts/TrainHandle/Speed/HorizontalMotionShotTrainHandle.cs
  59. 2 12
      Assets/ShotSimulator/Scripts/TrainHandle/Speed/ReloadShotTrainHandle.cs
  60. 1 6
      Assets/ShotSimulator/Scripts/TrainHandle/Speed/SmallTargetShotTrainHandle.cs
  61. 2 10
      Assets/ShotSimulator/Scripts/TrainHandle/Speed/SpiderShotTrainHandle.cs
  62. 1 1
      Assets/ShotSimulator/Scripts/TrainInfo/FirearmInfo/TrainFirearmConfig.cs.meta
  63. 4 0
      Assets/ShotSimulator/Scripts/UI/Radar/GraphData.cs
  64. 1 1
      Assets/ShotSimulator/Scripts/UI/Train/CursorUIView.cs
  65. 10 0
      Assets/ShotSimulator/Scripts/UI/Train/ExecuteTrainUIView.cs
  66. 25 2
      Assets/ShotSimulator/Scripts/UI/Train/Rank/RankingItem.cs
  67. 2 1
      Assets/ShotSimulator/Scripts/UI/Train/Rank/RankingUIView.cs
  68. 1 1
      Assets/ShotSimulator/Scripts/UI/Train/SettingUIView.cs
  69. 36 18
      Assets/ShotSimulator/Scripts/UI/Train/TrainSettlementUIView.cs
  70. 2 0
      Assets/ShotSimulator/Scripts/UI/Train/TrainTaskDetailUIView.cs
  71. 2 1
      Assets/ShotSimulator/Scripts/UI/Train/TrainTaskInfoUIView.cs
  72. 11 9
      Assets/ShotSimulator/_Barking_Dog/敌潮射击/护盾.mat

TEMPAT SAMPAH
Assets/AddressableAssetsData/Android/addressables_content_state.bin


+ 18 - 2
Assets/BowArrow/Scripts/Bluetooth/ShootCheck.cs

@@ -28,11 +28,27 @@ public class ShootCheck : MonoBehaviour
 
     [NonSerialized] public byte byteTime1;
     [NonSerialized] public byte byteTime2;
+    //目前只处理m4
+    private int _lastHandledId = -1;
+    private float _lastHandledTime = 0f;
+    private const float duplicateIgnoreWindow = 0.1f; // 可调:忽略窗口(单位秒)
     /**通过红外线数据进行射击 */
     public void ShootByInfrared(byte[] bytes) {
+
+        int id = bytes[1]; //序号
+        float now = Time.time;
+        // 判断是否是重复射击
+        if (id == _lastHandledId && (now - _lastHandledTime) < duplicateIgnoreWindow)
+        {
+            // 相同序号 + 窗口时间内,不处理
+            return;
+        }
+        // 记录本次处理状态
+        _lastHandledId = id;
+        _lastHandledTime = now;
+
         byteTime1 = bytes[2];
         byteTime1 = bytes[3];
-        int id = bytes[1]; //序号
         float time1 = bytes[2] * 0.1f; //时区1耗时
         float time2 = bytes[3] * 0.1f; //时区2耗时
         float totalTime = time1 + time2;
@@ -51,7 +67,7 @@ public class ShootCheck : MonoBehaviour
         //打印
         string logTxt = $"序号{id},时区1:{time1}毫秒,时区2:{time2}毫秒,校验:{sumCheckRes},弓轨速度:{speed}m/s,箭的速度:{shootSpeed}m/s";
         if (DebugForDevice.ins) DebugForDevice.ins.LogInfrared(logTxt);
-        //Debug.Log(logTxt);
+        Debug.Log(logTxt);
 
         if (SB_EventSystem.ins && SB_EventSystem.ins.simulateMouseIsAwaked) {
             SB_EventSystem.ins.ClickMouse();

+ 2 - 2
Assets/BowArrow/Scripts/CommonConfig.cs

@@ -88,7 +88,7 @@ public class CommonConfig
         {
             if (serverType == ServerType.Produce)
             {
-                Debug.Log("****************** 正式服务器: " + serverIndex + " ********************");
+               // Debug.Log("****************** 正式服务器: " + serverIndex + " ********************");
                 if (serverIndex == 0)
                     return "https://www.xmjssvr.com/SmartBowBusinessServer";//"http://118.195.187.121/SmartBowBusinessServer";等备案再使用域名
                 else if (serverIndex == 1)
@@ -96,7 +96,7 @@ public class CommonConfig
             }
             else if (serverType == ServerType.Test)
             {
-                Debug.Log("****************** 测试服务器 ********************");
+              //  Debug.Log("****************** 测试服务器 ********************");
                 //测试服务器
                 return "http://www.b-beng.com/SmartBowBusinessServer";
             }

+ 8 - 0
Assets/ShotSimulator/HumanBrokenEffect/TeXiao.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 158e2382a1a80e74a8cd6cb652d63e37
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/ShotSimulator/HumanBrokenEffect/TeXiao/dependencies.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 80f5b4665dcec0546bf11a7d630ae6fa
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 251 - 0
Assets/ShotSimulator/HumanBrokenEffect/TeXiao/dependencies/Add_CenterGlow.shader

@@ -0,0 +1,251 @@
+Shader "Hovl/Particles/Add_CenterGlow"
+{
+	Properties
+	{	
+		_MainTex("MainTex", 2D) = "white" {}
+		_Noise("Noise", 2D) = "white" {}
+		_Flow("Flow", 2D) = "white" {}
+		_Mask("Mask", 2D) = "white" {}
+		_SpeedMainTexUVNoiseZW("Speed MainTex U/V + Noise Z/W", Vector) = (0,0,0,0)
+		_DistortionSpeedXYPowerZ("Distortion Speed XY Power Z", Vector) = (0,0,0,0)
+		_Emission("Emission", Float) = 2
+		_Color("Color", Color) = (0.5,0.5,0.5,1)
+		[Toggle]_Usecenterglow("Use center glow?", Float) = 0
+		[MaterialToggle] _Usedepth ("Use depth?", Float ) = 0
+		[MaterialToggle] _Usecustomrandom ("Use Custom Random?", Float ) = 0
+        _Depthpower ("Depth power", Float ) = 1
+		[Enum(Cull Off,0, Cull Front,1, Cull Back,2)] _CullMode("Culling", Float) = 0
+		[Enum(One,1,OneMinuSrcAlpha,6)] _Blend2 ("Blend mode subset", Float) = 1
+		[HideInInspector] _texcoord( "", 2D ) = "white" {}
+	}
+
+	Category 
+	{
+		SubShader
+		{
+			Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" "PreviewType"="Plane" }
+			Blend One[_Blend2]
+			ColorMask RGB
+			Cull[_CullMode]
+			Lighting Off 
+			ZWrite Off
+			ZTest LEqual
+			
+			Pass {
+				CGPROGRAM
+				
+				#ifndef UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX
+				#define UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(input)
+				#endif
+				
+				#pragma vertex vert
+				#pragma fragment frag
+				#pragma target 2.0
+				#pragma multi_compile_particles
+				#pragma multi_compile_fog
+				#include "UnityShaderVariables.cginc"
+				#include "UnityCG.cginc"
+
+				struct appdata_t 
+				{
+					float4 vertex : POSITION;
+					fixed4 color : COLOR;
+					float4 texcoord : TEXCOORD0;
+					UNITY_VERTEX_INPUT_INSTANCE_ID
+					
+				};
+
+				struct v2f 
+				{
+					float4 vertex : SV_POSITION;
+					fixed4 color : COLOR;
+					float4 texcoord : TEXCOORD0;
+					UNITY_FOG_COORDS(1)
+					#ifdef SOFTPARTICLES_ON
+					float4 projPos : TEXCOORD2;
+					#endif
+					UNITY_VERTEX_INPUT_INSTANCE_ID
+					UNITY_VERTEX_OUTPUT_STEREO			
+				};	
+				
+				#if UNITY_VERSION >= 560
+				UNITY_DECLARE_DEPTH_TEXTURE( _CameraDepthTexture );
+				#else
+				uniform sampler2D_float _CameraDepthTexture;
+				#endif
+
+				//Don't delete this comment
+				// uniform sampler2D_float _CameraDepthTexture;
+
+				uniform sampler2D _MainTex;
+				uniform float4 _MainTex_ST;
+				uniform float _Usecenterglow;
+				uniform float4 _SpeedMainTexUVNoiseZW;
+				uniform sampler2D _Flow;
+				uniform float4 _DistortionSpeedXYPowerZ;
+				uniform float4 _Flow_ST;
+				uniform sampler2D _Mask;
+				uniform float4 _Mask_ST;
+				uniform sampler2D _Noise;
+				uniform float4 _Noise_ST;
+				uniform float4 _Color;
+				uniform float _Emission;
+				uniform fixed _Usedepth;
+				uniform fixed _Usecustomrandom;
+				uniform float _Depthpower;
+
+				v2f vert ( appdata_t v  )
+				{
+					v2f o;
+					UNITY_SETUP_INSTANCE_ID(v);
+					UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
+					UNITY_TRANSFER_INSTANCE_ID(v, o);		
+
+					v.vertex.xyz +=  float3( 0, 0, 0 ) ;
+					o.vertex = UnityObjectToClipPos(v.vertex);
+					#ifdef SOFTPARTICLES_ON
+						o.projPos = ComputeScreenPos (o.vertex);
+						COMPUTE_EYEDEPTH(o.projPos.z);
+					#endif
+					o.color = v.color;
+					o.texcoord = v.texcoord;
+					UNITY_TRANSFER_FOG(o,o.vertex);
+					return o;
+				}
+
+				fixed4 frag ( v2f i  ) : SV_Target
+				{
+					UNITY_SETUP_INSTANCE_ID( i );
+					UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( i );
+				
+					float lp = 1;
+					#ifdef SOFTPARTICLES_ON
+						float sceneZ = LinearEyeDepth (SAMPLE_DEPTH_TEXTURE_PROJ(_CameraDepthTexture, UNITY_PROJ_COORD(i.projPos)));
+						float partZ = i.projPos.z;
+						float fade = saturate ((sceneZ-partZ) / _Depthpower);
+						lp *= lerp(1, fade, _Usedepth);
+						i.color.a *= lp;
+					#endif
+
+					float2 appendResult21 = (float2(_SpeedMainTexUVNoiseZW.x , _SpeedMainTexUVNoiseZW.y));
+					float2 uv0_MainTex = i.texcoord.xy * _MainTex_ST.xy + _MainTex_ST.zw;
+					float2 panner107 = ( 1.0 * _Time.y * appendResult21 + uv0_MainTex);
+					float2 appendResult100 = (float2(_DistortionSpeedXYPowerZ.x , _DistortionSpeedXYPowerZ.y));
+					float4 uv0_Flow = i.texcoord;
+					uv0_Flow.xy = i.texcoord.xy * _Flow_ST.xy + _Flow_ST.zw;
+					float2 panner110 = ( 1.0 * _Time.y * appendResult100 + (uv0_Flow).xy);
+					float2 uv_Mask = i.texcoord.xy * _Mask_ST.xy + _Mask_ST.zw;
+					float4 tex2DNode33 = tex2D( _Mask, uv_Mask );
+					float Flowpower102 = _DistortionSpeedXYPowerZ.z;
+					float4 tex2DNode13 = tex2D( _MainTex, ( panner107 - ( (( tex2D( _Flow, panner110 ) * tex2DNode33 )).rg * Flowpower102 ) ) );
+					float2 appendResult22 = (float2(_SpeedMainTexUVNoiseZW.z , _SpeedMainTexUVNoiseZW.w));
+					float2 uv0_Noise = i.texcoord.xy * _Noise_ST.xy + _Noise_ST.zw;
+					float ur = lerp(0, i.texcoord.w, _Usecustomrandom);
+					float2 panner108 = ( 1.0 * _Time.y * appendResult22 + ( uv0_Noise + ur ));
+					float4 tex2DNode14 = tex2D( _Noise, panner108 );
+					float4 temp_output_30_0 = ( tex2DNode13 * tex2DNode14 * _Color * i.color * tex2DNode13.a * tex2DNode14.a * _Color.a * i.color.a );
+					float4 temp_cast_0 = ((1.0 + (uv0_Flow.z - 0.0) * (0.0 - 1.0) / (1.0 - 0.0))).xxxx;
+					float4 clampResult38 = clamp( ( tex2DNode33 - temp_cast_0 ) , float4( 0,0,0,0 ) , float4( 1,1,1,1 ) );
+					float4 clampResult40 = clamp( ( tex2DNode33 * clampResult38 ) , float4( 0,0,0,0 ) , float4( 1,1,1,1 ) );		
+
+					fixed4 col = ( lerp(temp_output_30_0,( temp_output_30_0 * clampResult40 ),_Usecenterglow) * _Emission );
+					UNITY_APPLY_FOG_COLOR(i.fogCoord, col, fixed4(0,0,0,1));
+					return col;
+				}
+				ENDCG 
+			}
+		}	
+	}
+}
+/*ASEBEGIN
+Version=18933
+241;73;891;650;4473.836;436.2256;1;True;False
+Node;AmplifyShaderEditor.CommentaryNode;104;-4130.993,490.5418;Inherit;False;1910.996;537.6462;Texture distortion;12;91;33;100;102;99;94;95;103;92;59;98;110;;1,1,1,1;0;0
+Node;AmplifyShaderEditor.Vector4Node;99;-3968.293,619.481;Float;False;Property;_DistortionSpeedXYPowerZ;Distortion Speed XY Power Z;5;0;Create;True;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.TextureCoordinatesNode;98;-3920.299,848.9976;Inherit;False;0;91;3;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.DynamicAppendNode;100;-3535.482,654.5021;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.ComponentMaskNode;59;-3583.603,566.496;Inherit;False;True;True;False;False;1;0;FLOAT3;0,0,0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.PannerNode;110;-3339.196,596.5295;Inherit;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.SamplerNode;33;-3146.373,763.0061;Inherit;True;Property;_Mask;Mask;3;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.SamplerNode;91;-3152.937,567.9764;Inherit;True;Property;_Flow;Flow;2;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.CommentaryNode;109;-3401.27,-330.4436;Inherit;False;1037.896;533.6285;Textures movement;7;107;108;29;21;89;22;15;;1,1,1,1;0;0
+Node;AmplifyShaderEditor.RegisterLocalVarNode;102;-3556.945,748.0421;Float;False;Flowpower;-1;True;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;92;-2762.212,550.0183;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.Vector4Node;15;-3351.27,-101.4007;Float;False;Property;_SpeedMainTexUVNoiseZW;Speed MainTex U/V + Noise Z/W;4;0;Create;True;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.ComponentMaskNode;94;-2609.926,543.6367;Inherit;False;True;True;False;False;1;0;COLOR;0,0,0,0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.TextureCoordinatesNode;29;-2856.788,-280.4436;Inherit;False;0;13;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.DynamicAppendNode;21;-2778.501,-153.1786;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.TFHCRemapNode;36;-2530.289,1355.094;Inherit;False;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;1;False;4;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.GetLocalVarNode;103;-2605.07,630.9626;Inherit;False;102;Flowpower;1;0;OBJECT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;95;-2388.997,542.6455;Inherit;False;2;2;0;FLOAT2;0,0;False;1;FLOAT;0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.SimpleSubtractOpNode;37;-2289.906,1280.763;Inherit;False;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0
+Node;AmplifyShaderEditor.DynamicAppendNode;22;-2766.722,70.18491;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.PannerNode;107;-2570.374,-239.5098;Inherit;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.TextureCoordinatesNode;89;-2861.858,-55.04038;Inherit;False;0;14;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.ClampOpNode;38;-2130.64,1280.587;Inherit;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;COLOR;1,1,1,1;False;1;COLOR;0
+Node;AmplifyShaderEditor.PannerNode;108;-2577.237,-21.63752;Inherit;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.SimpleSubtractOpNode;96;-1989.684,-41.77601;Inherit;False;2;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;39;-1937.593,1156.593;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.VertexColorNode;32;-1670.612,486.0577;Inherit;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.SamplerNode;14;-1804.579,119.2214;Inherit;True;Property;_Noise;Noise;1;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.ColorNode;31;-1728.612,316.0578;Float;False;Property;_Color;Color;7;0;Create;True;0;0;0;False;0;False;0.5,0.5,0.5,1;0.5,0.5,0.5,1;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.SamplerNode;13;-1803.192,-66.2159;Inherit;True;Property;_MainTex;MainTex;0;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;30;-1187.357,127.2037;Inherit;False;8;8;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;COLOR;0,0,0,0;False;3;COLOR;0,0,0,0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT;0;False;7;FLOAT;0;False;1;COLOR;0
+Node;AmplifyShaderEditor.ClampOpNode;40;-1764.275,1143.857;Inherit;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;COLOR;1,1,1,1;False;1;COLOR;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;41;-896.1669,248.9071;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.RangedFloatNode;52;-621.877,229.5624;Float;False;Property;_Emission;Emission;6;0;Create;True;0;0;0;False;0;False;2;2;0;0;0;1;FLOAT;0
+Node;AmplifyShaderEditor.ToggleSwitchNode;90;-697.314,128.5203;Float;False;Property;_Usecenterglow;Use center glow?;8;0;Create;True;0;0;0;False;0;False;0;True;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.RangedFloatNode;118;-4042.074,-151.394;Inherit;False;Property;_Blend2;Blend mode subset;10;1;[Enum];Create;False;0;2;One;1;OneMinuSrcAlpha;6;0;True;0;False;0;0;0;0;0;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;51;-461.6268,132.2673;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0
+Node;AmplifyShaderEditor.ComponentMaskNode;72;-1580.242,1135.946;Inherit;False;True;True;True;False;1;0;COLOR;0,0,0,0;False;1;FLOAT3;0
+Node;AmplifyShaderEditor.RangedFloatNode;112;-3998.052,-233.8391;Inherit;False;Property;_CullMode;Culling;9;1;[Enum];Create;False;0;3;Cull Off;0;Cull Front;1;Cull Back;2;0;True;0;False;0;0;0;0;0;1;FLOAT;0
+Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;68;-322.6836,135.062;Float;False;True;-1;2;;0;7;Hovl/Particles/Add_CenterGlow;0b6a9f8b4f707c74ca64c0be8e590de0;True;SubShader 0 Pass 0;0;0;SubShader 0 Pass 0;2;True;True;4;1;False;-1;1;True;118;0;1;False;-1;0;False;-1;False;False;False;False;False;False;False;False;False;False;False;True;True;2;True;112;False;True;True;True;True;False;0;False;-1;False;False;False;False;False;False;False;False;False;True;2;False;-1;True;3;False;-1;False;True;4;Queue=AlphaTest=Queue=0;IgnoreProjector=True;RenderType=Transparent=RenderType;PreviewType=Plane;False;False;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;0;;0;0;Standard;0;0;1;True;False;;False;0
+WireConnection;100;0;99;1
+WireConnection;100;1;99;2
+WireConnection;59;0;98;0
+WireConnection;110;0;59;0
+WireConnection;110;2;100;0
+WireConnection;91;1;110;0
+WireConnection;102;0;99;3
+WireConnection;92;0;91;0
+WireConnection;92;1;33;0
+WireConnection;94;0;92;0
+WireConnection;21;0;15;1
+WireConnection;21;1;15;2
+WireConnection;36;0;98;3
+WireConnection;95;0;94;0
+WireConnection;95;1;103;0
+WireConnection;37;0;33;0
+WireConnection;37;1;36;0
+WireConnection;22;0;15;3
+WireConnection;22;1;15;4
+WireConnection;107;0;29;0
+WireConnection;107;2;21;0
+WireConnection;38;0;37;0
+WireConnection;108;0;89;0
+WireConnection;108;2;22;0
+WireConnection;96;0;107;0
+WireConnection;96;1;95;0
+WireConnection;39;0;33;0
+WireConnection;39;1;38;0
+WireConnection;14;1;108;0
+WireConnection;13;1;96;0
+WireConnection;30;0;13;0
+WireConnection;30;1;14;0
+WireConnection;30;2;31;0
+WireConnection;30;3;32;0
+WireConnection;30;4;13;4
+WireConnection;30;5;14;4
+WireConnection;30;6;31;4
+WireConnection;30;7;32;4
+WireConnection;40;0;39;0
+WireConnection;41;0;30;0
+WireConnection;41;1;40;0
+WireConnection;90;0;30;0
+WireConnection;90;1;41;0
+WireConnection;51;0;90;0
+WireConnection;51;1;52;0
+WireConnection;72;0;40;0
+WireConnection;68;0;51;0
+ASEEND*/
+//CHKSM=065B3046307DE9EF352E031335721312D58D1775

+ 10 - 0
Assets/ShotSimulator/HumanBrokenEffect/TeXiao/dependencies/Add_CenterGlow.shader.meta

@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: bd6af5d577c618947b73aa60db554e51
+ShaderImporter:
+  externalObjects: {}
+  defaultTextures: []
+  nonModifiableTextures: []
+  preprocessorOverride: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 245 - 0
Assets/ShotSimulator/HumanBrokenEffect/TeXiao/dependencies/Blend_CenterGlow.shader

@@ -0,0 +1,245 @@
+Shader "Hovl/Particles/Blend_CenterGlow"
+{
+	Properties
+	{
+		_MainTex("MainTex", 2D) = "white" {}
+		_Noise("Noise", 2D) = "white" {}
+		_Flow("Flow", 2D) = "white" {}
+		_Mask("Mask", 2D) = "white" {}
+		_SpeedMainTexUVNoiseZW("Speed MainTex U/V + Noise Z/W", Vector) = (0,0,0,0)
+		_DistortionSpeedXYPowerZ("Distortion Speed XY Power Z", Vector) = (0,0,0,0)
+		_Emission("Emission", Float) = 2
+		_Color("Color", Color) = (0.5,0.5,0.5,1)
+		_Opacity("Opacity", Range( 0 , 3)) = 1
+		[Toggle]_Usecenterglow("Use center glow?", Float) = 0
+		[MaterialToggle] _Usedepth ("Use depth?", Float ) = 0
+        _Depthpower ("Depth power", Float ) = 1
+		[Enum(Cull Off,0, Cull Front,1, Cull Back,2)] _CullMode("Culling", Float) = 0
+		[HideInInspector] _texcoord( "", 2D ) = "white" {}
+	}
+
+	Category 
+	{
+		SubShader
+		{
+			Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" "PreviewType"="Plane" }
+			Blend SrcAlpha OneMinusSrcAlpha
+			ColorMask RGB
+			Cull[_CullMode]
+			Lighting Off 
+			ZWrite Off
+			ZTest LEqual
+			
+			Pass {
+				CGPROGRAM
+				#pragma vertex vert
+				#pragma fragment frag
+				#pragma target 2.0
+				#pragma multi_compile_particles
+				#pragma multi_compile_fog
+				#include "UnityShaderVariables.cginc"
+				#include "UnityCG.cginc"
+
+				struct appdata_t 
+				{
+					float4 vertex : POSITION;
+					fixed4 color : COLOR;
+					float4 texcoord : TEXCOORD0;
+					UNITY_VERTEX_INPUT_INSTANCE_ID
+					
+				};
+
+				struct v2f 
+				{
+					float4 vertex : SV_POSITION;
+					fixed4 color : COLOR;
+					float4 texcoord : TEXCOORD0;
+					UNITY_FOG_COORDS(1)
+					#ifdef SOFTPARTICLES_ON
+					float4 projPos : TEXCOORD2;
+					#endif
+					UNITY_VERTEX_INPUT_INSTANCE_ID
+					UNITY_VERTEX_OUTPUT_STEREO	
+				};		
+				
+				#if UNITY_VERSION >= 560
+				UNITY_DECLARE_DEPTH_TEXTURE( _CameraDepthTexture );
+				#else
+				uniform sampler2D_float _CameraDepthTexture;
+				#endif
+
+				//Don't delete this comment
+				// uniform sampler2D_float _CameraDepthTexture;
+
+				uniform sampler2D _MainTex;
+				uniform float4 _MainTex_ST;
+				uniform float _Usecenterglow;
+				uniform float4 _SpeedMainTexUVNoiseZW;
+				uniform sampler2D _Flow;
+				uniform float4 _DistortionSpeedXYPowerZ;
+				uniform float4 _Flow_ST;
+				uniform sampler2D _Mask;
+				uniform float4 _Mask_ST;
+				uniform sampler2D _Noise;
+				uniform float4 _Noise_ST;
+				uniform float4 _Color;
+				uniform float _Emission;
+				uniform float _Opacity;
+				uniform fixed _Usedepth;
+				uniform float _Depthpower;
+
+				v2f vert ( appdata_t v  )
+				{
+					v2f o;
+					UNITY_SETUP_INSTANCE_ID(v);
+					UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
+					UNITY_TRANSFER_INSTANCE_ID(v, o);
+					
+					v.vertex.xyz +=  float3( 0, 0, 0 ) ;
+					o.vertex = UnityObjectToClipPos(v.vertex);
+					#ifdef SOFTPARTICLES_ON
+						o.projPos = ComputeScreenPos (o.vertex);
+						COMPUTE_EYEDEPTH(o.projPos.z);
+					#endif
+					o.color = v.color;
+					o.texcoord = v.texcoord;
+					UNITY_TRANSFER_FOG(o,o.vertex);
+					return o;
+				}
+
+				fixed4 frag ( v2f i  ) : SV_Target
+				{
+					float lp = 1;
+					#ifdef SOFTPARTICLES_ON
+						float sceneZ = LinearEyeDepth (SAMPLE_DEPTH_TEXTURE_PROJ(_CameraDepthTexture, UNITY_PROJ_COORD(i.projPos)));
+						float partZ = i.projPos.z;
+						float fade = saturate ((sceneZ-partZ) / _Depthpower);
+						lp *= lerp(1, fade, _Usedepth);
+						i.color.a *= lp;
+					#endif
+
+					float2 appendResult21 = (float2(_SpeedMainTexUVNoiseZW.x , _SpeedMainTexUVNoiseZW.y));
+					float2 uv0_MainTex = i.texcoord.xy * _MainTex_ST.xy + _MainTex_ST.zw;
+					float2 panner107 = ( 1.0 * _Time.y * appendResult21 + uv0_MainTex);
+					float2 appendResult100 = (float2(_DistortionSpeedXYPowerZ.x , _DistortionSpeedXYPowerZ.y));
+					float3 uv0_Flow = i.texcoord.xyz;
+					uv0_Flow.xy = i.texcoord.xy * _Flow_ST.xy + _Flow_ST.zw;
+					float2 panner110 = ( 1.0 * _Time.y * appendResult100 + (uv0_Flow).xy);
+					float2 uv_Mask = i.texcoord.xy * _Mask_ST.xy + _Mask_ST.zw;
+					float4 tex2DNode33 = tex2D( _Mask, uv_Mask );
+					float Flowpower102 = _DistortionSpeedXYPowerZ.z;
+					float4 tex2DNode13 = tex2D( _MainTex, ( panner107 - ( (( tex2D( _Flow, panner110 ) * tex2DNode33 )).rg * Flowpower102 ) ) );
+					float2 appendResult22 = (float2(_SpeedMainTexUVNoiseZW.z , _SpeedMainTexUVNoiseZW.w));
+					float2 uv0_Noise = i.texcoord.xy * _Noise_ST.xy + _Noise_ST.zw;
+					float2 panner108 = ( 1.0 * _Time.y * appendResult22 + uv0_Noise);
+					float4 tex2DNode14 = tex2D( _Noise, panner108 );
+					float3 temp_output_78_0 = (( tex2DNode13 * tex2DNode14 * _Color * i.color )).rgb;
+					float4 temp_cast_0 = ((1.0 + (uv0_Flow.z - 0.0) * (0.0 - 1.0) / (1.0 - 0.0))).xxxx;
+					float4 clampResult38 = tex2DNode33 - temp_cast_0;
+					float4 clampResult40 = clamp( ( tex2DNode33 * clampResult38 ) , float4( 0,0,0,0 ) , float4( 1,1,1,1 ) );
+					float4 appendResult87 = (float4(( lerp(temp_output_78_0,( temp_output_78_0 * (clampResult40).rgb ),_Usecenterglow) * _Emission ) , ( tex2DNode13.a * tex2DNode14.a * _Color.a * i.color.a * _Opacity )));
+					fixed4 col = appendResult87;
+					UNITY_APPLY_FOG(i.fogCoord, col);
+					return col;
+				}
+				ENDCG 
+			}
+		}	
+	}	
+}
+/*ASEBEGIN
+Version=16900
+539;113;1213;901;2980.863;-333.0655;1.454142;True;False
+Node;AmplifyShaderEditor.CommentaryNode;104;-4130.993,490.5418;Float;False;1910.996;537.6462;Texture distortion;12;91;33;100;102;99;94;95;103;92;59;98;110;;1,1,1,1;0;0
+Node;AmplifyShaderEditor.Vector4Node;99;-3968.293,619.481;Float;False;Property;_DistortionSpeedXYPowerZ;Distortion Speed XY Power Z;5;0;Create;True;0;0;False;0;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.TextureCoordinatesNode;98;-3920.299,848.9976;Float;False;0;91;3;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.DynamicAppendNode;100;-3535.482,654.5021;Float;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.ComponentMaskNode;59;-3583.603,566.496;Float;False;True;True;False;False;1;0;FLOAT3;0,0,0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.PannerNode;110;-3339.196,596.5295;Float;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.SamplerNode;33;-3146.373,763.0061;Float;True;Property;_Mask;Mask;3;0;Create;True;0;0;False;0;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.SamplerNode;91;-3152.937,567.9764;Float;True;Property;_Flow;Flow;2;0;Create;True;0;0;False;0;None;61c0b9c0523734e0e91bc6043c72a490;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.CommentaryNode;109;-3401.27,-330.4436;Float;False;1037.896;533.6285;Textures movement;7;107;108;29;21;89;22;15;;1,1,1,1;0;0
+Node;AmplifyShaderEditor.Vector4Node;15;-3351.27,-101.4007;Float;False;Property;_SpeedMainTexUVNoiseZW;Speed MainTex U/V + Noise Z/W;4;0;Create;True;0;0;False;0;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.RegisterLocalVarNode;102;-3556.945,748.0421;Float;False;Flowpower;-1;True;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;92;-2762.212,550.0183;Float;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.DynamicAppendNode;21;-2778.501,-153.1786;Float;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.ComponentMaskNode;94;-2609.926,543.6367;Float;False;True;True;False;False;1;0;COLOR;0,0,0,0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.TextureCoordinatesNode;29;-2856.788,-280.4436;Float;False;0;13;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.GetLocalVarNode;103;-2605.07,630.9626;Float;False;102;Flowpower;1;0;OBJECT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.DynamicAppendNode;22;-2766.722,70.18491;Float;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;95;-2388.997,542.6455;Float;False;2;2;0;FLOAT2;0,0;False;1;FLOAT;0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.TextureCoordinatesNode;89;-2861.858,-55.04038;Float;False;0;14;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.TFHCRemapNode;36;-2530.289,1355.094;Float;False;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;1;False;4;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.PannerNode;107;-2570.374,-239.5098;Float;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.PannerNode;108;-2577.237,-21.63752;Float;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.SimpleSubtractOpNode;96;-1989.684,-41.77601;Float;False;2;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.SimpleSubtractOpNode;37;-2289.906,1280.763;Float;False;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;39;-1937.593,1156.593;Float;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.SamplerNode;14;-1804.579,119.2214;Float;True;Property;_Noise;Noise;1;0;Create;True;0;0;False;0;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.SamplerNode;13;-1803.192,-66.2159;Float;True;Property;_MainTex;MainTex;0;0;Create;True;0;0;False;0;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.ColorNode;31;-1728.612,316.0578;Float;False;Property;_Color;Color;7;0;Create;True;0;0;False;0;0.5,0.5,0.5,1;0.5,0.5,0.5,1;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.VertexColorNode;32;-1670.612,486.0577;Float;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;30;-1135.791,-2.490838;Float;False;4;4;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;COLOR;0,0,0,0;False;3;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.ClampOpNode;40;-1764.275,1143.857;Float;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;COLOR;1,1,1,1;False;1;COLOR;0
+Node;AmplifyShaderEditor.ComponentMaskNode;78;-945.7914,41.06877;Float;False;True;True;True;False;1;0;COLOR;0,0,0,0;False;1;FLOAT3;0
+Node;AmplifyShaderEditor.ComponentMaskNode;72;-1580.242,1135.946;Float;False;True;True;True;False;1;0;COLOR;0,0,0,0;False;1;FLOAT3;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;41;-714.9078,127.0253;Float;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0
+Node;AmplifyShaderEditor.RangedFloatNode;62;-826.0103,543.6755;Float;False;Property;_Opacity;Opacity;8;0;Create;True;0;0;False;0;1;1;0;1;0;1;FLOAT;0
+Node;AmplifyShaderEditor.RangedFloatNode;52;-446.0907,153.7209;Float;False;Property;_Emission;Emission;6;0;Create;True;0;0;False;0;2;2;0;0;0;1;FLOAT;0
+Node;AmplifyShaderEditor.ToggleSwitchNode;90;-536.6786,48.89112;Float;False;Property;_Usecenterglow;Use center glow?;9;0;Create;True;0;0;False;0;0;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;88;-460.9,315.4933;Float;False;5;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;4;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;51;-285.8404,56.42584;Float;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;1;FLOAT3;0
+Node;AmplifyShaderEditor.DynamicAppendNode;87;-123.9274,58.99411;Float;False;FLOAT4;4;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT4;0
+Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;68;48.80347,59.22049;Float;False;True;2;Float;;0;7;Hovl/Particles/Blend_CenterGlow;0b6a9f8b4f707c74ca64c0be8e590de0;True;SubShader 0 Pass 0;0;0;SubShader 0 Pass 0;2;True;2;5;False;-1;10;False;-1;0;1;False;-1;0;False;-1;False;False;True;2;False;-1;True;True;True;True;False;0;False;-1;False;True;2;False;-1;True;3;False;-1;False;True;4;Queue=Transparent=Queue=0;IgnoreProjector=True;RenderType=Transparent=RenderType;PreviewType=Plane;False;0;False;False;False;False;False;False;False;False;False;False;True;0;0;;0;0;Standard;0;0;1;True;False;2;0;FLOAT4;0,0,0,0;False;1;FLOAT3;0,0,0;False;0
+WireConnection;100;0;99;1
+WireConnection;100;1;99;2
+WireConnection;59;0;98;0
+WireConnection;110;0;59;0
+WireConnection;110;2;100;0
+WireConnection;91;1;110;0
+WireConnection;102;0;99;3
+WireConnection;92;0;91;0
+WireConnection;92;1;33;0
+WireConnection;21;0;15;1
+WireConnection;21;1;15;2
+WireConnection;94;0;92;0
+WireConnection;22;0;15;3
+WireConnection;22;1;15;4
+WireConnection;95;0;94;0
+WireConnection;95;1;103;0
+WireConnection;36;0;98;3
+WireConnection;107;0;29;0
+WireConnection;107;2;21;0
+WireConnection;108;0;89;0
+WireConnection;108;2;22;0
+WireConnection;96;0;107;0
+WireConnection;96;1;95;0
+WireConnection;37;0;33;0
+WireConnection;37;1;36;0
+WireConnection;39;0;33;0
+WireConnection;39;1;37;0
+WireConnection;14;1;108;0
+WireConnection;13;1;96;0
+WireConnection;30;0;13;0
+WireConnection;30;1;14;0
+WireConnection;30;2;31;0
+WireConnection;30;3;32;0
+WireConnection;40;0;39;0
+WireConnection;78;0;30;0
+WireConnection;72;0;40;0
+WireConnection;41;0;78;0
+WireConnection;41;1;72;0
+WireConnection;90;0;78;0
+WireConnection;90;1;41;0
+WireConnection;88;0;13;4
+WireConnection;88;1;14;4
+WireConnection;88;2;31;4
+WireConnection;88;3;32;4
+WireConnection;88;4;62;0
+WireConnection;51;0;90;0
+WireConnection;51;1;52;0
+WireConnection;87;0;51;0
+WireConnection;87;3;88;0
+WireConnection;68;0;87;0
+ASEEND*/
+//CHKSM=2C2AF11BAD8C4FA3B304EF2019556266F5F43326

+ 9 - 0
Assets/ShotSimulator/HumanBrokenEffect/TeXiao/dependencies/Blend_CenterGlow.shader.meta

@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: b68b99c2e57cef4419465c63c527201b
+ShaderImporter:
+  externalObjects: {}
+  defaultTextures: []
+  nonModifiableTextures: []
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 109 - 0
Assets/ShotSimulator/HumanBrokenEffect/TeXiao/dependencies/FlashGroundCG.mat

@@ -0,0 +1,109 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: FlashGroundCG
+  m_Shader: {fileID: 4800000, guid: bd6af5d577c618947b73aa60db554e51, type: 3}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _Flow:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 60d224affeaecf84ead5a8b24c6c9995, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _Mask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _Noise:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _texcoord:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _Blend2: 1
+    - _BlendMode: 1
+    - _BumpScale: 1
+    - _CullMode: 0
+    - _Cutoff: 0.5
+    - _Depthpower: 0.7
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 1
+    - _DstMode: 10
+    - _Emission: 2
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _MainTexUspeed: 0
+    - _MainTexVspeed: 0
+    - _Metallic: 0
+    - _Mode: 0
+    - _NoiseUspeed: 0
+    - _NoiseVspeed: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _SrcMode: 5
+    - _UVSec: 0
+    - _Usecenterglow: 0
+    - _Usedepth: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _DistortionSpeedXYPowerZ: {r: 0, g: 0, b: 0, a: 0}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+    - _SpeedMainTexUVNoiseUV: {r: 0, g: 0, b: 0, a: 0}
+    - _SpeedMainTexUVNoiseZW: {r: 0, g: 0, b: 0, a: 0}
+    - _TilingMainTexUVNoiseZW: {r: 1, g: 1, b: 1, a: 1}
+    - _TintColor: {r: 1, g: 1, b: 1, a: 1}

+ 10 - 0
Assets/ShotSimulator/HumanBrokenEffect/TeXiao/dependencies/FlashGroundCG.mat.meta

@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: d5dfb7b499f5de840871d37b9f54d073
+timeCreated: 1523528882
+licenseType: Store
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

TEMPAT SAMPAH
Assets/ShotSimulator/HumanBrokenEffect/TeXiao/dependencies/Glow1.png


+ 117 - 0
Assets/ShotSimulator/HumanBrokenEffect/TeXiao/dependencies/Glow1.png.meta

@@ -0,0 +1,117 @@
+fileFormatVersion: 2
+guid: 7605196420d204945843c4c794c58361
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 5
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 2
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 512
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 512
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Android
+    maxTextureSize: 512
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 512
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 108 - 0
Assets/ShotSimulator/HumanBrokenEffect/TeXiao/dependencies/Glow1cg.mat

@@ -0,0 +1,108 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+  serializedVersion: 8
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: Glow1cg
+  m_Shader: {fileID: 4800000, guid: bd6af5d577c618947b73aa60db554e51, type: 3}
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords:
+  - _USEDEPTH_ON
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_LockedProperties: 
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _Flow:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 7605196420d204945843c4c794c58361, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _Mask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _Noise:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _texcoord:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Ints: []
+    m_Floats:
+    - _Blend2: 1
+    - _BumpScale: 1
+    - _CullMode: 0
+    - _Cutoff: 0.5
+    - _Depthpower: 0.1
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 1
+    - _Emission: 10
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Opacity: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _Usecenterglow: 0
+    - _Usedepth: 1
+    m_Colors:
+    - _Color: {r: 1, g: 0.84313726, b: 0, a: 1}
+    - _DistortionSpeedXYPowerZ: {r: 0, g: 0, b: 0, a: 0}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+    - _SpeedMainTexUVNoiseZW: {r: 0, g: 0, b: 0, a: 0}
+  m_BuildTextureStacks: []

+ 8 - 0
Assets/ShotSimulator/HumanBrokenEffect/TeXiao/dependencies/Glow1cg.mat.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 12fb1d84a82a2de4f8b3e8b1f2747b43
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

TEMPAT SAMPAH
Assets/ShotSimulator/HumanBrokenEffect/TeXiao/dependencies/MaskForShader.png


+ 97 - 0
Assets/ShotSimulator/HumanBrokenEffect/TeXiao/dependencies/MaskForShader.png.meta

@@ -0,0 +1,97 @@
+fileFormatVersion: 2
+guid: 60d224affeaecf84ead5a8b24c6c9995
+timeCreated: 1516386076
+licenseType: Store
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 1
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 2
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 512
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - buildTarget: Standalone
+    maxTextureSize: 512
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - buildTarget: Android
+    maxTextureSize: 512
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 2 - 6
Assets/ShotSimulator/Languages/Tables/LanguagesTable Shared Data.asset

@@ -36,7 +36,7 @@ MonoBehaviour:
     m_Metadata:
       m_Items: []
   - m_Id: 44751857610752
-    m_Key: weapon_type_artemis
+    m_Key: weapon_type_artemispro
     m_Metadata:
       m_Items: []
   - m_Id: 45712432918528
@@ -74,7 +74,7 @@ MonoBehaviour:
     m_Metadata:
       m_Items: []
   - m_Id: 31950367846400
-    m_Key: traintaskinfouiview_navbar_device_connect
+    m_Key: traintaskinfouiview_navbar_back
     m_Metadata:
       m_Items: []
   - m_Id: 45950937821184
@@ -485,10 +485,6 @@ MonoBehaviour:
     m_Key: executetrainuiview_chamber_tip
     m_Metadata:
       m_Items: []
-  - m_Id: 2264804913016832
-    m_Key: traintaskinfouiview_navbar_device_diconnect
-    m_Metadata:
-      m_Items: []
   m_Metadata:
     m_Items: []
   m_KeyGenerator:

+ 6 - 10
Assets/ShotSimulator/Languages/Tables/LanguagesTable_en.asset

@@ -56,11 +56,11 @@ MonoBehaviour:
     m_Metadata:
       m_Items: []
   - m_Id: 14900886990848
-    m_Localized: Tactical
+    m_Localized: TACTICAL MODE
     m_Metadata:
       m_Items: []
   - m_Id: 31950367846400
-    m_Localized: Connect
+    m_Localized: BACK
     m_Metadata:
       m_Items: []
   - m_Id: 36414944407552
@@ -140,7 +140,7 @@ MonoBehaviour:
     m_Metadata:
       m_Items: []
   - m_Id: 43145409818624
-    m_Localized: TACTICAL MODE
+    m_Localized: Tactical
     m_Metadata:
       m_Items: []
   - m_Id: 43322845655040
@@ -160,7 +160,7 @@ MonoBehaviour:
     m_Metadata:
       m_Items: []
   - m_Id: 44751857610752
-    m_Localized: Artemis
+    m_Localized: ARTEMIS Pro
     m_Metadata:
       m_Items: []
   - m_Id: 44972419280896
@@ -168,7 +168,7 @@ MonoBehaviour:
     m_Metadata:
       m_Items: []
   - m_Id: 45295766564864
-    m_Localized: Houyi Pro
+    m_Localized: HOUYI Pro
     m_Metadata:
       m_Items: []
   - m_Id: 45712432918528
@@ -306,7 +306,7 @@ MonoBehaviour:
     m_Metadata:
       m_Items: []
   - m_Id: 56704550268928
-    m_Localized: Shoot the central target to spawn new targets in a radial pattern.
+    m_Localized: Track and destroy randomly moving targets.
     m_Metadata:
       m_Items: []
   - m_Id: 56749253160960
@@ -496,10 +496,6 @@ MonoBehaviour:
     m_Localized: BOLT THE RIFLE!
     m_Metadata:
       m_Items: []
-  - m_Id: 2264804913016832
-    m_Localized: Diconnect
-    m_Metadata:
-      m_Items: []
   references:
     version: 2
     RefIds:

+ 7 - 11
Assets/ShotSimulator/Languages/Tables/LanguagesTable_zh-Hans.asset

@@ -60,7 +60,7 @@ MonoBehaviour:
     m_Metadata:
       m_Items: []
   - m_Id: 31950367846400
-    m_Localized: "\u8FDE\u63A5\u8BBE\u5907"
+    m_Localized: "\u8FD4\u56DE"
     m_Metadata:
       m_Items: []
   - m_Id: 36414944407552
@@ -148,19 +148,19 @@ MonoBehaviour:
     m_Metadata:
       m_Items: []
   - m_Id: 44311422136320
-    m_Localized: "\u7535\u5B50\u624B\u67AA M9"
+    m_Localized: M9
     m_Metadata:
       m_Items: []
   - m_Id: 44519560278016
-    m_Localized: "\u7535\u5B50\u624B\u67AA M17"
+    m_Localized: M17
     m_Metadata:
       m_Items: []
   - m_Id: 44652599406592
-    m_Localized: "\u7535\u5B50\u624B\u67AA M416"
+    m_Localized: M416
     m_Metadata:
       m_Items: []
   - m_Id: 44751857610752
-    m_Localized: Artemis
+    m_Localized: ARTEMIS Pro
     m_Metadata:
       m_Items: []
   - m_Id: 44972419280896
@@ -168,7 +168,7 @@ MonoBehaviour:
     m_Metadata:
       m_Items: []
   - m_Id: 45295766564864
-    m_Localized: Houyi Pro
+    m_Localized: HOUYI Pro
     m_Metadata:
       m_Items: []
   - m_Id: 45712432918528
@@ -300,7 +300,7 @@ MonoBehaviour:
     m_Metadata:
       m_Items: []
   - m_Id: 56704550268928
-    m_Localized: "\u5C04\u51FB\u4E2D\u592E\u9759\u6001\u76EE\u6807\uFF0C\u4E0B\u4E00\u4E2A\u9759\u6001\u76EE\u6807\u5C06\u5728\u8718\u86DB\u5F62\u56FE\u6848\u7684\u968F\u673A\u4F4D\u7F6E\u51FA\u73B0"
+    m_Localized: "\u7403\u4F53\u4F1A\u4E0D\u65AD\u751F\u6210\u5E76\u968F\u5373\u79FB\u52A8\uFF0C\u5C3D\u53EF\u80FD\u591A\u5730\u8FFD\u8E2A\u76F4\u5230\u6D88\u706D\u8FD9\u4E9B\u7403\u4F53"
     m_Metadata:
       m_Items: []
   - m_Id: 56749253160960
@@ -488,10 +488,6 @@ MonoBehaviour:
     m_Localized: "\u65E0\u6CD5\u5F00\u706B\uFF0C\u8BF7\u62C9\u6813\u4E0A\u819B\uFF01"
     m_Metadata:
       m_Items: []
-  - m_Id: 2264804913016832
-    m_Localized: "\u65AD\u5F00\u8FDE\u63A5"
-    m_Metadata:
-      m_Items: []
   references:
     version: 2
     RefIds:

+ 1 - 1
Assets/ShotSimulator/Resources/Audio/音效/装卸弹匣.mp3.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 853670dd262789049a8980ed7bba8f24
+guid: 7f63c660fded2f04fa90e689de6a5a5f
 AudioImporter:
   externalObjects: {}
   serializedVersion: 6

+ 17 - 0
Assets/ShotSimulator/Resources/Materials/透明.mat

@@ -71,9 +71,22 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    - _SampleTexture2D_a8859c4576c04fd0b59242c460f17169_Texture_1:
+        m_Texture: {fileID: 2800000, guid: 783bae459e52b6c49873363f2bb329b8, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _Texture2D:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _Texture2D_1:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
     m_Ints: []
     m_Floats:
     - _: 1
+    - _Alpha: 0
     - _BUILTIN_AlphaClip: 0
     - _BUILTIN_Blend: 0
     - _BUILTIN_CullMode: 2
@@ -96,6 +109,7 @@ Material:
     - _Metallic: 0
     - _Mode: 3
     - _OcclusionStrength: 1
+    - _OutlineColorIntensity: 0
     - _Parallax: 0.02
     - _SmoothnessTextureChannel: 0
     - _SpecularHighlights: 1
@@ -109,5 +123,8 @@ Material:
     - _touming: 0
     m_Colors:
     - _Color: {r: 0, g: 0.9587312, b: 1, a: 1}
+    - _Color1: {r: 0, g: 0, b: 0, a: 0}
+    - _Color2: {r: 0, g: 0, b: 0, a: 0}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+    - _OutlineColor: {r: 0, g: 0, b: 0, a: 0}
   m_BuildTextureStacks: []

+ 16 - 0
Assets/ShotSimulator/Resources/Prefabs/AIHumanoidShotTarget.prefab

@@ -1938,14 +1938,30 @@ PrefabInstance:
       propertyPath: m_Layer
       value: 11
       objectReference: {fileID: 0}
+    - target: {fileID: 104776656448282412, guid: ea0e269f216f9dd46bb664e023fed5e7, type: 3}
+      propertyPath: m_LocalPosition.x
+      value: 0.046
+      objectReference: {fileID: 0}
+    - target: {fileID: 104776656448282412, guid: ea0e269f216f9dd46bb664e023fed5e7, type: 3}
+      propertyPath: m_LocalPosition.z
+      value: -0
+      objectReference: {fileID: 0}
     - target: {fileID: 656386250120699644, guid: ea0e269f216f9dd46bb664e023fed5e7, type: 3}
       propertyPath: m_Layer
       value: 11
       objectReference: {fileID: 0}
+    - target: {fileID: 656386250120699644, guid: ea0e269f216f9dd46bb664e023fed5e7, type: 3}
+      propertyPath: m_IsActive
+      value: 1
+      objectReference: {fileID: 0}
     - target: {fileID: 2354201892225564403, guid: ea0e269f216f9dd46bb664e023fed5e7, type: 3}
       propertyPath: m_Layer
       value: 11
       objectReference: {fileID: 0}
+    - target: {fileID: 2354201892225564403, guid: ea0e269f216f9dd46bb664e023fed5e7, type: 3}
+      propertyPath: m_IsActive
+      value: 1
+      objectReference: {fileID: 0}
     - target: {fileID: 3771929224184427993, guid: ea0e269f216f9dd46bb664e023fed5e7, type: 3}
       propertyPath: m_Name
       value: "\u76EE\u6807\u9776\u5E26\u62A4\u76FE"

+ 4 - 4
Assets/ShotSimulator/Resources/Prefabs/UI/ExecuteTrainUIView.prefab

@@ -640,7 +640,7 @@ RectTransform:
   m_AnchorMin: {x: 1, y: 0.5}
   m_AnchorMax: {x: 1, y: 0.5}
   m_AnchoredPosition: {x: -500, y: 0}
-  m_SizeDelta: {x: 345, y: 85}
+  m_SizeDelta: {x: 500, y: 150}
   m_Pivot: {x: 1, y: 0.5}
 --- !u!222 &2544791826547992411
 CanvasRenderer:
@@ -2187,7 +2187,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 0
+  m_IsActive: 1
 --- !u!224 &7712789921816287786
 RectTransform:
   m_ObjectHideFlags: 0
@@ -2405,7 +2405,7 @@ RectTransform:
   m_AnchorMin: {x: 0, y: 0.5}
   m_AnchorMax: {x: 0, y: 0.5}
   m_AnchoredPosition: {x: 500, y: 0}
-  m_SizeDelta: {x: 345, y: 85}
+  m_SizeDelta: {x: 500, y: 150}
   m_Pivot: {x: 0, y: 0.5}
 --- !u!222 &3059798261918377190
 CanvasRenderer:
@@ -2617,7 +2617,7 @@ RectTransform:
   m_AnchorMin: {x: 0.5, y: 0.5}
   m_AnchorMax: {x: 0.5, y: 0.5}
   m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 345, y: 85}
+  m_SizeDelta: {x: 500, y: 150}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &2082546083690233009
 CanvasRenderer:

File diff ditekan karena terlalu besar
+ 136 - 708
Assets/ShotSimulator/Resources/Prefabs/UI/RankingUIView.prefab


+ 1 - 1
Assets/ShotSimulator/Resources/Prefabs/UI/TrainSettlementUIView.prefab

@@ -1865,7 +1865,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 0
+  m_IsActive: 1
 --- !u!224 &8975729555003052664
 RectTransform:
   m_ObjectHideFlags: 0

+ 1 - 1
Assets/ShotSimulator/Resources/Prefabs/UI/TrainTaskInfoUIView.prefab

@@ -547,7 +547,7 @@ MonoBehaviour:
     m_TableReference:
       m_TableCollectionName: GUID:70c061568e128ba4eb5e3b74511068c0
     m_TableEntryReference:
-      m_KeyId: 374110673924096
+      m_KeyId: 31950367846400
       m_Key: 
     m_FallbackState: 0
     m_WaitForCompletion: 0

+ 19 - 0
Assets/ShotSimulator/Resources/ScriptableObjects/Firearm/ArtemisPro.asset

@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 2697d013b1972474abe85e063a93982c, type: 3}
+  m_Name: ArtemisPro
+  m_EditorClassIdentifier: 
+  gunName: ARTEMIS Pro
+  firearmDeviceType: 3
+  magazineCapacity: 15
+  needChambered: 0
+  continuousFire: 0

+ 8 - 0
Assets/ShotSimulator/Resources/ScriptableObjects/Firearm/ArtemisPro.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 64ceaccc947f37f4cb43bbcaf3c144a7
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 3
Assets/ShotSimulator/Resources/ScriptableObjects/TrainInfo/Accuracy/运动目标射击.asset

@@ -126,16 +126,16 @@ MonoBehaviour:
       data:
         difficultyType: 0
         targetDistance: 5
-        speed: 1
+        speed: 3
     - rid: 3643648885046902789
       type: {class: MotionTargetShotTrainDifficultyData, ns: ShotSimulator.Train.Info, asm: Assembly-CSharp}
       data:
         difficultyType: 1
         targetDistance: 10
-        speed: 1.5
+        speed: 6
     - rid: 3643648885046902790
       type: {class: MotionTargetShotTrainDifficultyData, ns: ShotSimulator.Train.Info, asm: Assembly-CSharp}
       data:
         difficultyType: 2
         targetDistance: 15
-        speed: 2
+        speed: 9

TEMPAT SAMPAH
Assets/ShotSimulator/Resources/Texture/UI/TrainTaskInfoUIView/Group 16.png


+ 135 - 0
Assets/ShotSimulator/Resources/Texture/UI/TrainTaskInfoUIView/Group 16.png.meta

@@ -0,0 +1,135 @@
+fileFormatVersion: 2
+guid: 4503d6a618fe7fa47a33a9967962a40b
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 12
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  ignoreMasterTextureLimit: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 1
+    wrapV: 1
+    wrapW: 0
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  cookieLightType: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: iPhone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+    nameFileIdTable: {}
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/ShotSimulator/Resources/Texture/UI/TrainTaskInfoUIView/Language.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e3d97e5c480ef334dad86707ff8e9f6d
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

TEMPAT SAMPAH
Assets/ShotSimulator/Resources/Texture/UI/TrainTaskInfoUIView/Language/Group (3).png


+ 135 - 0
Assets/ShotSimulator/Resources/Texture/UI/TrainTaskInfoUIView/Language/Group (3).png.meta

@@ -0,0 +1,135 @@
+fileFormatVersion: 2
+guid: 27e4c3a3e6a65924eb9c5f1bee8482da
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 12
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  ignoreMasterTextureLimit: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 1
+    wrapV: 1
+    wrapW: 0
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  cookieLightType: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: iPhone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+    nameFileIdTable: {}
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

TEMPAT SAMPAH
Assets/ShotSimulator/Resources/Texture/UI/TrainTaskInfoUIView/Language/Group (4).png


+ 135 - 0
Assets/ShotSimulator/Resources/Texture/UI/TrainTaskInfoUIView/Language/Group (4).png.meta

@@ -0,0 +1,135 @@
+fileFormatVersion: 2
+guid: 008aaba5bb98d4b4f81b45ff9f4870e8
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 12
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  ignoreMasterTextureLimit: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 1
+    wrapV: 1
+    wrapW: 0
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  cookieLightType: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: iPhone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+    nameFileIdTable: {}
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

TEMPAT SAMPAH
Assets/ShotSimulator/Resources/Texture/UI/TrainTaskInfoUIView/Language/Group (5).png


+ 135 - 0
Assets/ShotSimulator/Resources/Texture/UI/TrainTaskInfoUIView/Language/Group (5).png.meta

@@ -0,0 +1,135 @@
+fileFormatVersion: 2
+guid: 9955a1aead994c143a60845d32801d84
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 12
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  ignoreMasterTextureLimit: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 1
+    wrapV: 1
+    wrapW: 0
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  cookieLightType: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: iPhone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+    nameFileIdTable: {}
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

TEMPAT SAMPAH
Assets/ShotSimulator/Resources/Texture/UI/TrainTaskInfoUIView/Language/Vector (1).png


+ 135 - 0
Assets/ShotSimulator/Resources/Texture/UI/TrainTaskInfoUIView/Language/Vector (1).png.meta

@@ -0,0 +1,135 @@
+fileFormatVersion: 2
+guid: 0e678ab571a23e54f83ccb9e3718e238
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 12
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  ignoreMasterTextureLimit: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 1
+    wrapV: 1
+    wrapW: 0
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  cookieLightType: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: iPhone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+    nameFileIdTable: {}
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 1 - 2
Assets/ShotSimulator/Scenes/ShotSimulatorScene.unity

@@ -186,7 +186,7 @@ Camera:
   m_Depth: 0
   m_CullingMask:
     serializedVersion: 2
-    m_Bits: 87
+    m_Bits: 2071
   m_RenderingPath: -1
   m_TargetTexture: {fileID: 8400000, guid: 3e162f225ee0ca7458d9f6c5dbb65d41, type: 2}
   m_TargetDisplay: 0
@@ -779,7 +779,6 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   screenPos: {x: 0, y: 0}
-  m_TacticalMode: 0
   m_SnipeCamera: {fileID: 128834802}
 --- !u!1 &1446494321
 GameObject:

+ 1 - 1
Assets/ShotSimulator/Scenes/ShotSimulatorScene.unity.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: a907b506713eaf74f9124ff95975b58b
+guid: de28278d5b436764794f613b3e7586d3
 DefaultImporter:
   externalObjects: {}
   userData: 

+ 1 - 4
Assets/ShotSimulator/Scripts/ShotSimulatorEnum.cs

@@ -125,9 +125,6 @@ namespace ShotSimulator
         M9 = 0,
         M17 = 1,
         M416 = 2,
-        Artemis = 3,
-        Houyi2 = 4,
-        HouyiPro = 5,
-        Apollo = 6
+        ArtemisPro = 3,
     }
 }

+ 15 - 1
Assets/ShotSimulator/Scripts/Test/VirtualMouse.cs

@@ -18,8 +18,21 @@ public class VirtualMouse : MonoSingleton<VirtualMouse>
 {
     public Vector2 screenPos = new Vector2();
 
-    public bool m_TacticalMode;
+    private bool m_TacticalMode;
 
+    public bool TacticalMode
+    {
+        get
+        {
+            return m_TacticalMode;
+        }
+        set
+        {
+            m_TacticalMode = value;
+
+            PlayerPrefs.SetInt("TacticalMode", m_TacticalMode ? 1 : 0);
+        }
+    }
     public Camera m_SnipeCamera;
 
     private EventSystem m_eventSystem;
@@ -43,6 +56,7 @@ public class VirtualMouse : MonoSingleton<VirtualMouse>
 #if UNITY_ANDROID
         InfraredCameraHelper.GetInstance().OnPositionUpdate += OnPositionUpdate;
 #endif
+        TacticalMode = PlayerPrefs.HasKey("TacticalMode") ? PlayerPrefs.GetInt("TacticalMode") == 1 : false;
     }
     private void OnDestroy()
     {

+ 1 - 6
Assets/ShotSimulator/Scripts/TrainHandle/Accuracy/MotionTargetShotTrainHandle.cs

@@ -253,14 +253,9 @@ namespace ShotSimulator.Train
 
         public override void CalculateTrainResult()
         {
-            double timeToKill = 999;
-            if (totalKillNums != 0)
-            {
-                timeToKill = Math.Round(TrainInfo.duration / totalKillNums, 2);
-            }
             SetResultMetricsDataValue(MetricsType.Kill_Sec, Math.Round(totalKillNums / TrainInfo.duration, 2));
             SetResultMetricsDataValue(MetricsType.KillTotal, totalKillNums);
-            SetResultMetricsDataValue(MetricsType.TimeToKill, Math.Round(timeToKill, 2));
+            SetResultMetricsDataValue(MetricsType.TimeToKill, Math.Round(TrainInfo.duration / totalKillNums, 2));
             SetResultMetricsDataValue(MetricsType.Target, totalTargetNums);
         }
         #endregion

+ 1 - 7
Assets/ShotSimulator/Scripts/TrainHandle/Accuracy/PistolSniperTrainHandle.cs

@@ -143,13 +143,7 @@ namespace ShotSimulator.Train
         #region TrainResult
         private void UpdatePrecision()
         {
-            double totalShot = TotalHitNum + MissHitNum;
-            double precision = 0;
-            if (totalShot != 0)
-            {
-                precision = Math.Round(TotalHitNum / totalShot, 2);
-            }
-            SetResultMetricsDataValue(MetricsType.Precision, precision);
+            SetResultMetricsDataValue(MetricsType.Precision, Math.Round(TotalHitNum / (TotalHitNum + MissHitNum), 2));
         }
         #endregion
 

+ 1 - 6
Assets/ShotSimulator/Scripts/TrainHandle/Accuracy/SixTargetsShotTrainHandle.cs

@@ -68,15 +68,10 @@ namespace ShotSimulator.Train
 
         public override void CalculateTrainResult()
         {
-            double timeToKill = 999;
-            if (TotalHitNum != 0)
-            {
-                timeToKill = Math.Round(TrainInfo.duration / TotalHitNum, 2);
-            }
             SetResultMetricsDataValue(MetricsType.Kill_Sec, Math.Round(TotalHitNum / TrainInfo.duration, 2));
             SetResultMetricsDataValue(MetricsType.KillTotal, TotalHitNum);
             SetResultMetricsDataValue(MetricsType.Target, totalTargetNum);
-            SetResultMetricsDataValue(MetricsType.TimeToKill, timeToKill);
+            SetResultMetricsDataValue(MetricsType.TimeToKill, Math.Round(TrainInfo.duration / TotalHitNum, 2));
         }
         #endregion
 

+ 2 - 11
Assets/ShotSimulator/Scripts/TrainHandle/BaseTrainHandle.cs

@@ -362,8 +362,6 @@ namespace ShotSimulator.Train
                 state = MagazineState.Separation,
             };
             EventCenter.GetInstance().RunEvent(EventKey.OnMagazineStateChanged, data);
-            //SoundManager.GetInstance().PlaySoundEffect("Audio/音效/手枪格洛克换弹卸载弹夹", false);
-            SoundManager.GetInstance().PlaySoundEffect("Audio/音效/装卸弹匣", false);
         }
 
         public virtual void ReloadMagazine()
@@ -382,16 +380,9 @@ namespace ShotSimulator.Train
                         {
                             MagazineBulletNums = FirearmData.magazineCapacity;
                         }
-                    }
-                    //else
-                    //{
-                    //    int maxFillNums= FirearmData.magazineCapacity - MagazineBulletNums;
-                    //    int fillNums = RemainderBulletNums >= maxFillNums ? maxFillNums : RemainderBulletNums;
-                    //     MagazineBulletNums += fillNums;
-                    //    RemainderBulletNums -= fillNums;
-                    //}                   
+                    }          
                 }
-                //SoundManager.GetInstance().PlaySoundEffect("Audio/音效/上膛2", false);
+                SoundManager.GetInstance().PlaySoundEffect("Audio/音效/装卸弹匣", false);
             }
             MagazineStateEventData data = new MagazineStateEventData()
             {

+ 2 - 12
Assets/ShotSimulator/Scripts/TrainHandle/Cognition/JudgeShotTrainHandle.cs

@@ -106,18 +106,8 @@ namespace ShotSimulator.Train
 
         public override void CalculateTrainResult()
         {
-            double reactionTime = 999;
-            if (invalidDecisionNums + validityDecisionNums != 0)
-            {
-                reactionTime = Math.Round(totalReactionTime / (invalidDecisionNums + validityDecisionNums), 2);
-            }
-            double deactionAccurancy = 0;
-            if (validityDecisionNums + invalidDecisionNums != 0)
-            {
-                deactionAccurancy = Math.Round(validityDecisionNums / (invalidDecisionNums + validityDecisionNums), 2);
-            }
-            SetResultMetricsDataValue(MetricsType.ReactionTime, reactionTime);
-            SetResultMetricsDataValue(MetricsType.DeactionAccurancy, deactionAccurancy);
+            SetResultMetricsDataValue(MetricsType.ReactionTime, Math.Round(totalReactionTime / (invalidDecisionNums + validityDecisionNums), 2));
+            SetResultMetricsDataValue(MetricsType.DeactionAccurancy, Math.Round(validityDecisionNums / (invalidDecisionNums + validityDecisionNums), 2));
         }
         #endregion
 

+ 2 - 12
Assets/ShotSimulator/Scripts/TrainHandle/Cognition/MemoryShotTrainHandle.cs

@@ -131,18 +131,8 @@ namespace ShotSimulator.Train
 
         public override void CalculateTrainResult()
         {
-            double reactionTime = 999;
-            if (invalidDecisionNums + validityDecisionNums != 0)
-            {
-                reactionTime = Math.Round(totalReactionTime / (invalidDecisionNums + validityDecisionNums), 2);
-            }
-            double deactionAccurancy = 0;
-            if (validityDecisionNums + invalidDecisionNums != 0)
-            {
-                deactionAccurancy = Math.Round(validityDecisionNums / (invalidDecisionNums + validityDecisionNums), 2);
-            }
-            SetResultMetricsDataValue(MetricsType.ReactionTime, reactionTime);
-            SetResultMetricsDataValue(MetricsType.DeactionAccurancy, deactionAccurancy);
+            SetResultMetricsDataValue(MetricsType.ReactionTime, Math.Round(totalReactionTime / (invalidDecisionNums + validityDecisionNums), 2));
+            SetResultMetricsDataValue(MetricsType.DeactionAccurancy, Math.Round(validityDecisionNums / (invalidDecisionNums + validityDecisionNums), 2));
             SetResultMetricsDataValue(MetricsType.VisualMemory, validityDecisionNums);
         }
         #endregion

+ 1 - 6
Assets/ShotSimulator/Scripts/TrainHandle/Perceive/ListenSoundTrainHandle.cs

@@ -109,12 +109,7 @@ namespace ShotSimulator.Train
 
         public override void CalculateTrainResult()
         {
-            double detctionTime = 999;
-            if (TotalHitNum != 0)
-            {
-                detctionTime = Math.Round(totaleObserveTime / TotalHitNum, 2);
-            }
-            SetResultMetricsDataValue(MetricsType.ReactionTime, detctionTime);
+            SetResultMetricsDataValue(MetricsType.ReactionTime, Math.Round(totaleObserveTime / TotalHitNum, 2));
             SetResultMetricsDataValue(MetricsType.FalseAlarms, MissHitNum);
         }
         #endregion

+ 1 - 6
Assets/ShotSimulator/Scripts/TrainHandle/Perceive/ObserveShotTrainHandle.cs

@@ -115,12 +115,7 @@ namespace ShotSimulator.Train
 
         public override void CalculateTrainResult()
         {
-            double detctionTime = 999;
-            if (TotalHitNum != 0)
-            {
-                detctionTime = Math.Round(totaleObserveTime / TotalHitNum, 2);
-            }
-            SetResultMetricsDataValue(MetricsType.ReactionTime, detctionTime);
+            SetResultMetricsDataValue(MetricsType.ReactionTime, Math.Round(totaleObserveTime / TotalHitNum, 2));
             SetResultMetricsDataValue(MetricsType.FalseAlarms, MissHitNum);
         }
         #endregion

+ 1 - 6
Assets/ShotSimulator/Scripts/TrainHandle/Reaction/EnemyTideShotTrainHandle.cs

@@ -91,13 +91,8 @@ namespace ShotSimulator.Train
         }
         public override void CalculateTrainResult()
         {
-            double timeToKill = 999;
-            if (totalKillNum != 0)
-            {
-                timeToKill = Math.Round(TrainInfo.duration / totalKillNum, 2);
-            }
             SetResultMetricsDataValue(MetricsType.Headshots, Headshots);
-            SetResultMetricsDataValue(MetricsType.TimeToKill, timeToKill);
+            SetResultMetricsDataValue(MetricsType.TimeToKill, Math.Round(TrainInfo.duration / totalKillNum, 2));
             SetResultMetricsDataValue(MetricsType.KillTotal, totalKillNum);
         }
         #endregion

+ 1 - 6
Assets/ShotSimulator/Scripts/TrainHandle/Reaction/GridShotTrainHandle.cs

@@ -96,12 +96,7 @@ namespace ShotSimulator.Train
 
         public override void CalculateTrainResult()
         {
-            double timeToKill = 999;
-            if (TotalHitNum != 0)
-            {
-                timeToKill = Math.Round(TrainInfo.duration / TotalHitNum, 2);
-            }
-            SetResultMetricsDataValue(MetricsType.TimeToKill, timeToKill);
+            SetResultMetricsDataValue(MetricsType.TimeToKill, Math.Round(TrainInfo.duration / TotalHitNum, 2));
             SetResultMetricsDataValue(MetricsType.Kill_Sec, Math.Round(TotalHitNum / TrainInfo.duration, 2));
             SetResultMetricsDataValue(MetricsType.Target, totalTargetNum);
             SetResultMetricsDataValue(MetricsType.KillTotal, TotalHitNum);

+ 2 - 9
Assets/ShotSimulator/Scripts/TrainHandle/Reaction/MozambiqueTrainHandle.cs

@@ -101,18 +101,11 @@ namespace ShotSimulator.Train
 
         public override void CalculateTrainResult()
         {
-            double timeToKill = 999;
-            double shotsPerKill = 999;
-            if (totalKillNums != 0)
-            {
-                timeToKill = Math.Round(TrainInfo.duration / totalKillNums, 2);
-                shotsPerKill = Math.Round((TotalHitNum + MissHitNum) / totalKillNums, 2);
-            }
             SetResultMetricsDataValue(MetricsType.VisualMemory, mozambiqueKillNums);         
             SetResultMetricsDataValue(MetricsType.Kill_Sec, Math.Round(totalKillNums / TrainInfo.duration, 2));
             SetResultMetricsDataValue(MetricsType.KillTotal, totalKillNums);
-            SetResultMetricsDataValue(MetricsType.TimeToKill, timeToKill);
-            SetResultMetricsDataValue(MetricsType.ShotsPerKill, shotsPerKill);
+            SetResultMetricsDataValue(MetricsType.TimeToKill, Math.Round(TrainInfo.duration / totalKillNums, 2));
+            SetResultMetricsDataValue(MetricsType.ShotsPerKill, Math.Round((TotalHitNum + MissHitNum) / totalKillNums, 2));
         }
         #endregion
 

+ 1 - 6
Assets/ShotSimulator/Scripts/TrainHandle/Reaction/ReactionShotTrainHandle.cs

@@ -104,12 +104,7 @@ namespace ShotSimulator.Train
 
         public override void CalculateTrainResult()
         {
-            double reactionTime = 999;
-            if (TotalHitNum + MissHitNum != 0)
-            {
-                reactionTime = Math.Round(totalReactionTime / (TotalHitNum + MissHitNum), 2);
-            }
-            SetResultMetricsDataValue(MetricsType.ReactionTime, reactionTime);
+            SetResultMetricsDataValue(MetricsType.ReactionTime, Math.Round(totalReactionTime / (TotalHitNum + MissHitNum), 2));
             SetResultMetricsDataValue(MetricsType.Kill_Sec, Math.Round(TotalHitNum / TrainInfo.duration, 2));
             SetResultMetricsDataValue(MetricsType.KillTotal, TotalHitNum);
         }

+ 1 - 6
Assets/ShotSimulator/Scripts/TrainHandle/Speed/HorizontalMotionShotTrainHandle.cs

@@ -126,15 +126,10 @@ namespace ShotSimulator.Train
 
         public override void CalculateTrainResult()
         {
-            double shotsPerKill = 999;
-            if (TotalHitNum + MissHitNum != 0)
-            {
-                shotsPerKill = Math.Round((TotalHitNum + MissHitNum) / totalKillNum, 2);
-            }
             SetResultMetricsDataValue(MetricsType.Kill_Sec, Math.Round(totalKillNum / TrainInfo.duration, 2));
             SetResultMetricsDataValue(MetricsType.Target, totalTargetNum);
             SetResultMetricsDataValue(MetricsType.TimeToKill, Math.Round(TrainInfo.duration / totalKillNum, 2));
-            SetResultMetricsDataValue(MetricsType.ShotsPerKill, shotsPerKill);
+            SetResultMetricsDataValue(MetricsType.ShotsPerKill, Math.Round((TotalHitNum + MissHitNum) / totalKillNum, 2));
         }
         #endregion
         #region TrainResult

+ 2 - 12
Assets/ShotSimulator/Scripts/TrainHandle/Speed/ReloadShotTrainHandle.cs

@@ -94,19 +94,9 @@ namespace ShotSimulator.Train
         }
         public override void CalculateTrainResult()
         {
-            double timeToKill = 999;
-            if (totalKillNum != 0)
-            {
-                timeToKill = Math.Round((m_TaskTimer.delay - m_TaskTimer.remainingTime) / totalKillNum, 2);
-            }
-            double reloadTime = 999;
-            if (reloadNums != 0)
-            {
-                reloadTime = Math.Round(totalReloadTime / reloadNums, 2);
-            }
             SetResultMetricsDataValue(MetricsType.Target, totalTargetNum);
-            SetResultMetricsDataValue(MetricsType.TimeToKill, timeToKill);
-            SetResultMetricsDataValue(MetricsType.ReloadTime, reloadTime);
+            SetResultMetricsDataValue(MetricsType.TimeToKill, Math.Round((m_TaskTimer.delay - m_TaskTimer.remainingTime) / totalKillNum, 2));
+            SetResultMetricsDataValue(MetricsType.ReloadTime, Math.Round(totalReloadTime / reloadNums, 2));
             SetResultMetricsDataValue(MetricsType.KillTotal, totalKillNum);
         }
         #endregion

+ 1 - 6
Assets/ShotSimulator/Scripts/TrainHandle/Speed/SmallTargetShotTrainHandle.cs

@@ -95,14 +95,9 @@ namespace ShotSimulator.Train
 
         public override void CalculateTrainResult()
         {
-            double reactionTime = 999;
-            if (TotalHitNum + MissHitNum != 0)
-            {
-                reactionTime = Math.Round(totalReactionTime / (TotalHitNum + MissHitNum), 2);
-            }
             SetResultMetricsDataValue(MetricsType.Kill_Sec, Math.Round(TotalHitNum / TrainInfo.duration, 2));
             SetResultMetricsDataValue(MetricsType.KillTotal, TotalHitNum);
-            SetResultMetricsDataValue(MetricsType.ReactionTime, reactionTime);
+            SetResultMetricsDataValue(MetricsType.ReactionTime, Math.Round(totalReactionTime / (TotalHitNum + MissHitNum), 2));
             SetResultMetricsDataValue(MetricsType.Target, totalTargetNum);
         }
         #endregion

+ 2 - 10
Assets/ShotSimulator/Scripts/TrainHandle/Speed/SpiderShotTrainHandle.cs

@@ -141,18 +141,10 @@ namespace ShotSimulator.Train
 
         public override void CalculateTrainResult()
         {
-            double timeToKill = 999;
-            double shotsPerKill = 999;
-            if (TotalHitNum != 0)
-            {
-                timeToKill = Math.Round(TrainInfo.duration / TotalHitNum, 2);
-                shotsPerKill = Math.Round((TotalHitNum + MissHitNum) / TotalHitNum, 2);
-            }
-
             SetResultMetricsDataValue(MetricsType.Kill_Sec, Math.Round(TotalHitNum / TrainInfo.duration, 2));
             SetResultMetricsDataValue(MetricsType.Target, totalTargetNum);
-            SetResultMetricsDataValue(MetricsType.TimeToKill, timeToKill);
-            SetResultMetricsDataValue(MetricsType.ShotsPerKill, shotsPerKill);
+            SetResultMetricsDataValue(MetricsType.TimeToKill, Math.Round(TrainInfo.duration / TotalHitNum, 2));
+            SetResultMetricsDataValue(MetricsType.ShotsPerKill, Math.Round((TotalHitNum + MissHitNum) / TotalHitNum, 2));
         }
         #endregion
         #region TrainResult

+ 1 - 1
Assets/ShotSimulator/Scripts/TrainInfo/FirearmInfo/TrainFirearmConfig.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 3f9a7317e6f2b3d479513ec75d1a830c
+guid: 5dad9491d92d17546814c4815fff9e2f
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 4 - 0
Assets/ShotSimulator/Scripts/UI/Radar/GraphData.cs

@@ -31,6 +31,10 @@ public struct GraphData
         {
             return 0;
         }
+        if(double.IsNaN(_value) || double.IsInfinity(_value))
+        {
+            return 0;
+        }
         float rate = 0f;
         float stagePer = 1f / (StageValues.Count - 1);
         for(int i = 0; i < StageValues.Count - 1; i++)

+ 1 - 1
Assets/ShotSimulator/Scripts/UI/Train/CursorUIView.cs

@@ -92,7 +92,7 @@ namespace ShotSimulator.UI
                     current_Cursor = m_SnipeCursor;
                     break;
             }
-            if (!VirtualMouse.GetInstance().m_TacticalMode|| type != CursorType.DefaultCursor)
+            if (!VirtualMouse.GetInstance().TacticalMode || type != CursorType.DefaultCursor)
             {
                 current_Cursor.gameObject.SetActive(true);
             }

+ 10 - 0
Assets/ShotSimulator/Scripts/UI/Train/ExecuteTrainUIView.cs

@@ -101,6 +101,11 @@ namespace ShotSimulator.UI
             EventCenter.GetInstance().RegisterEvent(EventKey.OnExecutingTrainDataUpdated, OnExecutingTrainDataUpdated);
             EventCenter.GetInstance().RegisterEvent(EventKey.OnChamberStateUpdated, OnChamberStateUpdated);
 
+            replayButton.interactable = true;
+            continueButton.interactable = true;
+            exitButton.interactable = true;
+            pauseButton.interactable = true;
+
             countdownImage.sprite = countdownTex[countdownTex.Length - 1];
 
             countDownPanel.SetActive(true);
@@ -280,20 +285,25 @@ namespace ShotSimulator.UI
         }
         private void OnPauseButtonClick()
         {
+            pauseButton.interactable = false;
             TrainTaskLoader.GetInstance().SetContinueOrPauseTrain(true);
             pausePanel.SetActive(true);
         }
         private void OnReplayButtonClick()
         {
+            replayButton.interactable = false;
             TrainTaskLoader.GetInstance().ReStartTrain();
         }
         private void OnContinueButtonClick()
         {
+            pauseButton.interactable = true;
+            continueButton.interactable = false;
             TrainTaskLoader.GetInstance().SetContinueOrPauseTrain(false);
             pausePanel.SetActive(false);
         }
         private void OnExitButtonClick()
         {
+            exitButton.interactable = false;
             TrainTaskLoader.GetInstance().FinishTrain();
         }
     }

+ 25 - 2
Assets/ShotSimulator/Scripts/UI/Train/Rank/RankingItem.cs

@@ -32,10 +32,25 @@ namespace ShotSimulator.UI
                 rankText.gameObject.SetActive(true);
                 rankText.text = data.rank.ToString();
             }
-            if (data.avatarUrl != string.Empty)
+
+            if (data.avatarId == int.MinValue)
+            {
+                if (avatarImage) avatarImage.sprite = null;
+            }
+            else if (data.avatarId < 0) {
+                if (data.avatarUrl != string.Empty)
+                {
+                    MonoManager.GetInstance().StartCoroutine(LoadTexture2D(data.avatarUrl));
+                }
+            }
+            else
             {
-                MonoManager.GetInstance().StartCoroutine(LoadTexture2D(data.avatarUrl));
+                string path = "Textures/Avatar/";
+                if (data.avatarId < 7) path += "Player" + data.avatarId;
+                else path += data.avatarId - 7;
+                if (avatarImage) avatarImage.sprite = Resources.Load<Sprite>(path);
             }
+
             userNameText.text = data.userName;
             scoreText.text = data.score.ToString();
         }
@@ -55,5 +70,13 @@ namespace ShotSimulator.UI
                 Debug.LogWarning(request.result);
             }
         }
+        public void Reset()
+        {
+            rankImage.gameObject.SetActive(false);
+            rankText.gameObject.SetActive(false);
+            avatarImage.sprite = null;
+            userNameText.text = string.Empty;
+            scoreText.text = string.Empty;
+        }
     }
 }

+ 2 - 1
Assets/ShotSimulator/Scripts/UI/Train/Rank/RankingUIView.cs

@@ -16,6 +16,7 @@ namespace ShotSimulator.UI
     public struct RankingData
     {
         public string userName;
+        public int avatarId;
         public string avatarUrl;
         public int rank;
         public int score;
@@ -242,7 +243,7 @@ namespace ShotSimulator.UI
             {
                 Destroy(child.gameObject);
             }
-
+            selfRankingItem.Reset();
             if (datas != null)
             {
                 for (int i = 0; i < datas.Count; i++)

+ 1 - 1
Assets/ShotSimulator/Scripts/UI/Train/SettingUIView.cs

@@ -68,7 +68,7 @@ namespace ShotSimulator.UI
 
         private void OnTacticalModeToggleValueChanged(bool isOn)
         {
-            VirtualMouse.GetInstance().m_TacticalMode = isOn;
+            VirtualMouse.GetInstance().TacticalMode = isOn;
         }
         #endregion
 

+ 36 - 18
Assets/ShotSimulator/Scripts/UI/Train/TrainSettlementUIView.cs

@@ -52,7 +52,8 @@ namespace ShotSimulator.UI
         protected override void OnShowCallBack()
         {
             base.OnShowCallBack();
-
+            replayButton.interactable = true;
+            backButton.interactable = true;
             totalResultToggle.isOn = true;
 
             if (delayJumpRankingCoroutine != null)
@@ -71,11 +72,13 @@ namespace ShotSimulator.UI
 
         private void OnReplayButtonClick()
         {
+            replayButton.interactable = false;
             TrainTaskLoader.GetInstance().ReStartTrain();
         }
 
         private void OnBackButtonClick()
         {
+            backButton.interactable = false;
             TrainTaskLoader.GetInstance().FinishTrain();
         }
         protected override void UpdateArguments(params object[] args)
@@ -140,15 +143,22 @@ namespace ShotSimulator.UI
             List<GraphData> datas = new List<GraphData>();
             foreach (var data in trainResultData.metricsDic.Values)
             {
-                string value = string.Empty;
-                switch (data.valueType)
+                string valueStr = string.Empty;
+                if(double.IsNaN(data.value) || double.IsInfinity(data.value))
+                {
+                    valueStr = "N/A";
+                }
+                else
                 {
-                    case ValueType.Default:
-                        value = data.value.ToString();
-                        break;
-                    case ValueType.Percentage:
-                        value = data.value.ToString("P0");
-                        break;
+                    switch (data.valueType)
+                    {
+                        case ValueType.Default:
+                            valueStr = data.value.ToString();
+                            break;
+                        case ValueType.Percentage:
+                            valueStr = data.value.ToString("P0");
+                            break;
+                    }
                 }
                 var tableEntryResult = LocalizationSettings.StringDatabase.GetTableEntry("LanguagesTable", data.typeNameID);
                 string typeName = tableEntryResult.Entry.GetLocalizedString();
@@ -156,7 +166,7 @@ namespace ShotSimulator.UI
                 {
                     StageValues = data.StageValues,
                     _value = (float)data.value,
-                    _desc = string.Format("<color=#F2E9B3>{0}</color>\n{1}", typeName, value)
+                    _desc = string.Format("<color=#F2E9B3>{0}</color>\n{1}", typeName, valueStr)
                 });
             }
             radar.RefeshRadarGraph(datas.ToArray());
@@ -176,14 +186,21 @@ namespace ShotSimulator.UI
                 LocalizeStringEvent localize = obj.transform.Find("MetricsTypeText").GetComponent<LocalizeStringEvent>();
                 localize.SetTable("LanguagesTable");
                 localize.SetEntry(data.typeNameID);
-                switch (data.valueType)
+                if (double.IsNaN(data.value) || double.IsInfinity(data.value))
                 {
-                    case ValueType.Default:
-                        obj.transform.Find("ValueText").GetComponent<Text>().text = data.value.ToString();
-                        break;
-                    case ValueType.Percentage:
-                        obj.transform.Find("ValueText").GetComponent<Text>().text = data.value.ToString("P0");
-                        break;
+                    obj.transform.Find("ValueText").GetComponent<Text>().text = "N/A";
+                }
+                else
+                {
+                    switch (data.valueType)
+                    {
+                        case ValueType.Default:
+                            obj.transform.Find("ValueText").GetComponent<Text>().text = data.value.ToString();
+                            break;
+                        case ValueType.Percentage:
+                            obj.transform.Find("ValueText").GetComponent<Text>().text = data.value.ToString("P0");
+                            break;
+                    }
                 }
                 obj.transform.SetParent(m_MetricsDataItemConetnt, false);
                 obj.transform.localScale = Vector3.one;
@@ -197,7 +214,7 @@ namespace ShotSimulator.UI
             {
                 trainTaskType = handle.TrainInfo.trainTaskType,
                 difficultyType = handle.m_DifficultyType,
-                modeType = VirtualMouse.GetInstance().m_TacticalMode ? ModeType.Tactical : ModeType.NonTactical,
+                modeType = VirtualMouse.GetInstance().TacticalMode ? ModeType.Tactical : ModeType.NonTactical,
                 firearmDeviceType = TrainTaskLoader.GetInstance().CurFirearmData.firearmDeviceType
             };
             UserManager.GetInstance().UploadCustomLeaderboard(filter, (int)trainResultData.GetMetrics(MetricsType.Score).value, (result) =>
@@ -213,6 +230,7 @@ namespace ShotSimulator.UI
             {
                 Destroy(child.gameObject);
             }
+            selfRankingItem.Reset();
 
             if (datas != null)
             {

+ 2 - 0
Assets/ShotSimulator/Scripts/UI/Train/TrainTaskDetailUIView.cs

@@ -87,6 +87,7 @@ namespace ShotSimulator.UI
         {
             base.OnShowCallBack();
 
+            startButton.interactable = true;
             standardToggle.isOn = true;
         }
         private void OnDifficultTypeChanged(DifficultyType type)
@@ -96,6 +97,7 @@ namespace ShotSimulator.UI
 
         private void OnStartButtonClick()
         {
+            startButton.interactable = false;
             TrainTaskLoader.GetInstance().PrepareTrain(m_TrainInfo, current_DifficultyType);
         }
 

+ 2 - 1
Assets/ShotSimulator/Scripts/UI/Train/TrainTaskInfoUIView.cs

@@ -71,6 +71,7 @@ namespace ShotSimulator.UI
             trainTaskToggle.isOn = true;
 
             targetToggles[ScreenEffectManager.GetInstance().GetTargetColorIndex()].SetIsOnWithoutNotify(true);
+            tacticalModeToggle.SetIsOnWithoutNotify(VirtualMouse.GetInstance().TacticalMode);
         }
 
         private void OnTrainTypeChanged(TrainType type)
@@ -121,7 +122,7 @@ namespace ShotSimulator.UI
         public List<Toggle> targetToggles = new List<Toggle>();
         private void OnTacticalModeToggleValueChanged(bool isOn)
         {
-            VirtualMouse.GetInstance().m_TacticalMode = isOn;
+            VirtualMouse.GetInstance().TacticalMode = isOn;
             if (isOn)
             {
                 UIManager.GetInstance().ShowUIView("TacticalModeSettingUIView");

+ 11 - 9
Assets/ShotSimulator/_Barking_Dog/敌潮射击/护盾.mat

@@ -8,14 +8,16 @@ Material:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: "\u62A4\u76FE"
-  m_Shader: {fileID: -6465566751694194690, guid: 469876156a0991a408f182397393f3cd, type: 3}
-  m_ValidKeywords: []
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ValidKeywords:
+  - _ALPHAPREMULTIPLY_ON
   m_InvalidKeywords: []
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: -1
-  stringTagMap: {}
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
   disabledShaderPasses: []
   m_SavedProperties:
     serializedVersion: 3
@@ -77,7 +79,7 @@ Material:
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
     - _Texture2D:
-        m_Texture: {fileID: 2800000, guid: 9837737d0a9fbec4bb2dcfc7ad0d6e9a, type: 3}
+        m_Texture: {fileID: 0}
         m_Scale: {x: 2, y: 2}
         m_Offset: {x: 0, y: 0}
     - _Texture2D_1:
@@ -92,14 +94,14 @@ Material:
     - _BumpScale: 1
     - _Cutoff: 0.5
     - _DetailNormalMapScale: 1
-    - _DstBlend: 0
+    - _DstBlend: 10
     - _GlossMapScale: 1
     - _Glossiness: 0.5
     - _GlossyReflections: 1
     - _JitterAmp: 0.001
     - _JitterFreq: 1
     - _Metallic: 0
-    - _Mode: 0
+    - _Mode: 3
     - _OcclusionStrength: 1
     - _OutlineColorIntensity: 1
     - _Parallax: 0.02
@@ -108,10 +110,10 @@ Material:
     - _SrcBlend: 1
     - _TimeScale: 0.2
     - _UVSec: 0
-    - _ZWrite: 1
+    - _ZWrite: 0
     m_Colors:
     - _BaseColor: {r: 0.16665184, g: 0.23793182, b: 0.3301887, a: 0}
-    - _Color: {r: 0, g: 0.71762323, b: 1, a: 1}
+    - _Color: {r: 0, g: 0.71762323, b: 1, a: 0.34117648}
     - _Color1: {r: 0.4009434, g: 0.8660933, b: 1, a: 0}
     - _Color2: {r: 0, g: 0.643137, b: 1, a: 0}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini