Browse Source

内容更新

MirzkisD1Ex0 4 years ago
parent
commit
59b269bcd6
51 changed files with 1765 additions and 1224 deletions
  1. 195 7
      Assets/Dev/Scenes/DevRoom.unity
  2. 5 1
      Assets/Dev/Scripts/_Template.cs
  3. 2 2
      Assets/Examples/017JsonConstructer/Scripts/JC.cs
  4. 17 0
      Assets/NOTE.md
  5. 39 34
      Assets/ToneTuneToolkit/Documentation.md
  6. 0 73
      Assets/ToneTuneToolkit/Scripts/Camera/CameraFocusObject.cs
  7. 0 66
      Assets/ToneTuneToolkit/Scripts/Camera/CameraLookAround.cs
  8. 31 1
      Assets/ToneTuneToolkit/Scripts/Common/DataConverter.cs
  9. 6 0
      Assets/ToneTuneToolkit/Scripts/Common/EventListener.cs
  10. 7 2
      Assets/ToneTuneToolkit/Scripts/Common/FileNameCapturer.cs
  11. 0 48
      Assets/ToneTuneToolkit/Scripts/Common/JsonConstructer.cs
  12. 52 0
      Assets/ToneTuneToolkit/Scripts/Common/PathChecker.cs
  13. 1 1
      Assets/ToneTuneToolkit/Scripts/Common/PathChecker.cs.meta
  14. 8 3
      Assets/ToneTuneToolkit/Scripts/Common/TextLoader.cs
  15. 11 6
      Assets/ToneTuneToolkit/Scripts/Common/TimestampCapturer.cs
  16. 6 2
      Assets/ToneTuneToolkit/Scripts/Common/TipTools.cs
  17. 10 37
      Assets/ToneTuneToolkit/Scripts/Common/ToolkitManager.cs
  18. 21 16
      Assets/ToneTuneToolkit/Scripts/MultimediaExhibitionHall/LED/LEDCommandCenter.cs
  19. 40 35
      Assets/ToneTuneToolkit/Scripts/MultimediaExhibitionHall/LED/LEDCommandHub.cs
  20. 7 1
      Assets/ToneTuneToolkit/Scripts/MultimediaExhibitionHall/LED/LEDHandler.cs
  21. 46 42
      Assets/ToneTuneToolkit/Scripts/MultimediaExhibitionHall/LED/LEDNuclearShow.cs
  22. 18 11
      Assets/ToneTuneToolkit/Scripts/Object/ObjectDrag.cs
  23. 18 8
      Assets/ToneTuneToolkit/Scripts/Object/ObjectFloating.cs
  24. 46 0
      Assets/ToneTuneToolkit/Scripts/Object/ObjectSearcher.cs
  25. 11 0
      Assets/ToneTuneToolkit/Scripts/Object/ObjectSearcher.cs.meta
  26. 13 8
      Assets/ToneTuneToolkit/Scripts/Object/TraverseObejctChangeColor.cs
  27. 14 10
      Assets/ToneTuneToolkit/Scripts/Other/AsyncLoadingWithProcessBar.cs
  28. 7 3
      Assets/ToneTuneToolkit/Scripts/Other/CMDLauncher.cs
  29. 7 3
      Assets/ToneTuneToolkit/Scripts/Other/KeyPressSimulator.cs
  30. 29 24
      Assets/ToneTuneToolkit/Scripts/UDP/UDPCommunicator.cs
  31. 10 6
      Assets/ToneTuneToolkit/Scripts/UDP/UDPHandler.cs
  32. 24 24
      Assets/ToneTuneToolkit/Scripts/UI/Parallax.cs
  33. 26 20
      Assets/ToneTuneToolkit/Scripts/UI/TextFlick.cs
  34. 25 26
      Assets/ToneTuneToolkit/Scripts/Verification/AntiVerifier.cs
  35. 48 43
      Assets/ToneTuneToolkit/Scripts/Verification/Verifier.cs
  36. 7 2
      Assets/ToneTuneToolkit/Scripts/Verification/VerifierHandler.cs
  37. 0 0
      Assets/ToneTuneToolkit/Scripts/View.meta
  38. 81 0
      Assets/ToneTuneToolkit/Scripts/View/CameraFocusObject.cs
  39. 0 0
      Assets/ToneTuneToolkit/Scripts/View/CameraFocusObject.cs.meta
  40. 82 0
      Assets/ToneTuneToolkit/Scripts/View/CameraLookAround.cs
  41. 0 0
      Assets/ToneTuneToolkit/Scripts/View/CameraLookAround.cs.meta
  42. 58 0
      Assets/ToneTuneToolkit/Scripts/View/CameraZoom.cs
  43. 11 0
      Assets/ToneTuneToolkit/Scripts/View/CameraZoom.cs.meta
  44. 10 5
      Assets/ToneTuneToolkit/Scripts/WakeOnLan/WakeOnLan.cs
  45. 9 2
      Assets/ToneTuneToolkit/Scripts/WakeOnLan/WakeOnLanHandler.cs
  46. 30 0
      Logs/ApiUpdaterCheck.txt
  47. 307 307
      Logs/AssetImportWorker0-prev.log
  48. 312 304
      Logs/AssetImportWorker0.log
  49. 12 0
      Logs/shadercompiler-UnityShaderCompiler.exe0.log
  50. 7 7
      UserSettings/EditorUserSettings.asset
  51. 39 34
      readme.md

+ 195 - 7
Assets/Dev/Scenes/DevRoom.unity

@@ -26,7 +26,7 @@ RenderSettings:
   m_AmbientIntensity: 1
   m_AmbientMode: 3
   m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
-  m_SkyboxMaterial: {fileID: 0}
+  m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
   m_HaloStrength: 0.5
   m_FlareStrength: 1
   m_FlareFadeSpeed: 3
@@ -37,8 +37,8 @@ RenderSettings:
   m_ReflectionBounces: 1
   m_ReflectionIntensity: 1
   m_CustomReflection: {fileID: 0}
-  m_Sun: {fileID: 0}
-  m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
+  m_Sun: {fileID: 1456620533}
+  m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1}
   m_UseRadianceAmbientProbe: 0
 --- !u!157 &3
 LightmapSettings:
@@ -123,6 +123,101 @@ NavMeshSettings:
     debug:
       m_Flags: 0
   m_NavMeshData: {fileID: 0}
+--- !u!1 &203078261
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 203078265}
+  - component: {fileID: 203078264}
+  - component: {fileID: 203078263}
+  - component: {fileID: 203078262}
+  m_Layer: 0
+  m_Name: Cube
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!65 &203078262
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 203078261}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!23 &203078263
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 203078261}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RayTracingMode: 2
+  m_RayTraceProcedural: 0
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_ReceiveGI: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 1
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_AdditionalVertexStreams: {fileID: 0}
+--- !u!33 &203078264
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 203078261}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &203078265
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 203078261}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &655137957
 GameObject:
   m_ObjectHideFlags: 0
@@ -153,6 +248,99 @@ Transform:
   m_Father: {fileID: 0}
   m_RootOrder: 2
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1456620532
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1456620534}
+  - component: {fileID: 1456620533}
+  m_Layer: 0
+  m_Name: Directional Light
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!108 &1456620533
+Light:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1456620532}
+  m_Enabled: 1
+  serializedVersion: 10
+  m_Type: 1
+  m_Shape: 0
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_Intensity: 1
+  m_Range: 10
+  m_SpotAngle: 30
+  m_InnerSpotAngle: 21.80208
+  m_CookieSize: 10
+  m_Shadows:
+    m_Type: 0
+    m_Resolution: -1
+    m_CustomResolution: -1
+    m_Strength: 1
+    m_Bias: 0.05
+    m_NormalBias: 0.4
+    m_NearPlane: 0.2
+    m_CullingMatrixOverride:
+      e00: 1
+      e01: 0
+      e02: 0
+      e03: 0
+      e10: 0
+      e11: 1
+      e12: 0
+      e13: 0
+      e20: 0
+      e21: 0
+      e22: 1
+      e23: 0
+      e30: 0
+      e31: 0
+      e32: 0
+      e33: 1
+    m_UseCullingMatrixOverride: 0
+  m_Cookie: {fileID: 0}
+  m_DrawHalo: 0
+  m_Flare: {fileID: 0}
+  m_RenderMode: 0
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingLayerMask: 1
+  m_Lightmapping: 4
+  m_LightShadowCasterMode: 0
+  m_AreaSize: {x: 1, y: 1}
+  m_BounceIntensity: 1
+  m_ColorTemperature: 6570
+  m_UseColorTemperature: 0
+  m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
+  m_UseBoundingSphereOverride: 0
+  m_UseViewFrustumForShadowCasterCull: 1
+  m_ShadowRadius: 0
+  m_ShadowAngle: 0
+--- !u!4 &1456620534
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1456620532}
+  m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
+  m_LocalPosition: {x: -1.6903117, y: 0.25158218, z: 0.0024204254}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
 --- !u!1 &1527802229
 GameObject:
   m_ObjectHideFlags: 0
@@ -245,8 +433,8 @@ Camera:
   m_GameObject: {fileID: 1736974413}
   m_Enabled: 1
   serializedVersion: 2
-  m_ClearFlags: 2
-  m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0}
+  m_ClearFlags: 1
+  m_BackGroundColor: {r: 1, g: 1, b: 1, a: 0}
   m_projectionMatrixMode: 1
   m_GateFitMode: 2
   m_FOVAxisMode: 0
@@ -262,7 +450,7 @@ Camera:
   near clip plane: 0.3
   far clip plane: 1000
   field of view: 60
-  orthographic: 1
+  orthographic: 0
   orthographic size: 5
   m_Depth: -1
   m_CullingMask:
@@ -287,7 +475,7 @@ Transform:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1736974413}
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
-  m_LocalPosition: {x: 0, y: 0, z: -10}
+  m_LocalPosition: {x: 0, y: 2, z: -10}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children: []
   m_Father: {fileID: 0}

+ 5 - 1
Assets/Dev/Scripts/_Template.cs

@@ -1,6 +1,7 @@
 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
+using ToneTuneToolkit.Object;
 
 namespace Dev
 {
@@ -9,6 +10,9 @@ namespace Dev
   /// </summary>
   public class _Template : MonoBehaviour
   {
-
+    private void Start()
+    {
+ 
+    }
   }
 }

+ 2 - 2
Assets/Examples/017JsonConstructer/Scripts/JC.cs

@@ -14,11 +14,11 @@ namespace Examples
       Dictionary<string, string> testDic = new Dictionary<string, string>();
       testDic["KeyA"] = "ValueA";
       testDic["KeyB"] = "ValueB";
-      string testSting = JsonConstructer.Dic2Json(testDic);
+      string testSting = DataConverter.Dic2Json(testDic);
       Debug.Log(testSting);
 
       Dictionary<string, string> dic = new Dictionary<string, string>();
-      dic = JsonConstructer.Json2Dic(testSting);
+      dic = DataConverter.Json2Dic(testSting);
       Debug.Log(dic["KeyA"]);
     }
   }

+ 17 - 0
Assets/NOTE.md

@@ -6,6 +6,23 @@
 
 </br>
 
+# *NOTE*
+### -> 命名规则
+* FocusObjectTransform => foTrC;
+* CameraGameObject => cameraGO;
+* Presetting();
+* xxxxxMethod();
+* this.
+* 动词+名词
+* 方法需要return;
+
+/// <summary>
+/// Copyright (c) 2021 MirzkisD1Ex0 All rights reserved.
+/// Code Version 1.0
+/// </summary>
+
+</br>
+
 # *NOTE*
 ### -> 教程目录
     {

+ 39 - 34
Assets/ToneTuneToolkit/Documentation.md

@@ -20,58 +20,63 @@
 </br>
 
 # <center>*INTRODUCTION & LOG*</center>
-1. 插件内容包含“<strong>ToneTuneToolkit</strong>”文件夹及“<strong>StreamingAssets/ToneTuneToolkit</strong>”文件夹。
-2. 当某模块中包含“**Handler**”助手类时,仅添加助手类至对象即可自动为其添加依赖。避免发生错误的组装。例如“**UDP**”以及“**Verification**”。
-3. 添加了思源黑体简中OTF格式全套。
-4. 添加了两张简易贴图。
-5. 添加了一些演示用场景。
-6. 添加了两个可怕的工具。
-7. Nothing here.
+1. 请留意,“MirzkisD1Ex0”的“ToneTune Toolkit”基于<strong>GPL3.0</strong>(GNU General Public License v3.0)协议所开发。
+2. 插件内容包含“<strong>ToneTuneToolkit</strong>”文件夹及“<strong>StreamingAssets/ToneTuneToolkit</strong>”文件夹。
+3. 当某模块中包含“**Handler**”助手类时,仅添加助手类至对象即可自动为其添加依赖。避免发生错误的组装。例如“**UDP**”以及“**Verification**”。
+4. 添加了思源黑体简中OTF格式全套。
+5. 添加了两张简易贴图。
+6. 添加了一些演示用场景。
+7. 添加了两个可怕的工具。
+8. Nothing here.
 
 </br>
 
 # <center>*SCRIPTS*</center>
 ### -> ToneTuneToolkit.Common/
-* ToolkitManager // 管理类 // 多数功能的依赖
-* DataConverter // 静态 // 数据转换 // 字符串与二进制之间转换
-* EventListener // 数值监听器 // 提供了一个泛型事件
-* FileNameCapturer // 静态 // 获取特定文件夹下特定格式的文件名
-* JsonConstructer // 静态 // 将字典与json之间相互转换
-* TextLoader // 静态 // 文字加载 // 可以读取txt及json
-* TimestampCapturer // 静态 // 获取时间戳 // 本地获取静态方法 // 网络获取单例
-* TipTools // 静态 // TTT工具箱专属Debug.Log
-
-### -> ToneTuneToolkit.Camera/
-* CameraFocusObject // 鼠标控制物体环绕注视对象
-* CameraLookAround // 鼠标拖动控制相机旋转 // 可用于全景
+* ToolkitManager      // 管理类 // 存放路径 // 多数功能的依赖
+* DataConverter       // 静态 // 数据转换 // 字符串与二进制之间转换 // 字符串与json之间转换
+* EventListener       // 数值监听器 // 提供了一个泛型事件
+* FileNameCapturer    // 静态 // 获取特定文件夹下特定格式的文件名
+* PathChecker         // 静态 // 文件/文件夹检查 // 如果不存在则创建空的
+* TextLoader          // 静态 // 文字加载 // 可以读取txt及json
+* TimestampCapturer   // 静态 // 获取时间戳 // 本地获取静态方法 // 网络获取需单例
+* TipTools            // 静态 // TTT工具箱专属Debug.Log
 
 ### -> ToneTuneToolkit.Editor/
 * Nothing Here.
 
 ### -> ToneTuneToolkit.Object/
-* ObjectDrag // 对象拖拽
-* ObjectFloating // 对象上下漂浮
-* TraverseObejctChangeColor // 改变对象及所有子对象的颜色
+* ObjectDrag                  // 物体拖动
+* ObjectFloating              // 物体上下漂浮
+* ObjectSearcher              // 多种方式寻找目标
+* TraverseObejctChangeColor   // 改变对象及所有子对象的颜色
+
+### -> ToneTuneToolkit.Other/
+* AsyncLoadingWithProcessBar    // 加载场景进度条
+* CMDLauncher                   // CMD命令行
+* KeyPressSimulator             // 物理键盘按键模拟
 
 ### -> ToneTuneToolkit.UDP/
-* UDPCommunicator // UDP收发工具
-* UDPHandler // UDP工具助手
+* UDPCommunicator   // UDP通讯器
+* UDPHandler        // UDP助手
 
 ### -> ToneTuneToolkit.UI/
-* Parallax // 简易视差效果
-* TextFlick // 文字通过透明度闪烁
+* Parallax    // 多层次视差
+* TextFlick   // 文字通过透明度闪烁
 
 ### -> ToneTuneToolkit.Verification/
-* AntiVerifier // 反向验证器 // 二进制
-* Verifier // 验证器
-* VerifierHandler // 验证系统助手
+* AntiVerifier      // 反向验证器 // 二进制
+* Verifier          // 验证器
+* VerifierHandler   // 验证系统助手
 
-### -> ToneTuneToolkit.WOL/
-* WakeOnLan // 局域网唤醒器
-* WakeOnLanHandler // 局域网唤醒助手
+### -> ToneTuneToolkit.View/
+* CameraFocusObject   // 鼠标拖动控制相机环绕注视对象
+* CameraLookAround    // 鼠标拖动控制相机环视 // 可用于全景
+* CameraZoom          // 相机POV多层级缩放 // 开镜?
 
-### -> ToneTuneToolkit.Other/
-* AsyncLoadingWithProcessBar // 加载场景进度条
+### -> ToneTuneToolkit.WOL/
+* WakeOnLan           // 局域网唤醒器
+* WakeOnLanHandler    // 局域网唤醒助手
 
 ### -> ToneTuneToolkit.LED/
 * LEDCommandCenter // LED命令中心

+ 0 - 73
Assets/ToneTuneToolkit/Scripts/Camera/CameraFocusObject.cs

@@ -1,73 +0,0 @@
-using UnityEngine;
-using ToneTuneToolkit.Common;
-
-namespace ToneTuneToolkit.Camera
-{
-  /// <summary>
-  /// OK
-  /// 鼠标控制物体环绕注视对象
-  /// 推荐挂在相机上
-  /// 需要相机为MainCameraTag
-  /// </summary>
-  public class CameraFocusObject : MonoBehaviour
-  {
-    public GameObject FocusObject;
-
-    private Transform foTrCmpt;
-
-    private void Start()
-    {
-      if (!FocusObject)
-      {
-        TipTools.Notice(this.name + "组件缺失");
-        this.enabled = false;
-        return;
-      }
-      if (!UnityEngine.Camera.main)
-      {
-        TipTools.Notice(this.name + "相机缺失");
-        this.enabled = false;
-        return;
-      }
-
-      foTrCmpt = FocusObject.GetComponent<Transform>();
-    }
-
-    private void LateUpdate()
-    {
-      CameraRotate();
-      CameraZoom();
-    }
-
-    /// <summary>
-    /// 相机的旋转
-    /// </summary>
-    private void CameraRotate()
-    {
-      float mouseAxisX = Input.GetAxis("Mouse X");
-      float mouseAxisY = -Input.GetAxis("Mouse Y");
-      if (Input.GetKey(KeyCode.Mouse0)) // 左键
-      {
-        UnityEngine.Camera.main.transform.RotateAround(foTrCmpt.position, Vector3.up, mouseAxisX * 5);
-        UnityEngine.Camera.main.transform.RotateAround(foTrCmpt.position, UnityEngine.Camera.main.transform.right, mouseAxisY * 5);
-      }
-      return;
-    }
-
-    /// <summary>
-    /// 相机的缩放
-    /// </summary>
-    private void CameraZoom()
-    {
-      if (Input.GetAxis("Mouse ScrollWheel") > 0)
-      {
-        UnityEngine.Camera.main.transform.Translate(Vector3.forward * 0.1f);
-      }
-      if (Input.GetAxis("Mouse ScrollWheel") < 0)
-      {
-        UnityEngine.Camera.main.transform.Translate(Vector3.forward * -0.1f);
-      }
-      return;
-    }
-  }
-}

+ 0 - 66
Assets/ToneTuneToolkit/Scripts/Camera/CameraLookAround.cs

@@ -1,66 +0,0 @@
-using UnityEngine;
-using ToneTuneToolkit.Common;
-
-namespace ToneTuneToolkit.Camera
-{
-  /// <summary>
-  /// OK
-  /// 鼠标拖动控制相机旋转
-  /// 推荐挂在相机上
-  /// 需要设置MainCameraTag
-  /// 如果是为了实现全景效果,建议减少球模型的面数,此外还需要在建模软件内将模型的法线翻转至球的内侧
-  /// 或者使用Sphere + Panoramic材质 // 更省事
-  /// </summary>
-  public class CameraLookAround : MonoBehaviour
-  {
-    public float speed = 1000; // 旋转速度
-
-    private float xValue;
-    private float yValue;
-    private Vector3 rotationValue = Vector3.zero;
-
-    private void Start()
-    {
-      if (!UnityEngine.Camera.main)
-      {
-        TipTools.Notice(this.name + "相机缺失");
-        this.enabled = false;
-        return;
-      }
-    }
-
-    private void Update()
-    {
-      xValue = Input.GetAxis("Mouse X");
-      yValue = Input.GetAxis("Mouse Y");
-
-      if (Input.GetMouseButton(0)) // 按住鼠标左键
-      {
-        if (xValue != 0 || yValue != 0) // 并且鼠标移动
-        {
-          RotateView(xValue, yValue);
-        }
-      }
-    }
-
-    /// <summary>
-    /// 视角滚动
-    /// </summary>
-    /// <param name="x"></param>
-    /// <param name="y"></param>
-    private void RotateView(float x, float y)
-    {
-      rotationValue.x += y * Time.deltaTime * speed;
-      rotationValue.y += -x * Time.deltaTime * speed;
-      if (rotationValue.x > 90) // 矫正
-      {
-        rotationValue.x = 90;
-      }
-      else if (rotationValue.x < -90)
-      {
-        rotationValue.x = -90;
-      }
-      transform.rotation = Quaternion.Euler(rotationValue);
-    }
-  }
-}

+ 31 - 1
Assets/ToneTuneToolkit/Scripts/Common/DataConverter.cs

@@ -1,10 +1,17 @@
+/// <summary>
+/// Copyright (c) 2021 MirzkisD1Ex0 All rights reserved.
+/// Code Version 1.0
+/// </summary>
+
 using System;
 using System.Text;
+using System.Collections.Generic;
+using Newtonsoft.Json;
+using ToneTuneToolkit.Common;
 
 namespace ToneTuneToolkit.Common
 {
   /// <summary>
-  /// OK
   /// 数据转换器
   /// </summary>
   public class DataConverter
@@ -52,5 +59,28 @@ namespace ToneTuneToolkit.Common
       TimeSpan ts = new TimeSpan(long.Parse(millsecondTimeStamp + "0000")); // 转成戳 // 不明白为什么要加0000
       return gmtDT.Add(ts);
     }
+
+    /// <summary>
+    /// 将字典转化为json
+    /// </summary>
+    /// <param name="jsonDic">字典</param>
+    /// <returns>字符串</returns>
+    public static string Dic2Json(Dictionary<string, string> jsonDic)
+    {
+      string jsonString = JsonConvert.SerializeObject(jsonDic);
+      return jsonString;
+    }
+
+    /// <summary>
+    /// json转为字典
+    /// </summary>
+    /// <param name="jsonString">json</param>
+    /// <returns>字典</returns>
+    public static Dictionary<string, string> Json2Dic(string jsonString)
+    {
+      Dictionary<string, string> jsonDic = new Dictionary<string, string>();
+      jsonDic = JsonConvert.DeserializeObject<Dictionary<string, string>>(jsonString);
+      return jsonDic;
+    }
   }
 }

+ 6 - 0
Assets/ToneTuneToolkit/Scripts/Common/EventListener.cs

@@ -1,7 +1,13 @@
+/// <summary>
+/// Copyright (c) 2021 MirzkisD1Ex0 All rights reserved.
+/// Code Version 1.0
+/// </summary>
+
 namespace ToneTuneToolkit.Common
 {
   /// <summary>
   /// 事件监听泛型参数类
+  ///
   /// Value
   /// private EventListener<int> listenerTest = new EventListener<int>();
   /// listenerTest.OnValueChange += Test; // Test一个方法

+ 7 - 2
Assets/ToneTuneToolkit/Scripts/Common/FileNameCapturer.cs

@@ -1,9 +1,13 @@
-using System.IO;
+/// <summary>
+/// Copyright (c) 2021 MirzkisD1Ex0 All rights reserved.
+/// Code Version 1.0
+/// </summary>
+
+using System.IO;
 
 namespace ToneTuneToolkit.Common
 {
   /// <summary>
-  /// OK
   /// 获取某个目录下指定类型的文件名
   /// </summary>
   public class FileNameCapturer
@@ -18,6 +22,7 @@ namespace ToneTuneToolkit.Common
     {
       if (!Directory.Exists(path)) // 如果路径不存在 // 返回 空
       {
+        TipTools.Error("[FileNameCapturer] Cant find [" + path + "].");
         return null;
       }
       DirectoryInfo directoryInfo = new DirectoryInfo(path); // 获取文件信息

+ 0 - 48
Assets/ToneTuneToolkit/Scripts/Common/JsonConstructer.cs

@@ -1,48 +0,0 @@
-using System.Collections.Generic;
-using UnityEngine;
-using Newtonsoft.Json;
-
-namespace ToneTuneToolkit.Common
-{
-  /// <summary>
-  /// Unfinished
-  /// Json处理工具
-  /// </summary>
-  public class JsonConstructer : MonoBehaviour
-  {
-    /// <summary>
-    /// 将字典转化为json
-    /// </summary>
-    /// <param name="jsonDic">字典</param>
-    /// <returns>字符串</returns>
-    public static string Dic2Json(Dictionary<string, string> jsonDic)
-    {
-      string jsonString = JsonConvert.SerializeObject(jsonDic);
-      return jsonString;
-    }
-
-    /// <summary>
-    /// json转为字典
-    /// </summary>
-    /// <param name="jsonString">json</param>
-    /// <returns>字典</returns>
-    public static Dictionary<string, string> Json2Dic(string jsonString)
-    {
-      Dictionary<string, string> jsonDic = new Dictionary<string, string>();
-      jsonDic = JsonConvert.DeserializeObject<Dictionary<string, string>>(jsonString);
-      return jsonDic;
-    }
-
-    // /// <summary>
-    // /// 数据类
-    // /// </summary>
-    // public class JsonPackage
-    // {
-    //   public string field01; // 字段
-    //   public string field02;
-    //   // public Dictionary<string, string> dictionary = new Dictionary<string, string>(); // 对象
-    //   // product.dictionary["Local IP"] = "192.168.1.1";
-    //   // product.dictionary["Target IP"] = "192.168.1.1";
-    // }
-  }
-}

+ 52 - 0
Assets/ToneTuneToolkit/Scripts/Common/PathChecker.cs

@@ -0,0 +1,52 @@
+/// <summary>
+/// Copyright (c) 2021 MirzkisD1Ex0 All rights reserved.
+/// Code Version 1.0
+/// </summary>
+
+using System.IO;
+using UnityEngine;
+using ToneTuneToolkit.Common;
+
+namespace ToneTuneToolkit.Common
+{
+  /// <summary>
+  /// 文件/文件夹检查器
+  /// </summary>
+  public class PathChecker : MonoBehaviour
+  {
+    /// <summary>
+    /// 文件夹完整性检查
+    /// 不存在则创建空文件夹
+    /// </summary>
+    /// <param name="url"></param>
+    public static bool FolderIntegrityCheck(string url)
+    {
+      if (File.Exists(url))
+      {
+        return true;
+      }
+      Directory.CreateDirectory(url);
+      TipTools.Warning("[PathChecker] Folder created.");
+      return false;
+    }
+
+    /// <summary>
+    /// 文件完整性检查
+    /// 不存在则创建空的文件
+    /// </summary>
+    /// <param name="url"></param>
+    public static bool FileIntegrityCheck(string url)
+    {
+      if (File.Exists(url))
+      {
+        return true;
+      }
+      FileInfo fi = new FileInfo(url);
+      StreamWriter sw = fi.CreateText();
+      sw.Close();
+      sw.Dispose();
+      TipTools.Warning("[PathChecker] File created.");
+      return false;
+    }
+  }
+}

+ 1 - 1
Assets/ToneTuneToolkit/Scripts/Common/JsonConstructer.cs.meta → Assets/ToneTuneToolkit/Scripts/Common/PathChecker.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: c9374cc2a1726fa42a4af017919f03fa
+guid: 95e01ee2b7b7f3247935f1114da37471
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 8 - 3
Assets/ToneTuneToolkit/Scripts/Common/TextLoader.cs

@@ -1,3 +1,8 @@
+/// <summary>
+/// Copyright (c) 2021 MirzkisD1Ex0 All rights reserved.
+/// Code Version 1.0
+/// </summary>
+
 using System.Collections.Generic;
 using System.IO;
 using Newtonsoft.Json;
@@ -5,8 +10,8 @@ using Newtonsoft.Json;
 namespace ToneTuneToolkit.Common
 {
   /// <summary>
-  /// OK
   /// 文字加载工具
+  ///
   /// 后续会增加覆写功能
   /// Get
   /// </summary>
@@ -22,7 +27,7 @@ namespace ToneTuneToolkit.Common
     {
       if (!File.Exists(url))
       {
-        TipTools.Notice("<" + url + ">不存在");
+        TipTools.Error("[TextLoader] Cant find [" + url + "].");
         return null;
       }
       string[] tempStringArray = File.ReadAllLines(url);
@@ -46,7 +51,7 @@ namespace ToneTuneToolkit.Common
     {
       if (!File.Exists(url))
       {
-        TipTools.Notice("<" + url + ">不存在");
+        TipTools.Error("[TextLoader] Cant find [" + url + "].");
         return null;
       }
       string json = File.ReadAllText(url);

+ 11 - 6
Assets/ToneTuneToolkit/Scripts/Common/TimestampCapturer.cs

@@ -1,3 +1,8 @@
+/// <summary>
+/// Copyright (c) 2021 MirzkisD1Ex0 All rights reserved.
+/// Code Version 1.0
+/// </summary>
+
 using System.Collections;
 using UnityEngine;
 using Newtonsoft.Json.Linq;
@@ -7,15 +12,15 @@ using UnityEngine.Networking;
 namespace ToneTuneToolkit.Common
 {
   /// <summary>
-  /// OK
   /// 时间戳获取器
+  ///
   /// 自带一个时间戳转日期的方法
-  /// </summary>
   /// https://tool.lu/timestamp/
+  /// </summary>
   public class TimestampCapturer : MonoBehaviour
   {
     public static TimestampCapturer Instance;
-    private static string stampURL = "http://api.m.taobao.com/rest/api3.do?api=mtop.common.getTimestamp"; // 时间戳提供者
+    private string stampURL = "http://api.m.taobao.com/rest/api3.do?api=mtop.common.getTimestamp"; // 时间戳提供者
 
     private void Awake()
     {
@@ -37,7 +42,7 @@ namespace ToneTuneToolkit.Common
     /// </summary>
     public void GetNetTimestamp()
     {
-      StartCoroutine(RequestTimestamp(stampURL));
+      StartCoroutine(RequestTimestamp(this.stampURL));
       return;
     }
 
@@ -61,8 +66,8 @@ namespace ToneTuneToolkit.Common
 
       long longTime = long.Parse(jb["data"]["t"].ToString());
 
-      TipTools.Notice("Timestamp=>" + longTime);
-      TipTools.Notice("DataTime=>" + DataConverter.ConvertTimestamp2DateTime(longTime));
+      TipTools.Notice("[TimestampCapturer] Timestamp=>" + longTime);
+      TipTools.Notice("[TimestampCapturer] DataTime=>" + DataConverter.ConvertTimestamp2DateTime(longTime));
       yield break;
     }
   }

+ 6 - 2
Assets/ToneTuneToolkit/Scripts/Common/TipTools.cs

@@ -1,10 +1,14 @@
+/// <summary>
+/// Copyright (c) 2021 MirzkisD1Ex0 All rights reserved.
+/// Code Version 1.0
+/// </summary>
+
 using UnityEngine;
 
 namespace ToneTuneToolkit.Common
 {
   /// <summary>
-  /// OK
-  /// TTT专属提示
+  /// ToneTuneToolkit专属提示
   /// </summary>
   public static class TipTools
   {

+ 10 - 37
Assets/ToneTuneToolkit/Scripts/Common/ToolkitManager.cs

@@ -1,10 +1,14 @@
+/// <summary>
+/// Copyright (c) 2021 MirzkisD1Ex0 All rights reserved.
+/// Code Version 1.0
+/// </summary>
+
 using UnityEngine;
-using System.IO;
+using ToneTuneToolkit.Common;
 
 namespace ToneTuneToolkit.Common
 {
   /// <summary>
-  /// OK
   /// MANAGER!
   /// </summary>
   public class ToolkitManager : MonoBehaviour
@@ -20,41 +24,10 @@ namespace ToneTuneToolkit.Common
     {
       DontDestroyOnLoad(gameObject);
 
-      FolderIntegrityCheck(MainPath);
-      FolderIntegrityCheck(ConfigsPath);
-      FolderIntegrityCheck(DataPath);
-      FolderIntegrityCheck(AdditionalToolsPath);
-    }
-
-    /// <summary>
-    /// 文件夹完整性检查
-    /// </summary>
-    /// <param name="url"></param>
-    public static bool FolderIntegrityCheck(string url)
-    {
-      if (File.Exists(url))
-      {
-        return true;
-      }
-      Directory.CreateDirectory(url);
-      return false;
-    }
-
-    /// <summary>
-    /// 文件完整性检查
-    /// </summary>
-    /// <param name="url"></param>
-    public static bool FileIntegrityCheck(string url)
-    {
-      if (File.Exists(url))
-      {
-        return true;
-      }
-      FileInfo fi = new FileInfo(url);
-      StreamWriter sw = fi.CreateText();
-      sw.Close();
-      sw.Dispose();
-      return false;
+      PathChecker.FolderIntegrityCheck(MainPath);
+      PathChecker.FolderIntegrityCheck(ConfigsPath);
+      PathChecker.FolderIntegrityCheck(DataPath);
+      PathChecker.FolderIntegrityCheck(AdditionalToolsPath);
     }
   }
 }

+ 21 - 16
Assets/ToneTuneToolkit/Scripts/MultimediaExhibitionHall/LED/LEDCommandCenter.cs

@@ -1,3 +1,8 @@
+/// <summary>
+/// Copyright (c) 2021 MirzkisD1Ex0 All rights reserved.
+/// Code Version 1.0
+/// </summary>
+
 using UnityEngine;
 using UnityEngine.UI;
 using ToneTuneToolkit.Common;
@@ -6,8 +11,8 @@ using ToneTuneToolkit.UDP;
 namespace ToneTuneToolkit.LED
 {
   /// <summary>
-  /// OK
-  /// 凌恩LED控制中心
+  /// 凌恩LED命令中心
+  ///
   /// 语法配套
   /// </summary>
   public class LEDCommandCenter : MonoBehaviour
@@ -38,17 +43,17 @@ namespace ToneTuneToolkit.LED
 
     private void Start()
     {
-      EventBind();
-      SLDimColor("#FFFFFF");
-      SBChangeBrightness(10);
-      SLDimEffect("Delete");
+      this.EventBind();
+      this.SLDimColor("#FFFFFF");
+      this.SBChangeBrightness(10);
+      this.SLDimEffect("Delete");
     }
 
     private void OnApplicationQuit()
     {
-      SLDimColor("#FFFFFF");
-      SBChangeBrightness(0);
-      SLDimEffect("Delete");
+      this.SLDimColor("#FFFFFF");
+      this.SBChangeBrightness(0);
+      this.SLDimEffect("Delete");
     }
 
     private void EventBind()
@@ -56,19 +61,19 @@ namespace ToneTuneToolkit.LED
       for (int i = 1; i < LEDHandler.NodeColorGO.transform.childCount; i++) // i+1/count-1 为了偏移title
       {
         GameObject tempGO = LEDHandler.NodeColorGO.transform.GetChild(i).gameObject;
-        tempGO.GetComponent<Button>().onClick.AddListener(() => SLDimColor(tempGO.name));
+        tempGO.GetComponent<Button>().onClick.AddListener(() => this.SLDimColor(tempGO.name));
       }
 
-      LEDHandler.SliderBrightnessGO.GetComponent<Slider>().onValueChanged.AddListener(SBChangeBrightness);
-      LEDHandler.SliderPortGO.GetComponent<Slider>().onValueChanged.AddListener(SLSetPort);
-      LEDHandler.SliderBeginGO.GetComponent<Slider>().onValueChanged.AddListener(SLSetBegin);
-      LEDHandler.SliderEndGO.GetComponent<Slider>().onValueChanged.AddListener(SLSetEnd);
-      LEDHandler.SliderSpeedGO.GetComponent<Slider>().onValueChanged.AddListener(SLSetSpeed);
+      LEDHandler.SliderBrightnessGO.GetComponent<Slider>().onValueChanged.AddListener(this.SBChangeBrightness);
+      LEDHandler.SliderPortGO.GetComponent<Slider>().onValueChanged.AddListener(this.SLSetPort);
+      LEDHandler.SliderBeginGO.GetComponent<Slider>().onValueChanged.AddListener(this.SLSetBegin);
+      LEDHandler.SliderEndGO.GetComponent<Slider>().onValueChanged.AddListener(this.SLSetEnd);
+      LEDHandler.SliderSpeedGO.GetComponent<Slider>().onValueChanged.AddListener(this.SLSetSpeed);
 
       for (int i = 1; i < LEDHandler.NodeEffectGO.transform.childCount; i++)
       {
         GameObject tempGO = LEDHandler.NodeEffectGO.transform.GetChild(i).gameObject;
-        tempGO.GetComponent<Button>().onClick.AddListener(() => SLDimEffectPreaction(tempGO.name));
+        tempGO.GetComponent<Button>().onClick.AddListener(() => this.SLDimEffectPreaction(tempGO.name));
       }
       return;
     }

+ 40 - 35
Assets/ToneTuneToolkit/Scripts/MultimediaExhibitionHall/LED/LEDCommandHub.cs

@@ -1,45 +1,50 @@
+/// <summary>
+/// Copyright (c) 2021 MirzkisD1Ex0 All rights reserved.
+/// Code Version 1.0
+/// </summary>
+
 namespace ToneTuneToolkit.LED
 {
+  /// <summary>
+  /// LED基础指令集
+  /// PornHub
+  /// </summary>
+  public static class LEDCommandHub
+  {
     /// <summary>
-    /// PornHub
-    /// LED基础指令集
+    /// 基础构成
     /// </summary>
-    public static class LEDCommandHub
+    public static class Basic
     {
-        /// <summary>
-        /// 基础构成
-        /// </summary>
-        public static class Basic
-        {
-            public const string BaseCommand = "[Dev]REQ=";
-            public const string Port = "&Port=";
-            public const string Begin = "&Begin=";
-            public const string End = "&End=";
-            public const string Color = "&Color=";
-        }
+      public const string BaseCommand = "[Dev]REQ=";
+      public const string Port = "&Port=";
+      public const string Begin = "&Begin=";
+      public const string End = "&End=";
+      public const string Color = "&Color=";
+    }
 
-        /// <summary>
-        /// 基础命令
-        /// </summary>
-        public static class MethodType
-        {
-            public const string GetInfo = "GetInfo"; // 获取信息
-            public const string SemanticLighting = "SemanticLighting&"; // 语义灯控
-            public const string SetBrightnessBrightness = "SetBrightness&Brightness="; // 设置亮度
-        }
+    /// <summary>
+    /// 基础命令
+    /// </summary>
+    public static class MethodType
+    {
+      public const string GetInfo = "GetInfo"; // 获取信息
+      public const string SemanticLighting = "SemanticLighting&"; // 语义灯控
+      public const string SetBrightnessBrightness = "SetBrightness&Brightness="; // 设置亮度
+    }
 
-        /// <summary>
-        /// 语义灯控
-        /// </summary>
-        public static class SemanticLighting
-        {
-            public const string Action = "Action=";
-            public const string DimColor = "DimColor";
-            public const string DimEffect = "DimEffect";
+    /// <summary>
+    /// 语义灯控
+    /// </summary>
+    public static class SemanticLighting
+    {
+      public const string Action = "Action=";
+      public const string DimColor = "DimColor";
+      public const string DimEffect = "DimEffect";
 
-            public const string DimEffectName = "&EffectName=";
-            public const string DimEffectType = "&EffectType=";
-            public const string DimEffectSpeed = "&Speed=";
-        }
+      public const string DimEffectName = "&EffectName=";
+      public const string DimEffectType = "&EffectType=";
+      public const string DimEffectSpeed = "&Speed=";
     }
+  }
 }

+ 7 - 1
Assets/ToneTuneToolkit/Scripts/MultimediaExhibitionHall/LED/LEDHandler.cs

@@ -1,9 +1,15 @@
+/// <summary>
+/// Copyright (c) 2021 MirzkisD1Ex0 All rights reserved.
+/// Code Version 1.0
+/// </summary>
+
 using UnityEngine;
 
 namespace ToneTuneToolkit.LED
 {
   /// <summary>
-  /// OK
+  /// LED助手
+  ///
   /// 需要挂载在对象上
   /// 寻找必要组件
   /// </summary>

+ 46 - 42
Assets/ToneTuneToolkit/Scripts/MultimediaExhibitionHall/LED/LEDNuclearShow.cs

@@ -1,54 +1,58 @@
+/// <summary>
+/// Copyright (c) 2021 MirzkisD1Ex0 All rights reserved.
+/// Code Version 1.0
+/// </summary>
+
 using UnityEngine;
 using UnityEngine.UI;
 
 namespace ToneTuneToolkit.LED
 {
-    /// <summary>
-    /// OK
-    /// 核弹秀
-    /// </summary>
-    public class LEDNuclearShow : MonoBehaviour
-    {
-        private GameObject nuclearGO;
-        private Image nICmpt;
-        private Button nBCmpt;
-        private Color color = Color.white;
-        private bool isShowing = false;
+  /// <summary>
+  /// 核弹秀
+  /// </summary>
+  public class LEDNuclearShow : MonoBehaviour
+  {
+    private GameObject nuclearGO;
+    private Image nImC;
+    private Button nBuC;
+    private Color color = Color.white;
+    private bool isShowing = false;
 
-        private void Start()
-        {
-            nuclearGO = GameObject.Find("Button - Nuclear");
-            nICmpt = nuclearGO.GetComponent<Image>();
-            nBCmpt = nuclearGO.GetComponent<Button>();
+    private void Start()
+    {
+      this.nuclearGO = GameObject.Find("Button - Nuclear");
+      this.nImC = this.nuclearGO.GetComponent<Image>();
+      this.nBuC = this.nuclearGO.GetComponent<Button>();
 
-            nBCmpt.onClick.AddListener(StartNuclear);
-        }
+      this.nBuC.onClick.AddListener(this.StartNuclear);
+    }
 
-        /// <summary>
-        /// 
-        /// </summary>
-        private void StartNuclear()
-        {
-            if (!isShowing)
-            {
-                InvokeRepeating("RandomColor", 0, .1f);
-            }
-            else
-            {
-                CancelInvoke();
-                nICmpt.color = new Color(0, 0, 0, 0);
-            }
-            isShowing = !isShowing;
-            return;
-        }
+    /// <summary>
+    /// 
+    /// </summary>
+    private void StartNuclear()
+    {
+      if (!this.isShowing)
+      {
+        InvokeRepeating("RandomColor", 0, .1f);
+      }
+      else
+      {
+        CancelInvoke();
+        this.nImC.color = new Color(0, 0, 0, 0);
+      }
+      this.isShowing = !this.isShowing;
+      return;
+    }
 
-        private void RandomColor()
-        {
-            color = new Color(Random.Range(0f, 255f) / 255, Random.Range(0f, 255f) / 255, Random.Range(0f, 255f) / 255, 1);
-            nICmpt.color = color;
+    private void RandomColor()
+    {
+      this.color = new Color(Random.Range(0f, 255f) / 255, Random.Range(0f, 255f) / 255, Random.Range(0f, 255f) / 255, 1);
+      this.nImC.color = this.color;
 
-            LEDCommandCenter.Instance.SLDimColor("#" + ColorUtility.ToHtmlStringRGB(color));
-            return;
-        }
+      LEDCommandCenter.Instance.SLDimColor("#" + ColorUtility.ToHtmlStringRGB(this.color));
+      return;
     }
+  }
 }

+ 18 - 11
Assets/ToneTuneToolkit/Scripts/Object/ObjectDrag.cs

@@ -1,13 +1,18 @@
-using System.Collections;
+/// <summary>
+/// Copyright (c) 2021 MirzkisD1Ex0 All rights reserved.
+/// Code Version 1.0
+/// </summary>
+
+using System.Collections;
 using UnityEngine;
 using ToneTuneToolkit.Common;
 
 namespace ToneTuneToolkit.Object
 {
   /// <summary>
-  /// OK
-  /// 对象拖拽
-  /// 挂在需要拖拽的对象
+  /// 物体拖拽
+  ///
+  /// 挂在需要拖拽的物体
   /// 需要相机为MainCameraTag
   /// 需要碰撞器
   /// </summary>
@@ -16,25 +21,27 @@ namespace ToneTuneToolkit.Object
     private Vector3 screenPosition;
     private Vector3 offset;
     private Vector3 currentScreenPosition;
+    private Camera cameraCaC;
 
     private void Start()
     {
-      if (!UnityEngine.Camera.main)
+      if (!Camera.main)
       {
-        TipTools.Notice(this.name + "相机缺失");
+        TipTools.Error("[ObjectDrag] " + "Cant find Camera.");
         this.enabled = false;
         return;
       }
+      cameraCaC = Camera.main;
     }
 
     private IEnumerator OnMouseDown()
     {
-      screenPosition = UnityEngine.Camera.main.WorldToScreenPoint(gameObject.transform.position);
-      offset = gameObject.transform.position - UnityEngine.Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPosition.z));
-      while (Input.GetMouseButton(0) || Input.GetMouseButton(1))
+      this.screenPosition = this.cameraCaC.WorldToScreenPoint(transform.position);
+      this.offset = transform.position - this.cameraCaC.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, this.screenPosition.z));
+      while (Input.GetMouseButton(0)) // 鼠标左键拖拽
       {
-        currentScreenPosition = new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPosition.z);
-        gameObject.transform.position = UnityEngine.Camera.main.ScreenToWorldPoint(currentScreenPosition) + offset;
+        this.currentScreenPosition = new Vector3(Input.mousePosition.x, Input.mousePosition.y, this.screenPosition.z);
+        transform.position = this.cameraCaC.ScreenToWorldPoint(this.currentScreenPosition) + this.offset;
         yield return new WaitForFixedUpdate();
       }
     }

+ 18 - 8
Assets/ToneTuneToolkit/Scripts/Object/ObjectFloating.cs

@@ -1,11 +1,16 @@
-using UnityEngine;
+/// <summary>
+/// Copyright (c) 2021 MirzkisD1Ex0 All rights reserved.
+/// Code Version 1.0
+/// </summary>
+
+using UnityEngine;
 
 namespace ToneTuneToolkit.Object
 {
   /// <summary>
-  /// OK
-  /// 物体上下漂浮功能
-  /// 挂在对象上
+  /// 物体上下漂浮
+  ///
+  /// 需要挂在对象上
   /// </summary>
   public class ObjectFloating : MonoBehaviour
   {
@@ -17,14 +22,19 @@ namespace ToneTuneToolkit.Object
 
     private void Start()
     {
-      oldPos = transform.position; // 将最初的位置保存到oldPos
+      this.oldPos = transform.position; // 将最初的位置保存到oldPos
     }
 
     private void Update()
     {
-      radian += PerRadian / 100f; // 弧度每次加
-      float temporaryValue = Mathf.Cos(radian) * Radius; // dy定义的是针对y轴的变量,也可以使用sin,找到一个适合的值就可以
-      transform.position = oldPos + new Vector3(0, temporaryValue, 0);
+      this.Float();
+    }
+
+    private void Float()
+    {
+      this.radian += this.PerRadian / 100f; // 弧度每次加
+      float temporaryValue = Mathf.Cos(this.radian) * this.Radius; // dy定义的是针对y轴的变量,也可以使用sin,找到一个适合的值就可以
+      transform.position = this.oldPos + new Vector3(0, temporaryValue, 0);
     }
   }
 }

+ 46 - 0
Assets/ToneTuneToolkit/Scripts/Object/ObjectSearcher.cs

@@ -0,0 +1,46 @@
+/// <summary>
+/// Copyright (c) 2021 MirzkisD1Ex0 All rights reserved.
+/// Code Version 1.0
+/// </summary>
+
+using UnityEngine;
+using ToneTuneToolkit.Common;
+
+namespace ToneTuneToolkit.Object
+{
+  /// <summary>
+  /// 对象寻找器
+  /// </summary>
+  public class ObjectSearcher : MonoBehaviour
+  {
+    /// <summary>
+    /// 寻找距离最近的特定类型的对象
+    /// </summary>
+    /// <param name="rootGO">桩对象</param>
+    /// <param name="tag">搜寻对象的标签儿</param>
+    /// <returns></returns>
+    public static GameObject FindNearestObject(GameObject rootGO, string tag)
+    {
+      GameObject[] tempObject = GameObject.FindGameObjectsWithTag(tag);
+      if (tempObject.Length <= 0)
+      {
+        TipTools.Error("[ObjectSearcher] Cant find any [" + tag + "].");
+        return null;
+      }
+
+      GameObject nearestObject = tempObject[0];
+      float lowestDistance = Vector3.Distance(rootGO.transform.position, tempObject[0].transform.position);
+      for (int i = 0; i < tempObject.Length; i++)
+      {
+        float tempDistance = Vector3.Distance(rootGO.transform.position, tempObject[i].transform.position);
+        if (tempDistance < lowestDistance)
+        {
+          lowestDistance = tempDistance;
+          nearestObject = tempObject[i];
+        }
+      }
+      TipTools.Notice("[ObjectSearcher] Nearest " + tag + " is [" + nearestObject.name + "/" + lowestDistance + "].");
+      return nearestObject;
+    }
+  }
+}

+ 11 - 0
Assets/ToneTuneToolkit/Scripts/Object/ObjectSearcher.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 7a238f2a0c44c0646a6440585a60f633
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 13 - 8
Assets/ToneTuneToolkit/Scripts/Object/TraverseObejctChangeColor.cs

@@ -1,11 +1,16 @@
-using UnityEngine;
+/// <summary>
+/// Copyright (c) 2021 MirzkisD1Ex0 All rights reserved.
+/// Code Version 1.0
+/// </summary>
+
+using UnityEngine;
 using UnityEngine.UI;
 
 namespace ToneTuneToolkit.Object
 {
   /// <summary>
-  /// OK
-  /// 改变对象及所有子对象的颜色
+  /// 遍历物体及所有子对象并改变颜色
+  ///
   /// 材质、图片、Raw图片
   /// </summary>
   public class TraverseObejctChangeColor : MonoBehaviour
@@ -14,30 +19,30 @@ namespace ToneTuneToolkit.Object
 
     private void Start()
     {
-      ChildsColorGiving();
+      this.GivingChildsColor();
     }
 
     /// <summary>
     /// 改变三种子对象包括自己的颜色
     /// </summary>
-    private void ChildsColorGiving()
+    private void GivingChildsColor()
     {
       Transform[] allChildren = gameObject.GetComponentsInChildren<Transform>();
       foreach (Transform child in allChildren)
       {
         if (child.GetComponent<MeshRenderer>())
         {
-          child.GetComponent<MeshRenderer>().material.color = PresettingColor;
+          child.GetComponent<MeshRenderer>().material.color = this.PresettingColor;
           continue;
         }
         if (child.GetComponent<Image>())
         {
-          child.GetComponent<Image>().color = PresettingColor;
+          child.GetComponent<Image>().color = this.PresettingColor;
           continue;
         }
         if (child.GetComponent<RawImage>())
         {
-          child.GetComponent<RawImage>().color = PresettingColor;
+          child.GetComponent<RawImage>().color = this.PresettingColor;
           continue;
         }
       }

+ 14 - 10
Assets/ToneTuneToolkit/Scripts/Other/AsyncLoadingWithProcessBar.cs

@@ -1,4 +1,9 @@
-using UnityEngine;
+/// <summary>
+/// Copyright (c) 2021 MirzkisD1Ex0 All rights reserved.
+/// Code Version 1.0
+/// </summary>
+
+using UnityEngine;
 using System.Collections;
 using UnityEngine.UI;
 using UnityEngine.SceneManagement;
@@ -7,15 +12,14 @@ using ToneTuneToolkit.Common;
 namespace ToneTuneToolkit.Other
 {
   /// <summary>
-  /// OK
   /// 带进度条的异步场景加载
+  ///
   /// 需要Slider和Text对象
   /// SceneLoading.Instance.LoadingScene(01);
   /// </summary>
   public class AsyncLoadingWithProcessBar : MonoBehaviour
   {
-    public static AsyncLoadingWithProcessBar Instance; // 懒人单例
-
+    public static AsyncLoadingWithProcessBar Instance;
 
     public Slider LoadingSlider;
     public Text LoadingText;
@@ -27,9 +31,9 @@ namespace ToneTuneToolkit.Other
 
     private void Start()
     {
-      if (!LoadingSlider || !LoadingText)
+      if (!this.LoadingSlider || !this.LoadingText)
       {
-        TipTools.Notice(this.name + "组件缺失");
+        TipTools.Error("[AsyncLoadingWithProcessBar] Cant find nessary component.");
         this.enabled = false;
         return;
       }
@@ -38,7 +42,7 @@ namespace ToneTuneToolkit.Other
     /// <summary>
     /// 对外接口
     /// </summary>
-    /// <param name="sceneIndex"></param>
+    /// <param name="sceneIndex">场景编号</param>
     public void LoadingScene(int sceneIndex)
     {
       StartCoroutine(LoadingProcess(sceneIndex));
@@ -57,11 +61,11 @@ namespace ToneTuneToolkit.Other
       while (index <= 100)
       {
         index++;
-        LoadingSlider.value = index / 100;
+        this.LoadingSlider.value = index / 100;
         yield return new WaitForEndOfFrame();
-        LoadingText.text = index.ToString() + "%";
+        this.LoadingText.text = index.ToString() + "%";
       }
-      asyncOperation.allowSceneActivation = true; // false会卡住最后10%的进度
+      asyncOperation.allowSceneActivation = true; // 若为false会卡住最后10%的进度
     }
   }
 }

+ 7 - 3
Assets/ToneTuneToolkit/Scripts/Other/CMDLauncher.cs

@@ -1,11 +1,15 @@
-using UnityEngine;
+/// <summary>
+/// Copyright (c) 2021 MirzkisD1Ex0 All rights reserved.
+/// Code Version 1.0
+/// </summary>
+
+using UnityEngine;
 using System.Diagnostics;
 
 namespace ToneTuneToolkit.Other
 {
   /// <summary>
-  /// OK
-  /// CMD命令行启动
+  /// CMD命令行
   /// </summary>
   public class CMDLauncher : MonoBehaviour
   {

+ 7 - 3
Assets/ToneTuneToolkit/Scripts/Other/KeyPressSimulator.cs

@@ -1,11 +1,15 @@
-using UnityEngine;
+/// <summary>
+/// Copyright (c) 2021 MirzkisD1Ex0 All rights reserved.
+/// Code Version 1.0
+/// </summary>
+
+using UnityEngine;
 using System.Runtime.InteropServices;
 using ToneTuneToolkit.Common;
 
 namespace ToneTuneToolkit.Other
 {
   /// <summary>
-  /// OK
   /// 模拟物理按键
   /// </summary>
   public class KeyPressSimulator : MonoBehaviour
@@ -27,7 +31,7 @@ namespace ToneTuneToolkit.Other
     {
       if (keyFlags > 2 || keyFlags < 0)
       {
-        TipTools.Error("KeyFlags Error, check it again.");
+        TipTools.Error("[KeyPressSimulator] KeyFlags Error, check it again.");
         return;
       }
       keybd_event((byte)asciiKeyCode, 0, keyFlags, 0);

+ 29 - 24
Assets/ToneTuneToolkit/Scripts/UDP/UDPCommunicator.cs

@@ -1,4 +1,9 @@
-using System.Net;
+/// <summary>
+/// Copyright (c) 2021 MirzkisD1Ex0 All rights reserved.
+/// Code Version 1.0
+/// </summary>
+
+using System.Net;
 using System.Net.Sockets;
 using System.Text;
 using System.Threading;
@@ -8,9 +13,9 @@ using ToneTuneToolkit.Common;
 namespace ToneTuneToolkit.UDP
 {
   /// <summary>
-  /// OK
+  /// UDP通讯器
+  ///
   /// 需要助手
-  /// UDP收发工具
   /// 测试前务必关闭所有防火墙
   /// 设备间需要ping通
   /// </summary>
@@ -47,18 +52,18 @@ namespace ToneTuneToolkit.UDP
 
     private void Start()
     {
-      LoadConfig();
-      Presetting();
+      this.LoadConfig();
+      this.Presetting();
     }
 
     private void OnDestroy()
     {
-      SocketQuit();
+      this.SocketQuit();
     }
 
     private void OnApplicationQuit()
     {
-      SocketQuit();
+      this.SocketQuit();
     }
 
     /// <summary>
@@ -69,17 +74,17 @@ namespace ToneTuneToolkit.UDP
       string[] localIPString = TextLoader.GetJson(UDPHandler.UDPConfigPath, UDPHandler.LocalIPName).Split('.');
       for (int i = 0; i < 4; i++)
       {
-        localIP[i] = (byte)int.Parse(localIPString[i]);
+        this.localIP[i] = (byte)int.Parse(localIPString[i]);
       }
-      localPort = int.Parse(TextLoader.GetJson(UDPHandler.UDPConfigPath, UDPHandler.LocalPortName));
+      this.localPort = int.Parse(TextLoader.GetJson(UDPHandler.UDPConfigPath, UDPHandler.LocalPortName));
 
       string[] targetIPString = TextLoader.GetJson(UDPHandler.UDPConfigPath, UDPHandler.TargetIPName).Split('.');
       for (int i = 0; i < 4; i++)
       {
-        targetIP[i] = (byte)int.Parse(targetIPString[i]);
+        this.targetIP[i] = (byte)int.Parse(targetIPString[i]);
       }
-      targetPort = int.Parse(TextLoader.GetJson(UDPHandler.UDPConfigPath, UDPHandler.TargetPortName));
-      detectSpacing = float.Parse(TextLoader.GetJson(UDPHandler.UDPConfigPath, UDPHandler.DetectSpacingName));
+      this.targetPort = int.Parse(TextLoader.GetJson(UDPHandler.UDPConfigPath, UDPHandler.TargetPortName));
+      this.detectSpacing = float.Parse(TextLoader.GetJson(UDPHandler.UDPConfigPath, UDPHandler.DetectSpacingName));
       return;
     }
 
@@ -88,10 +93,10 @@ namespace ToneTuneToolkit.UDP
     /// </summary>
     private void Presetting()
     {
-      remoteAddress = new IPEndPoint(IPAddress.Any, 0);
-      thread = new Thread(MessageReceive); // 单开线程接收消息
-      thread.Start();
-      InvokeRepeating("RepeatDetect", 0f, detectSpacing); // 每隔一段时间检测一次是否有消息传入
+      this.remoteAddress = new IPEndPoint(IPAddress.Any, 0);
+      this.thread = new Thread(this.MessageReceive); // 单开线程接收消息
+      this.thread.Start();
+      InvokeRepeating("RepeatDetect", 0f, this.detectSpacing); // 每隔一段时间检测一次是否有消息传入
       return;
     }
 
@@ -116,10 +121,10 @@ namespace ToneTuneToolkit.UDP
     {
       while (true)
       {
-        udpClient = new UdpClient(localPort);
-        byte[] receiveData = udpClient.Receive(ref remoteAddress); // 接收数据
+        this.udpClient = new UdpClient(this.localPort);
+        byte[] receiveData = this.udpClient.Receive(ref this.remoteAddress); // 接收数据
         UDPMessage = ReciveMessageEncoding.GetString(receiveData);
-        udpClient.Close();
+        this.udpClient.Close();
       }
     }
 
@@ -149,9 +154,9 @@ namespace ToneTuneToolkit.UDP
     /// </summary>
     private void SocketQuit()
     {
-      thread.Abort();
-      thread.Interrupt();
-      udpClient.Close();
+      this.thread.Abort();
+      this.thread.Interrupt();
+      this.udpClient.Close();
       return;
     }
 
@@ -162,8 +167,8 @@ namespace ToneTuneToolkit.UDP
     /// <param name="message"></param>
     public void SendMessageOut(string message)
     {
-      MessageSend(targetIP, targetPort, message);
-      TipTools.Notice("Send <<color=#FFFFFF>" + message + "</color>> to <<color=#FFFFFF>" + targetIP[0] + "." + targetIP[1] + "." + targetIP[2] + "." + targetIP[3] + ":" + targetPort + "</color>>");
+      this.MessageSend(this.targetIP, this.targetPort, message);
+      TipTools.Notice("Send <<color=#FFFFFF>" + message + "</color>> to <<color=#FFFFFF>" + this.targetIP[0] + "." + this.targetIP[1] + "." + this.targetIP[2] + "." + this.targetIP[3] + ":" + this.targetPort + "</color>>");
       return;
     }
   }

+ 10 - 6
Assets/ToneTuneToolkit/Scripts/UDP/UDPHandler.cs

@@ -1,11 +1,16 @@
+/// <summary>
+/// Copyright (c) 2021 MirzkisD1Ex0 All rights reserved.
+/// Code Version 1.0
+/// </summary>
+
 using UnityEngine;
 using ToneTuneToolkit.Common;
 
 namespace ToneTuneToolkit.UDP
 {
   /// <summary>
-  /// OK
-  /// UDP工具助手
+  /// UDP助手
+  ///
   /// 需要正确的配置文件
   /// TTTUDPCommunicator.Instance.SendMessageOut("Text");
   /// </summary>
@@ -20,8 +25,7 @@ namespace ToneTuneToolkit.UDP
       LED
     }
 
-    [SerializeField]
-    private UDPTypes UDPType = UDPTypes.Default;
+    public UDPTypes UDPType = UDPTypes.Default;
 
     #region Paths
     public static string UDPConfigPath = ToolkitManager.ConfigsPath + "/";
@@ -37,7 +41,7 @@ namespace ToneTuneToolkit.UDP
 
     private void Awake()
     {
-      switch (UDPType)
+      switch (this.UDPType)
       {
         default:
           UDPConfigPath += "udpconfig.json";
@@ -49,7 +53,7 @@ namespace ToneTuneToolkit.UDP
           UDPConfigPath += "ledconfig.json";
           break;
       }
-      ToolkitManager.FileIntegrityCheck(UDPConfigPath);
+      PathChecker.FileIntegrityCheck(UDPConfigPath);
     }
   }
 }

+ 24 - 24
Assets/ToneTuneToolkit/Scripts/UI/Parallax.cs

@@ -1,71 +1,71 @@
-using UnityEngine;
+/// <summary>
+/// Copyright (c) 2021 MirzkisD1Ex0 All rights reserved.
+/// Code Version 1.0
+/// </summary>
+
+using UnityEngine;
 using ToneTuneToolkit.Common;
 
 namespace ToneTuneToolkit.UI
 {
   /// <summary>
-  /// UI简易视差
+  /// 多层次视差
   /// </summary>
   public class Parallax : MonoBehaviour
   {
     public GameObject[] ParallaxGO; // 通常第一个为壁纸
-
     public float[] parallaxLevel = new float[] {
       0.05f,
       0.1f }; // 视差等级 // 数值越高偏移越大
-    private Vector2 parallaxOffset = Vector2.zero;
 
+    private Vector2 parallaxOffset = Vector2.zero;
     private Vector2 screenOffset = Vector2.zero;
     private Vector2[] specialOffset;
 
     private void Start()
     {
-      if (ParallaxGO.Length == 0)
+      if (this.ParallaxGO.Length == 0)
       {
-        TipTools.Warning("Cant found Parallax Object(s).");
+        TipTools.Error("[Parallax] Cant find Parallax Object(s).");
         this.enabled = false;
         return;
       }
-      for (int i = 0; i < ParallaxGO.Length; i++)
+      for (int i = 0; i < this.ParallaxGO.Length; i++)
       {
-        if (!ParallaxGO[i])
+        if (!this.ParallaxGO[i])
         {
-          TipTools.Error("Parallax Object(s) missing.");
+          TipTools.Error("[Parallax] Parallax Object(s) missing.");
           this.enabled = false;
           return;
         }
       }
-
-      Presetting();
+      this.Presetting();
     }
 
     private void Update()
     {
-      ParallaxMethod();
+      this.ParallaxMethod();
     }
 
     private void Presetting()
     {
-      screenOffset = new Vector2(Screen.width / 2, Screen.height / 2);
-      specialOffset = new Vector2[ParallaxGO.Length];
-      for (int i = 0; i < ParallaxGO.Length; i++)
+      this.screenOffset = new Vector2(Screen.width / 2, Screen.height / 2);
+      this.specialOffset = new Vector2[this.ParallaxGO.Length];
+      for (int i = 0; i < this.ParallaxGO.Length; i++)
       {
-        specialOffset[i] = ParallaxGO[i].transform.localPosition;
+        this.specialOffset[i] = this.ParallaxGO[i].transform.localPosition;
       }
-      ParallaxGO[0].transform.localScale = new Vector3(1.1f, 1.1f, 1.1f); // 背景图片增加至1.1倍
+      this.ParallaxGO[0].transform.localScale = new Vector3(1.1f, 1.1f, 1.1f); // 背景图片增加至1.1倍
       return;
     }
 
-    /// <summary>
-    /// 
-    /// </summary>
     private void ParallaxMethod()
     {
-      parallaxOffset.x = Input.mousePosition.x - screenOffset.x;
-      parallaxOffset.y = Input.mousePosition.y - screenOffset.y;
+      this.parallaxOffset.x = Input.mousePosition.x - this.screenOffset.x;
+      this.parallaxOffset.y = Input.mousePosition.y - this.screenOffset.y;
 
-      ParallaxGO[0].transform.localPosition = parallaxOffset * parallaxLevel[0] + specialOffset[0];
-      ParallaxGO[1].transform.localPosition = parallaxOffset * parallaxLevel[1] + specialOffset[1];
+      this.ParallaxGO[0].transform.localPosition = this.parallaxOffset * this.parallaxLevel[0] + this.specialOffset[0];
+      this.ParallaxGO[1].transform.localPosition = this.parallaxOffset * this.parallaxLevel[1] + this.specialOffset[1];
       return;
     }
   }

+ 26 - 20
Assets/ToneTuneToolkit/Scripts/UI/TextFlick.cs

@@ -1,18 +1,23 @@
+/// <summary>
+/// Copyright (c) 2021 MirzkisD1Ex0 All rights reserved.
+/// Code Version 1.0
+/// </summary>
+
 using UnityEngine;
 using UnityEngine.UI;
 
 namespace ToneTuneToolkit.UI
 {
   /// <summary>
-  /// OK
-  /// 文字闪烁
-  /// 挂在对象上
+  /// 控件闪烁
+  ///
+  /// 需要挂在对象上
   /// </summary>
   public class TextFlick : MonoBehaviour
   {
-    public float minAlpha = 102f; // 最小透明度
-    public float maxAlpha = 255f; // 最大透明度
-    public float speed = 15f; // 速度
+    public float MinAlpha = 102f; // 最小透明度
+    public float MaxAlpha = 255f; // 最大透明度
+    public float FlickSpeed = 150f; // 速度
 
     private float floatingValue = 0;
     private bool isFull = false;
@@ -21,38 +26,39 @@ namespace ToneTuneToolkit.UI
 
     private void Start()
     {
-      tCmpt = GetComponent<Text>();
-      newColor = tCmpt.color;
+      this.tCmpt = GetComponent<Text>();
+      this.newColor = this.tCmpt.color;
     }
 
     private void Update()
     {
-      TextAlphaFlick();
+      this.TextAlphaPingpong();
     }
 
     /// <summary>
     /// 文字透明度浮动
     /// </summary>
-    private void TextAlphaFlick()
+    private void TextAlphaPingpong()
     {
-      if (floatingValue < maxAlpha && !isFull)
+      if (this.floatingValue < this.MaxAlpha && !this.isFull)
       {
-        floatingValue += Time.deltaTime * 10 * speed;
-        if (floatingValue >= maxAlpha)
+        this.floatingValue += Time.deltaTime * this.FlickSpeed;
+        if (this.floatingValue >= this.MaxAlpha)
         {
-          isFull = true;
+          this.isFull = true;
         }
       }
-      else if (floatingValue > minAlpha && isFull)
+      else if (this.floatingValue > this.MinAlpha && this.isFull)
       {
-        floatingValue -= Time.deltaTime * 10 * speed;
-        if (floatingValue <= minAlpha)
+        this.floatingValue -= Time.deltaTime * this.FlickSpeed;
+        if (this.floatingValue <= this.MinAlpha)
         {
-          isFull = false;
+          this.isFull = false;
         }
       }
-      newColor.a = floatingValue / 255;
-      tCmpt.color = newColor;
+      this.newColor.a = this.floatingValue / 255;
+      this.tCmpt.color = this.newColor;
+      return;
     }
   }
 }

+ 25 - 26
Assets/ToneTuneToolkit/Scripts/Verification/AntiVerifier.cs

@@ -1,3 +1,8 @@
+/// <summary>
+/// Copyright (c) 2021 MirzkisD1Ex0 All rights reserved.
+/// Code Version 1.0
+/// </summary>
+
 using UnityEngine;
 using System.Net.NetworkInformation;
 using System;
@@ -5,20 +10,17 @@ using System;
 namespace ToneTuneToolkit.Verification
 {
   /// <summary>
-  /// OK
   /// 反向验证工具
   /// </summary>
   public class AntiVerifier : MonoBehaviour
   {
-
-    #region DEBUG
     private GameObject dtGO;
-    private TextMesh dtTMCmpt;
-    #endregion
+    private TextMesh dtTMC;
+
     private void Start()
     {
-      PreloadDebugInfo();
-      AntiVerifikadoSystem();
+      this.PreloadDebugInfo();
+      this.AntiVerifikadoSystem();
     }
 
     /// <summary>
@@ -26,37 +28,34 @@ namespace ToneTuneToolkit.Verification
     /// </summary>
     private void PreloadDebugInfo()
     {
-      dtGO = new GameObject("DebugText");
-      dtGO.transform.position = Vector3.zero;
-      dtGO.AddComponent<TextMesh>();
-
-      dtGO.GetComponent<MeshRenderer>().enabled = true; // 关闭检测文字
-
-      dtTMCmpt = dtGO.GetComponent<TextMesh>();
-      dtTMCmpt.characterSize = .25f;
-      dtTMCmpt.fontSize = 24;
-      dtTMCmpt.anchor = TextAnchor.MiddleCenter;
-      dtTMCmpt.alignment = TextAlignment.Left;
-      dtTMCmpt.text = "> AntiVerifying...";
+      this.dtGO = new GameObject("Debug Text");
+      this.dtGO.transform.position = Vector3.zero;
+      this.dtGO.AddComponent<TextMesh>();
+
+      this.dtGO.GetComponent<MeshRenderer>().enabled = true; // 关闭检测文字
+
+      this.dtTMC = dtGO.GetComponent<TextMesh>();
+      this.dtTMC.characterSize = .25f;
+      this.dtTMC.fontSize = 24;
+      this.dtTMC.anchor = TextAnchor.MiddleCenter;
+      this.dtTMC.alignment = TextAlignment.Left;
+      this.dtTMC.text = "> AntiVerifying...";
       return;
     }
 
     private void AntiVerifikadoSystem()
     {
-      dtTMCmpt.text += "\n> UC: <color=#FF0000>" + SystemInfo.deviceUniqueIdentifier + "</color>"; // uc
-
+      this.dtTMC.text += "\n> UC: <color=#FF0000>" + SystemInfo.deviceUniqueIdentifier + "</color>"; // uc
       NetworkInterface[] nis = NetworkInterface.GetAllNetworkInterfaces();
       for (int i = 0; i < nis.Length; i++)
       {
         if (nis[i].NetworkInterfaceType.ToString() == "Ethernet")
         {
-          dtTMCmpt.text += "\n> MC: <color=#FF0000>" + nis[i].GetPhysicalAddress().ToString() + "</color>"; // mc
+          this.dtTMC.text += "\n> MC: <color=#FF0000>" + nis[i].GetPhysicalAddress().ToString() + "</color>"; // mc
         }
       }
-
-      dtTMCmpt.text += "\n> MC: <color=#FF0000>" + ((DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000).ToString() + "</color>"; // ts
-
-      dtTMCmpt.text += "\n> Done.";
+      this.dtTMC.text += "\n> MC: <color=#FF0000>" + ((DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000).ToString() + "</color>"; // ts
+      this.dtTMC.text += "\n> Done.";
       return;
     }
   }

+ 48 - 43
Assets/ToneTuneToolkit/Scripts/Verification/Verifier.cs

@@ -1,3 +1,8 @@
+/// <summary>
+/// Copyright (c) 2021 MirzkisD1Ex0 All rights reserved.
+/// Code Version 1.0
+/// </summary>
+
 using UnityEngine;
 using System.Collections;
 using System;
@@ -13,9 +18,9 @@ using ToneTuneToolkit.Common;
 namespace ToneTuneToolkit.Verification
 {
   /// <summary>
-  /// OK
   /// Verifikado
   /// 验证系统
+  ///
   /// 需要正确的配置文件
   /// TS ms
   /// http://www.txttool.com/
@@ -40,13 +45,13 @@ namespace ToneTuneToolkit.Verification
 
     #region DEBUG
     private GameObject dtGO;
-    private TextMesh dtTMCmpt;
+    private TextMesh dtTMC;
     #endregion
 
     private void Start()
     {
-      PreloadDebugInfo();
-      VerifikadoSystem();
+      this.PreloadDebugInfo();
+      this.VerifikadoSystem();
     }
 
     /// <summary>
@@ -54,18 +59,18 @@ namespace ToneTuneToolkit.Verification
     /// </summary>
     private void PreloadDebugInfo()
     {
-      dtGO = new GameObject("DebugText");
-      dtGO.transform.position = Vector3.zero;
-      dtGO.AddComponent<TextMesh>();
-
-      dtGO.GetComponent<MeshRenderer>().enabled = true; // 关闭检测文字
-
-      dtTMCmpt = dtGO.GetComponent<TextMesh>();
-      dtTMCmpt.characterSize = .25f;
-      dtTMCmpt.fontSize = 24;
-      dtTMCmpt.anchor = TextAnchor.MiddleCenter;
-      dtTMCmpt.alignment = TextAlignment.Left;
-      dtTMCmpt.text = "> Verifying...";
+      this.dtGO = new GameObject("DebugText");
+      this.dtGO.transform.position = Vector3.zero;
+      this.dtGO.AddComponent<TextMesh>();
+
+      this.dtGO.GetComponent<MeshRenderer>().enabled = true; // 关闭检测文字
+
+      this.dtTMC = dtGO.GetComponent<TextMesh>();
+      this.dtTMC.characterSize = .25f;
+      this.dtTMC.fontSize = 24;
+      this.dtTMC.anchor = TextAnchor.MiddleCenter;
+      this.dtTMC.alignment = TextAlignment.Left;
+      this.dtTMC.text = "> Verifying...";
       return;
     }
 
@@ -74,42 +79,42 @@ namespace ToneTuneToolkit.Verification
     /// </summary>
     private void VerifikadoSystem()
     {
-      checker = CheckFileExist(VerifierHandler.AuthorizationFilePath); // s1 file
-      dtTMCmpt.text += "\n> Check the Files Exists: <color=#FF0000>" + checker + "</color>"; // DEBUG
-      if (!checker) // 如果为否
+      this.checker = this.CheckFileExist(VerifierHandler.AuthorizationFilePath); // s1 file
+      this.dtTMC.text += "\n> Check the Files Exists: <color=#FF0000>" + this.checker + "</color>"; // DEBUG
+      if (!this.checker) // 如果为否
       {
-        ApplicationError("无效的程序验证流程。");
+        this.ApplicationError("无效的程序验证流程。");
         return;
       }
 
-      checker = CheckNetwork(); // s2 net
-      dtTMCmpt.text += "\n> Check the Network: <color=#FF0000>" + checker + "</color>"; // DEBUG
-      if (!checker)
+      this.checker = this.CheckNetwork(); // s2 net
+      this.dtTMC.text += "\n> Check the Network: <color=#FF0000>" + this.checker + "</color>"; // DEBUG
+      if (!this.checker)
       {
-        ApplicationError("无网络链接,请检查后重试。");
+        this.ApplicationError("无网络链接,请检查后重试。");
         return;
       }
 
-      verifikadoCode = DataConverter.Binary2String(TextLoader.GetJson(VerifierHandler.AuthorizationFilePath, VerifierHandler.UCName));
-      checker = CheckUniqueCode(verifikadoCode); // s3 uc
-      dtTMCmpt.text += "\n> Check the Code: <color=#FF0000>" + checker + "</color>"; // DEBUG
-      if (!checker)
+      this.verifikadoCode = DataConverter.Binary2String(TextLoader.GetJson(VerifierHandler.AuthorizationFilePath, VerifierHandler.UCName));
+      this.checker = this.CheckUniqueCode(this.verifikadoCode); // s3 uc
+      this.dtTMC.text += "\n> Check the Code: <color=#FF0000>" + this.checker + "</color>"; // DEBUG
+      if (!this.checker)
       {
-        ApplicationError("无效的授权。");
+        this.ApplicationError("无效的授权。");
         return;
       }
 
-      verifikadoMAC = DataConverter.Binary2String(TextLoader.GetJson(VerifierHandler.AuthorizationFilePath, VerifierHandler.MCName));
-      checker = CheckMACCode(verifikadoMAC); // s4 mc
-      dtTMCmpt.text += "\n> Check the Address: <color=#FF0000>" + checker + "</color>"; // DEBUG
-      if (!checker)
+      this.verifikadoMAC = DataConverter.Binary2String(TextLoader.GetJson(VerifierHandler.AuthorizationFilePath, VerifierHandler.MCName));
+      this.checker = this.CheckMACCode(this.verifikadoMAC); // s4 mc
+      this.dtTMC.text += "\n> Check the Address: <color=#FF0000>" + this.checker + "</color>"; // DEBUG
+      if (!this.checker)
       {
-        ApplicationError("无效的地址。");
+        this.ApplicationError("无效的地址。");
         return;
       }
 
-      verifikadoStamp = DataConverter.Binary2String(TextLoader.GetJson(VerifierHandler.AuthorizationFilePath, VerifierHandler.TSName));
-      StartCoroutine(CheckTimeStampChain(stampURL)); // s5 ts
+      this.verifikadoStamp = DataConverter.Binary2String(TextLoader.GetJson(VerifierHandler.AuthorizationFilePath, VerifierHandler.TSName));
+      StartCoroutine(CheckTimeStampChain(this.stampURL)); // s5 ts
       return;
     }
 
@@ -178,23 +183,23 @@ namespace ToneTuneToolkit.Verification
       long localStamp = long.Parse(verifikadoStamp); // 转long
       if (networkStamp > localStamp)
       {
-        checker = false;
+        this.checker = false;
       }
       else
       {
-        checker = true;
+        this.checker = true;
       }
 
-      dtTMCmpt.text += "\n> Check the Authorization Date: <color=#FF0000>" + checker + "</color>"; // DEBUG
-      if (!checker)
+      this.dtTMC.text += "\n> Check the Authorization Date: <color=#FF0000>" + this.checker + "</color>"; // DEBUG
+      if (!this.checker)
       {
-        ApplicationError("授权可能已过期。");
+        this.ApplicationError("授权可能已过期。");
         yield break;
       }
 
       // 跳转
-      dtTMCmpt.text += "\n> Done.";
-      LoadNextScene();
+      this.dtTMC.text += "\n> Done.";
+      this.LoadNextScene();
       yield break;
     }
     #endregion

+ 7 - 2
Assets/ToneTuneToolkit/Scripts/Verification/VerifierHandler.cs

@@ -1,11 +1,16 @@
+/// <summary>
+/// Copyright (c) 2021 MirzkisD1Ex0 All rights reserved.
+/// Code Version 1.0
+/// </summary>
+
 using UnityEngine;
 using ToneTuneToolkit.Common;
 
 namespace ToneTuneToolkit.Verification
 {
   /// <summary>
-  /// OK
   /// 验证系统助手
+  ///
   /// 需要正确的配置文件
   /// </summary>
   [RequireComponent(typeof(ToolkitManager))]
@@ -24,7 +29,7 @@ namespace ToneTuneToolkit.Verification
 
     private void Awake()
     {
-      ToolkitManager.FileIntegrityCheck(AuthorizationFilePath);
+      PathChecker.FileIntegrityCheck(AuthorizationFilePath);
     }
   }
 }

+ 0 - 0
Assets/ToneTuneToolkit/Scripts/Camera.meta → Assets/ToneTuneToolkit/Scripts/View.meta


+ 81 - 0
Assets/ToneTuneToolkit/Scripts/View/CameraFocusObject.cs

@@ -0,0 +1,81 @@
+/// <summary>
+/// Copyright (c) 2021 MirzkisD1Ex0 All rights reserved.
+/// Code Version 1.0
+/// </summary>
+
+using UnityEngine;
+using ToneTuneToolkit.Common;
+
+namespace ToneTuneToolkit.View
+{
+  /// <summary>
+  /// 鼠标拖动控制相机环绕注视对象
+  ///
+  /// 推荐挂在相机上
+  /// 需要相机为MainCameraTag
+  /// </summary>
+  public class CameraFocusObject : MonoBehaviour
+  {
+    public GameObject FocusObjectGO;
+    public float AroundSpeed = 5f;
+    public float ZoomSpeed = .2f;
+
+    private Transform foTrC;
+    private Transform cameraTrC;
+
+    private void Start()
+    {
+      if (!this.FocusObjectGO)
+      {
+        TipTools.Error("[CameraFocusObject] " + "Cant find nessary component.");
+        this.enabled = false;
+        return;
+      }
+      if (!Camera.main)
+      {
+        TipTools.Error("[CameraFocusObject] " + "Camera lost.");
+        this.enabled = false;
+        return;
+      }
+
+      this.foTrC = this.FocusObjectGO.transform;
+      this.cameraTrC = Camera.main.transform;
+    }
+
+    private void LateUpdate()
+    {
+      this.CameraRotate(this.cameraTrC, this.foTrC, this.AroundSpeed);
+      this.CameraZoom(this.cameraTrC, this.ZoomSpeed);
+      this.cameraTrC.LookAt(this.foTrC);
+    }
+
+    /// <summary>
+    /// 相机围绕旋转
+    /// </summary>
+    private void CameraRotate(Transform cameraTrC, Transform objectTrC, float aroundSpeed)
+    {
+      if (Input.GetMouseButton(0)) // 左键
+      {
+        cameraTrC.RotateAround(objectTrC.position, Vector3.up, Input.GetAxis("Mouse X") * aroundSpeed);
+        cameraTrC.RotateAround(objectTrC.position, cameraTrC.right, Input.GetAxis("Mouse Y") * -aroundSpeed);
+      }
+      return;
+    }
+
+    /// <summary>
+    /// 相机远近缩放
+    /// </summary>
+    private void CameraZoom(Transform cameraTrC, float zoomSpeed)
+    {
+      if (Input.GetAxis("Mouse ScrollWheel") > 0)
+      {
+        cameraTrC.Translate(Vector3.forward * zoomSpeed);
+      }
+      if (Input.GetAxis("Mouse ScrollWheel") < 0)
+      {
+        cameraTrC.Translate(Vector3.forward * -zoomSpeed);
+      }
+      return;
+    }
+  }
+}

+ 0 - 0
Assets/ToneTuneToolkit/Scripts/Camera/CameraFocusObject.cs.meta → Assets/ToneTuneToolkit/Scripts/View/CameraFocusObject.cs.meta


+ 82 - 0
Assets/ToneTuneToolkit/Scripts/View/CameraLookAround.cs

@@ -0,0 +1,82 @@
+/// <summary>
+/// Copyright (c) 2021 MirzkisD1Ex0 All rights reserved.
+/// Code Version 1.0
+/// </summary>
+
+using UnityEngine;
+using ToneTuneToolkit.Common;
+
+namespace ToneTuneToolkit.View
+{
+  /// <summary>
+  /// 鼠标拖动控制相机旋转
+  ///
+  /// 推荐挂在相机上
+  /// 需要设置MainCameraTag
+  /// 如果是为了实现全景效果,建议减少球模型的面数,此外还需要在建模软件内将模型的法线翻转至球的内侧
+  /// 或者使用Sphere + Panoramic材质 // 更省事
+  /// </summary>
+  public class CameraLookAround : MonoBehaviour
+  {
+    // [Range(0, 600)]
+    public float ViewSpeed = 600; // 旋转速度
+
+    private float xValue;
+    private float yValue;
+    private Vector3 rotationValue = Vector3.zero;
+    private Transform cameraTrC;
+
+    private void Start()
+    {
+      if (!Camera.main)
+      {
+        TipTools.Error("[CameraLookAround] " + "Cant find Camera.");
+        this.enabled = false;
+        return;
+      }
+      this.cameraTrC = Camera.main.transform;
+    }
+
+    private void Update()
+    {
+      this.RotateViewTrigger();
+    }
+
+    private void RotateViewTrigger()
+    {
+      if (Input.GetMouseButton(0)) // 按住鼠标左键
+      {
+        this.xValue = Input.GetAxis("Mouse X");
+        this.yValue = Input.GetAxis("Mouse Y");
+        if (this.xValue != 0 || this.yValue != 0) // 并且鼠标移动
+        {
+          // transform.Rotate(0, xValue * speed * Time.deltaTime, 0, Space.World);
+          // transform.Rotate(yValue * -speed * Time.deltaTime, 0, 0, Space.Self); // 左右
+          this.RotateView(this.cameraTrC, this.xValue, this.yValue, this.ViewSpeed);
+        }
+      }
+      return;
+    }
+
+    /// <summary>
+    /// 视角滚动
+    /// </summary>
+    /// <param name="x"></param>
+    /// <param name="y"></param>
+    private void RotateView(Transform objectTrC, float x, float y, float speed)
+    {
+      this.rotationValue.x += y * Time.deltaTime * speed;
+      this.rotationValue.y += x * Time.deltaTime * -speed;
+      if (this.rotationValue.x > 90) // 矫正
+      {
+        this.rotationValue.x = 90;
+      }
+      else if (this.rotationValue.x < -90)
+      {
+        this.rotationValue.x = -90;
+      }
+      objectTrC.rotation = Quaternion.Euler(this.rotationValue);
+      return;
+    }
+  }
+}

+ 0 - 0
Assets/ToneTuneToolkit/Scripts/Camera/CameraLookAround.cs.meta → Assets/ToneTuneToolkit/Scripts/View/CameraLookAround.cs.meta


+ 58 - 0
Assets/ToneTuneToolkit/Scripts/View/CameraZoom.cs

@@ -0,0 +1,58 @@
+/// <summary>
+/// Copyright (c) 2021 MirzkisD1Ex0 All rights reserved.
+/// Code Version 1.0
+/// </summary>
+
+using UnityEngine;
+using ToneTuneToolkit.Common;
+
+namespace ToneTuneToolkit.View
+{
+  /// <summary>
+  /// 相机POV多层级缩放
+  ///
+  /// 推荐挂在相机上
+  /// 但挂在其它地方也无所谓
+  /// </summary>
+  public class CameraZoom : MonoBehaviour
+  {
+    public int[] ZoomLevels = new int[] { 60, 40, 20 };
+    public float ZoomSpeed = .05f;
+
+    private int index = 0;
+    private UnityEngine.Camera cameraCaC;
+
+    private void Start()
+    {
+      if (!Camera.main)
+      {
+        TipTools.Error("[CameraZoom] " + "Cant find Camera.");
+        this.enabled = false;
+        return;
+      }
+      cameraCaC = Camera.main;
+    }
+
+    private void Update()
+    {
+      this.Zoom(cameraCaC, ZoomSpeed);
+    }
+
+    /// <summary>
+    /// 相机缩放
+    /// </summary>
+    /// <param name="cameraObject">主相机</param>
+    private void Zoom(Camera cameraObject, float zoomSpeed)
+    {
+      if (Input.GetMouseButtonDown(1))
+      {
+        index = index < ZoomLevels.Length - 1 ? index + 1 : 0;
+      }
+      cameraObject.fieldOfView = Mathf.Lerp(cameraObject.fieldOfView, this.ZoomLevels[index], zoomSpeed);
+      if (Mathf.Abs(cameraObject.fieldOfView - this.ZoomLevels[index]) <= zoomSpeed)
+      {
+        cameraObject.fieldOfView = this.ZoomLevels[index];
+      }
+    }
+  }
+}

+ 11 - 0
Assets/ToneTuneToolkit/Scripts/View/CameraZoom.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 91c39e880945ccf439491a3cd5094e73
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 10 - 5
Assets/ToneTuneToolkit/Scripts/WakeOnLan/WakeOnLan.cs

@@ -1,3 +1,8 @@
+/// <summary>
+/// Copyright (c) 2021 MirzkisD1Ex0 All rights reserved.
+/// Code Version 1.0
+/// </summary>
+
 using UnityEngine;
 using System.Diagnostics;
 using System.Text;
@@ -6,8 +11,8 @@ using ToneTuneToolkit.Common;
 namespace ToneTuneToolkit.WOL
 {
   /// <summary>
-  /// OK
   /// 设备冷启动
+  ///
   /// 需要电脑支持WOL
   /// 需要在Bios中设置
   /// 需要在设备管理器中对网卡设置可唤醒
@@ -28,10 +33,10 @@ namespace ToneTuneToolkit.WOL
 
     private void Start()
     {
-      LoadConfig();
+      this.Presetting();
     }
 
-    private void LoadConfig()
+    private void Presetting()
     {
       targetMAC = TextLoader.GetJson(WakeOnLanHandler.WOLConfigPath, WakeOnLanHandler.TargetMACName);
       targetIP = TextLoader.GetJson(WakeOnLanHandler.WOLConfigPath, WakeOnLanHandler.TargetIPName);
@@ -47,7 +52,7 @@ namespace ToneTuneToolkit.WOL
     /// <param name="ip"></param>
     /// <param name="mask"></param>
     /// <param name="port"></param>
-    private void ColdStartDevice(string mac, string ip, string mask, string port = "7")
+    private static void ColdStartDevice(string mac, string ip, string mask, string port = "7")
     {
       string command = (WakeOnLanHandler.WOLAppPath + "wolcmd " + mac + " " + ip + " " + mask + " " + port).Replace(@"/", @"\");
 
@@ -73,7 +78,7 @@ namespace ToneTuneToolkit.WOL
     /// <summary>
     /// 偷懒方法
     /// </summary>
-    public void LaunchWakeOnLan()
+    public static void LaunchWakeOnLan()
     {
       ColdStartDevice(targetMAC, targetIP, targetMask, targetPort);
       return;

+ 9 - 2
Assets/ToneTuneToolkit/Scripts/WakeOnLan/WakeOnLanHandler.cs

@@ -1,3 +1,8 @@
+/// <summary>
+/// Copyright (c) 2021 MirzkisD1Ex0 All rights reserved.
+/// Code Version 1.0
+/// </summary>
+
 using UnityEngine;
 using ToneTuneToolkit.Common;
 
@@ -5,6 +10,8 @@ namespace ToneTuneToolkit.WOL
 {
   /// <summary>
   /// 开机小助手
+  ///
+  /// 并不是
   /// </summary>
   [RequireComponent(typeof(ToolkitManager))]
   [RequireComponent(typeof(WakeOnLan))]
@@ -24,8 +31,8 @@ namespace ToneTuneToolkit.WOL
 
     private void Awake()
     {
-      ToolkitManager.FolderIntegrityCheck(WOLAppPath);
-      ToolkitManager.FileIntegrityCheck(WOLConfigPath);
+      PathChecker.FolderIntegrityCheck(WOLAppPath);
+      PathChecker.FileIntegrityCheck(WOLConfigPath);
     }
   }
 }

+ 30 - 0
Logs/ApiUpdaterCheck.txt

@@ -355,3 +355,33 @@ C# parse time         : 180ms
 candidates check time : 28ms
 console write time    : 0ms
 
+[api-updater (non-obsolete-error-filter)] 2021/8/4 15:10:57 : Starting C:/workflow/software/Unity/2020.3.15f1c1/Editor/Data/Tools/ScriptUpdater/APIUpdater.NonObsoleteApiUpdaterDetector.exe
+[api-updater (non-obsolete-error-filter)] 
+----------------------------------
+jit/startup time      : 59.8689ms
+moved types parse time: 47ms
+candidates parse time : 1ms
+C# parse time         : 176ms
+candidates check time : 28ms
+console write time    : 0ms
+
+[api-updater (non-obsolete-error-filter)] 2021/8/4 15:34:54 : Starting C:/workflow/software/Unity/2020.3.15f1c1/Editor/Data/Tools/ScriptUpdater/APIUpdater.NonObsoleteApiUpdaterDetector.exe
+[api-updater (non-obsolete-error-filter)] 
+----------------------------------
+jit/startup time      : 60.8698ms
+moved types parse time: 48ms
+candidates parse time : 1ms
+C# parse time         : 178ms
+candidates check time : 26ms
+console write time    : 0ms
+
+[api-updater (non-obsolete-error-filter)] 2021/8/4 15:34:58 : Starting C:/workflow/software/Unity/2020.3.15f1c1/Editor/Data/Tools/ScriptUpdater/APIUpdater.NonObsoleteApiUpdaterDetector.exe
+[api-updater (non-obsolete-error-filter)] 
+----------------------------------
+jit/startup time      : 64.8608ms
+moved types parse time: 47ms
+candidates parse time : 1ms
+C# parse time         : 179ms
+candidates check time : 25ms
+console write time    : 0ms
+

File diff suppressed because it is too large
+ 307 - 307
Logs/AssetImportWorker0-prev.log


File diff suppressed because it is too large
+ 312 - 304
Logs/AssetImportWorker0.log


+ 12 - 0
Logs/shadercompiler-UnityShaderCompiler.exe0.log

@@ -1,4 +1,16 @@
 Base path: 'C:/workflow/software/Unity/2020.3.15f1c1/Editor/Data', plugins path 'C:/workflow/software/Unity/2020.3.15f1c1/Editor/Data/PlaybackEngines'
 Cmd: initializeCompiler
 
+Cmd: compileSnippet
+  insize=16577 file=Assets/DefaultResourcesExtra/Skybox/Procedural pass=<Unnamed Pass> cachingPP=1 ppOnly=0 stripLineD=0 buildPlatform=19 rsLen=0 pKW=UNITY_ENABLE_REFLECTION_BUFFERS UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS UNITY_PBS_USE_BRDF1 UNITY_SPECCUBE_BOX_PROJECTION UNITY_SPECCUBE_BLENDING UNITY_ENABLE_DETAIL_NORMALMAP SHADER_API_DESKTOP UNITY_COLORSPACE_GAMMA UNITY_LIGHT_PROBE_PROXY_VOLUME UNITY_LIGHTMAP_FULL_HDR uKW=_SUNDISK_NONE dKW=_SUNDISK_SIMPLE _SUNDISK_HIGH_QUALITY UNITY_NO_DXT5nm UNITY_ENABLE_NATIVE_SHADOW_LOOKUPS UNITY_METAL_SHADOWS_USE_POINT_FILTERING UNITY_NO_SCREENSPACE_SHADOWS UNITY_PBS_USE_BRDF2 UNITY_PBS_USE_BRDF3 UNITY_NO_FULL_STANDARD_SHADER UNITY_HARDWARE_TIER1 UNITY_HARDWARE_TIER2 UNITY_HARDWARE_TIER3 UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS UNITY_LIGHTMAP_DLDR_ENCODING UNITY_LIGHTMAP_RGBM_ENCODING UNITY_VIRTUAL_TEXTURING UNITY_PRETRANSFORM_TO_DISPLAY_ORIENTATION UNITY_ASTC_NORMALMAP_ENCODING SHADER_API_GLES30 flags=0 lang=0 type=Vertex platform=d3d11 reqs=33 mask=6 start=20 ok=1 outsize=5414
+
+Cmd: compileSnippet
+  insize=16577 file=Assets/DefaultResourcesExtra/Skybox/Procedural pass=<Unnamed Pass> cachingPP=1 ppOnly=0 stripLineD=0 buildPlatform=19 rsLen=0 pKW=UNITY_ENABLE_REFLECTION_BUFFERS UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS UNITY_PBS_USE_BRDF1 UNITY_SPECCUBE_BOX_PROJECTION UNITY_SPECCUBE_BLENDING UNITY_ENABLE_DETAIL_NORMALMAP SHADER_API_DESKTOP UNITY_COLORSPACE_GAMMA UNITY_LIGHT_PROBE_PROXY_VOLUME UNITY_LIGHTMAP_FULL_HDR uKW=_SUNDISK_NONE dKW=_SUNDISK_SIMPLE _SUNDISK_HIGH_QUALITY UNITY_NO_DXT5nm UNITY_ENABLE_NATIVE_SHADOW_LOOKUPS UNITY_METAL_SHADOWS_USE_POINT_FILTERING UNITY_NO_SCREENSPACE_SHADOWS UNITY_PBS_USE_BRDF2 UNITY_PBS_USE_BRDF3 UNITY_NO_FULL_STANDARD_SHADER UNITY_HARDWARE_TIER1 UNITY_HARDWARE_TIER2 UNITY_HARDWARE_TIER3 UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS UNITY_LIGHTMAP_DLDR_ENCODING UNITY_LIGHTMAP_RGBM_ENCODING UNITY_VIRTUAL_TEXTURING UNITY_PRETRANSFORM_TO_DISPLAY_ORIENTATION UNITY_ASTC_NORMALMAP_ENCODING SHADER_API_GLES30 flags=0 lang=0 type=Fragment platform=d3d11 reqs=33 mask=6 start=20 ok=1 outsize=474
+
+Cmd: compileSnippet
+  insize=16577 file=Assets/DefaultResourcesExtra/Skybox/Procedural pass=<Unnamed Pass> cachingPP=1 ppOnly=0 stripLineD=0 buildPlatform=19 rsLen=0 pKW=UNITY_ENABLE_REFLECTION_BUFFERS UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS UNITY_PBS_USE_BRDF1 UNITY_SPECCUBE_BOX_PROJECTION UNITY_SPECCUBE_BLENDING UNITY_ENABLE_DETAIL_NORMALMAP SHADER_API_DESKTOP UNITY_COLORSPACE_GAMMA UNITY_LIGHT_PROBE_PROXY_VOLUME UNITY_LIGHTMAP_FULL_HDR uKW=_SUNDISK_SIMPLE dKW=_SUNDISK_NONE _SUNDISK_HIGH_QUALITY UNITY_NO_DXT5nm UNITY_ENABLE_NATIVE_SHADOW_LOOKUPS UNITY_METAL_SHADOWS_USE_POINT_FILTERING UNITY_NO_SCREENSPACE_SHADOWS UNITY_PBS_USE_BRDF2 UNITY_PBS_USE_BRDF3 UNITY_NO_FULL_STANDARD_SHADER UNITY_HARDWARE_TIER1 UNITY_HARDWARE_TIER2 UNITY_HARDWARE_TIER3 UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS UNITY_LIGHTMAP_DLDR_ENCODING UNITY_LIGHTMAP_RGBM_ENCODING UNITY_VIRTUAL_TEXTURING UNITY_PRETRANSFORM_TO_DISPLAY_ORIENTATION UNITY_ASTC_NORMALMAP_ENCODING SHADER_API_GLES30 flags=0 lang=0 type=Vertex platform=d3d11 reqs=33 mask=6 start=20 ok=1 outsize=5698
+
+Cmd: compileSnippet
+  insize=16577 file=Assets/DefaultResourcesExtra/Skybox/Procedural pass=<Unnamed Pass> cachingPP=1 ppOnly=0 stripLineD=0 buildPlatform=19 rsLen=0 pKW=UNITY_ENABLE_REFLECTION_BUFFERS UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS UNITY_PBS_USE_BRDF1 UNITY_SPECCUBE_BOX_PROJECTION UNITY_SPECCUBE_BLENDING UNITY_ENABLE_DETAIL_NORMALMAP SHADER_API_DESKTOP UNITY_COLORSPACE_GAMMA UNITY_LIGHT_PROBE_PROXY_VOLUME UNITY_LIGHTMAP_FULL_HDR uKW=_SUNDISK_SIMPLE dKW=_SUNDISK_NONE _SUNDISK_HIGH_QUALITY UNITY_NO_DXT5nm UNITY_ENABLE_NATIVE_SHADOW_LOOKUPS UNITY_METAL_SHADOWS_USE_POINT_FILTERING UNITY_NO_SCREENSPACE_SHADOWS UNITY_PBS_USE_BRDF2 UNITY_PBS_USE_BRDF3 UNITY_NO_FULL_STANDARD_SHADER UNITY_HARDWARE_TIER1 UNITY_HARDWARE_TIER2 UNITY_HARDWARE_TIER3 UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS UNITY_LIGHTMAP_DLDR_ENCODING UNITY_LIGHTMAP_RGBM_ENCODING UNITY_VIRTUAL_TEXTURING UNITY_PRETRANSFORM_TO_DISPLAY_ORIENTATION UNITY_ASTC_NORMALMAP_ENCODING SHADER_API_GLES30 flags=0 lang=0 type=Fragment platform=d3d11 reqs=33 mask=6 start=20 ok=1 outsize=934
+
 Cmd: shutdown

+ 7 - 7
UserSettings/EditorUserSettings.asset

@@ -12,25 +12,25 @@ EditorUserSettings:
       value: 224247031146467e150f01321c264c5f29233d191867153328271820adc52c39eff73aeca92f31352d1b
       flags: 0
     RecentlyUsedScenePath-2:
-      value: 2242470311464677080f1e2c2337500217101d657c7969032e2c1336f1af1120e3ea26e5e2742a323016f6
+      value: 2242470311464677080f1e2c2337500217101d657c7a69032e2c1336f1af1120e3ea26e5e2742a323016f6
       flags: 0
     RecentlyUsedScenePath-3:
-      value: 2242470311464677080f1e2c2337500217101d657c7a69032e2c1336f1af1120e3ea26e5e2742a323016f6
+      value: 224247031146467e150f01321c264c5f32120e651f2b233e283a5216fae13928eee278fce9332b25
       flags: 0
     RecentlyUsedScenePath-4:
-      value: 224247031146467e150f01321c264c5f32120e651f2b233e283a5216fae13928eee278fce9332b25
+      value: 2242470311464677080f1e2c2337500217101d657c7b69032e2c1336f1af1120e3ea26e5e2742a323016f6
       flags: 0
     RecentlyUsedScenePath-5:
-      value: 2242470311464677080f1e2c2337500217101d657c7b69032e2c1336f1af1120e3ea26e5e2742a323016f6
+      value: 2242470311464677080f1e2c2337500217101d657c7c69032e2c1336f1af1120e3ea26e5e2742a323016f6
       flags: 0
     RecentlyUsedScenePath-6:
-      value: 2242470311464677080f1e2c2337500217101d657c7c69032e2c1336f1af1120e3ea26e5e2742a323016f6
+      value: 2242470311464677080f1e2c2337500217101d65131c030319662e30e7ee312badc22ee8ea2a33397717e1351027
       flags: 0
     RecentlyUsedScenePath-7:
-      value: 2242470311464677080f1e2c2337500217101d65131c030319662e30e7ee312badc22ee8ea2a33397717e1351027
+      value: 224247031146467f081843111326511505583d322d25363c2867083debf42d
       flags: 0
     RecentlyUsedScenePath-8:
-      value: 224247031146467f081843111326511505583d322d25363c2867083debf42d
+      value: 2242470311464677080f1e2c2337500217101d657c7969032e2c1336f1af1120e3ea26e5e2742a323016f6
       flags: 0
     RecentlyUsedScenePath-9:
       value: 224247031146467f081843111326511505583c2f3a1a293f2067083debf42d

+ 39 - 34
readme.md

@@ -20,58 +20,63 @@
 </br>
 
 # <center>*INTRODUCTION & LOG*</center>
-1. 插件内容包含“<strong>ToneTuneToolkit</strong>”文件夹及“<strong>StreamingAssets/ToneTuneToolkit</strong>”文件夹。
-2. 当某模块中包含“**Handler**”助手类时,仅添加助手类至对象即可自动为其添加依赖。避免发生错误的组装。例如“**UDP**”以及“**Verification**”。
-3. 添加了思源黑体简中OTF格式全套。
-4. 添加了两张简易贴图。
-5. 添加了一些演示用场景。
-6. 添加了两个可怕的工具。
-7. Nothing here.
+1. 请留意,“MirzkisD1Ex0”的“ToneTune Toolkit”基于<strong>GPL3.0</strong>(GNU General Public License v3.0)协议所开发。
+2. 插件内容包含“<strong>ToneTuneToolkit</strong>”文件夹及“<strong>StreamingAssets/ToneTuneToolkit</strong>”文件夹。
+3. 当某模块中包含“**Handler**”助手类时,仅添加助手类至对象即可自动为其添加依赖。避免发生错误的组装。例如“**UDP**”以及“**Verification**”。
+4. 添加了思源黑体简中OTF格式全套。
+5. 添加了两张简易贴图。
+6. 添加了一些演示用场景。
+7. 添加了两个可怕的工具。
+8. Nothing here.
 
 </br>
 
 # <center>*SCRIPTS*</center>
 ### -> ToneTuneToolkit.Common/
-* ToolkitManager // 管理类 // 多数功能的依赖
-* DataConverter // 静态 // 数据转换 // 字符串与二进制之间转换
-* EventListener // 数值监听器 // 提供了一个泛型事件
-* FileNameCapturer // 静态 // 获取特定文件夹下特定格式的文件名
-* JsonConstructer // 静态 // 将字典与json之间相互转换
-* TextLoader // 静态 // 文字加载 // 可以读取txt及json
-* TimestampCapturer // 静态 // 获取时间戳 // 本地获取静态方法 // 网络获取单例
-* TipTools // 静态 // TTT工具箱专属Debug.Log
-
-### -> ToneTuneToolkit.Camera/
-* CameraFocusObject // 鼠标控制物体环绕注视对象
-* CameraLookAround // 鼠标拖动控制相机旋转 // 可用于全景
+* ToolkitManager      // 管理类 // 存放路径 // 多数功能的依赖
+* DataConverter       // 静态 // 数据转换 // 字符串与二进制之间转换 // 字符串与json之间转换
+* EventListener       // 数值监听器 // 提供了一个泛型事件
+* FileNameCapturer    // 静态 // 获取特定文件夹下特定格式的文件名
+* PathChecker         // 静态 // 文件/文件夹检查 // 如果不存在则创建空的
+* TextLoader          // 静态 // 文字加载 // 可以读取txt及json
+* TimestampCapturer   // 静态 // 获取时间戳 // 本地获取静态方法 // 网络获取需单例
+* TipTools            // 静态 // TTT工具箱专属Debug.Log
 
 ### -> ToneTuneToolkit.Editor/
 * Nothing Here.
 
 ### -> ToneTuneToolkit.Object/
-* ObjectDrag // 对象拖拽
-* ObjectFloating // 对象上下漂浮
-* TraverseObejctChangeColor // 改变对象及所有子对象的颜色
+* ObjectDrag                  // 物体拖动
+* ObjectFloating              // 物体上下漂浮
+* ObjectSearcher              // 多种方式寻找目标
+* TraverseObejctChangeColor   // 改变对象及所有子对象的颜色
+
+### -> ToneTuneToolkit.Other/
+* AsyncLoadingWithProcessBar    // 加载场景进度条
+* CMDLauncher                   // CMD命令行
+* KeyPressSimulator             // 物理键盘按键模拟
 
 ### -> ToneTuneToolkit.UDP/
-* UDPCommunicator // UDP收发工具
-* UDPHandler // UDP工具助手
+* UDPCommunicator   // UDP通讯器
+* UDPHandler        // UDP助手
 
 ### -> ToneTuneToolkit.UI/
-* Parallax // 简易视差效果
-* TextFlick // 文字通过透明度闪烁
+* Parallax    // 多层次视差
+* TextFlick   // 文字通过透明度闪烁
 
 ### -> ToneTuneToolkit.Verification/
-* AntiVerifier // 反向验证器 // 二进制
-* Verifier // 验证器
-* VerifierHandler // 验证系统助手
+* AntiVerifier      // 反向验证器 // 二进制
+* Verifier          // 验证器
+* VerifierHandler   // 验证系统助手
 
-### -> ToneTuneToolkit.WOL/
-* WakeOnLan // 局域网唤醒器
-* WakeOnLanHandler // 局域网唤醒助手
+### -> ToneTuneToolkit.View/
+* CameraFocusObject   // 鼠标拖动控制相机环绕注视对象
+* CameraLookAround    // 鼠标拖动控制相机环视 // 可用于全景
+* CameraZoom          // 相机POV多层级缩放 // 开镜?
 
-### -> ToneTuneToolkit.Other/
-* AsyncLoadingWithProcessBar // 加载场景进度条
+### -> ToneTuneToolkit.WOL/
+* WakeOnLan           // 局域网唤醒器
+* WakeOnLanHandler    // 局域网唤醒助手
 
 ### -> ToneTuneToolkit.LED/
 * LEDCommandCenter // LED命令中心

Some files were not shown because too many files changed in this diff