updated: hot reload to 1.13.7
This commit is contained in:
@@ -38,12 +38,12 @@ RenderSettings:
|
||||
m_ReflectionIntensity: 1
|
||||
m_CustomReflection: {fileID: 0}
|
||||
m_Sun: {fileID: 0}
|
||||
m_IndirectSpecularColor: {r: 0.18028378, g: 0.22571412, b: 0.30692285, a: 1}
|
||||
m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1}
|
||||
m_UseRadianceAmbientProbe: 0
|
||||
--- !u!157 &3
|
||||
LightmapSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 12
|
||||
serializedVersion: 11
|
||||
m_GIWorkflowMode: 0
|
||||
m_GISettings:
|
||||
serializedVersion: 2
|
||||
@@ -98,13 +98,13 @@ LightmapSettings:
|
||||
m_TrainingDataDestination: TrainingData
|
||||
m_LightProbeSampleCountMultiplier: 4
|
||||
m_LightingDataAsset: {fileID: 0}
|
||||
m_LightingSettings: {fileID: 4890085278179872738, guid: 463b4a464af955e4d8d6b0a2923d94d0, type: 2}
|
||||
m_UseShadowmask: 1
|
||||
--- !u!196 &4
|
||||
NavMeshSettings:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_BuildSettings:
|
||||
serializedVersion: 3
|
||||
serializedVersion: 2
|
||||
agentTypeID: 0
|
||||
agentRadius: 0.5
|
||||
agentHeight: 2
|
||||
@@ -117,9 +117,7 @@ NavMeshSettings:
|
||||
cellSize: 0.16666667
|
||||
manualTileSize: 0
|
||||
tileSize: 256
|
||||
buildHeightMesh: 0
|
||||
maxJobWorkers: 0
|
||||
preserveTilesOutsideBounds: 0
|
||||
accuratePlacement: 0
|
||||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
@@ -150,18 +148,10 @@ BoxCollider:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 19295889}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 1, y: 1, z: 1}
|
||||
serializedVersion: 2
|
||||
m_Size: {x: 2, y: 2, z: 2}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &19295891
|
||||
MeshRenderer:
|
||||
@@ -174,12 +164,10 @@ MeshRenderer:
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
@@ -204,7 +192,6 @@ MeshRenderer:
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!33 &19295892
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -223,7 +210,6 @@ Transform:
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 4
|
||||
@@ -268,17 +254,9 @@ Camera:
|
||||
m_projectionMatrixMode: 1
|
||||
m_GateFitMode: 2
|
||||
m_FOVAxisMode: 0
|
||||
m_Iso: 200
|
||||
m_ShutterSpeed: 0.005
|
||||
m_Aperture: 16
|
||||
m_FocusDistance: 10
|
||||
m_FocalLength: 50
|
||||
m_BladeCount: 5
|
||||
m_Curvature: {x: 2, y: 11}
|
||||
m_BarrelClipping: 0.25
|
||||
m_Anamorphism: 0
|
||||
m_SensorSize: {x: 36, y: 24}
|
||||
m_LensShift: {x: 0, y: 0}
|
||||
m_FocalLength: 50
|
||||
m_NormalizedViewPortRect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
@@ -315,7 +293,6 @@ Transform:
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 1, z: -10}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
@@ -348,7 +325,6 @@ RectTransform:
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 511172213}
|
||||
m_RootOrder: 0
|
||||
@@ -373,7 +349,6 @@ MonoBehaviour:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
@@ -429,7 +404,6 @@ RectTransform:
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 460271677}
|
||||
m_Father: {fileID: 649153321}
|
||||
@@ -454,7 +428,6 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
m_Navigation:
|
||||
m_Mode: 3
|
||||
m_WrapAround: 0
|
||||
m_SelectOnUp: {fileID: 0}
|
||||
m_SelectOnDown: {fileID: 0}
|
||||
m_SelectOnLeft: {fileID: 0}
|
||||
@@ -499,7 +472,6 @@ MonoBehaviour:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
@@ -580,7 +552,6 @@ MonoBehaviour:
|
||||
m_FallbackScreenDPI: 96
|
||||
m_DefaultSpriteDPI: 96
|
||||
m_DynamicPixelsPerUnit: 1
|
||||
m_PresetInfoIsWorld: 0
|
||||
--- !u!223 &649153320
|
||||
Canvas:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -599,7 +570,6 @@ Canvas:
|
||||
m_OverridePixelPerfect: 0
|
||||
m_SortingBucketNormalizedSize: 0
|
||||
m_AdditionalShaderChannelsFlag: 0
|
||||
m_UpdateRectTransformForStandalone: 0
|
||||
m_SortingLayerID: 0
|
||||
m_SortingOrder: 0
|
||||
m_TargetDisplay: 0
|
||||
@@ -613,7 +583,6 @@ RectTransform:
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 0, y: 0, z: 0}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 1537524790}
|
||||
- {fileID: 1847025553}
|
||||
@@ -656,7 +625,6 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_SendPointerHoverToParent: 1
|
||||
m_HorizontalAxis: Horizontal
|
||||
m_VerticalAxis: Vertical
|
||||
m_SubmitButton: Submit
|
||||
@@ -689,7 +657,6 @@ Transform:
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 5
|
||||
@@ -770,7 +737,6 @@ Light:
|
||||
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 &965437872
|
||||
@@ -783,7 +749,6 @@ Transform:
|
||||
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
|
||||
m_LocalPosition: {x: 0, y: 3, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 1
|
||||
@@ -816,7 +781,6 @@ RectTransform:
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1847025553}
|
||||
m_RootOrder: 0
|
||||
@@ -841,7 +805,6 @@ MonoBehaviour:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
@@ -896,7 +859,6 @@ RectTransform:
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 649153321}
|
||||
m_RootOrder: 0
|
||||
@@ -921,7 +883,6 @@ MonoBehaviour:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
@@ -977,7 +938,6 @@ RectTransform:
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 1101930859}
|
||||
m_Father: {fileID: 649153321}
|
||||
@@ -1002,7 +962,6 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
m_Navigation:
|
||||
m_Mode: 3
|
||||
m_WrapAround: 0
|
||||
m_SelectOnUp: {fileID: 0}
|
||||
m_SelectOnDown: {fileID: 0}
|
||||
m_SelectOnLeft: {fileID: 0}
|
||||
@@ -1047,7 +1006,6 @@ MonoBehaviour:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
@@ -1097,7 +1055,6 @@ Transform:
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 18.716805, y: 53.419094, z: 92.546875}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 2
|
||||
@@ -1119,3 +1076,4 @@ MonoBehaviour:
|
||||
openWindowButton: {fileID: 1847025554}
|
||||
openScriptButton: {fileID: 511172214}
|
||||
thisScript: {fileID: 11500000, guid: 5a2e4d3f095a9441688c70278068eee0, type: 3}
|
||||
myEditedField: 54
|
||||
|
||||
@@ -8,24 +8,27 @@ using UnityEngine.UI;
|
||||
|
||||
namespace SingularityGroup.HotReload.Demo {
|
||||
class HotReloadBasicDemo : MonoBehaviour {
|
||||
|
||||
|
||||
public GameObject cube;
|
||||
public Text informationText;
|
||||
public Button openWindowButton;
|
||||
public Button openScriptButton;
|
||||
public TextAsset thisScript;
|
||||
|
||||
|
||||
// // 1. Adding fields (Added fields can show in the inspector)
|
||||
// public int myNewField = 1;
|
||||
|
||||
void Start() {
|
||||
if(Application.isEditor) {
|
||||
if (Application.isEditor) {
|
||||
openWindowButton.onClick.AddListener(Demo.I.OpenHotReloadWindow);
|
||||
openScriptButton.onClick.AddListener(() => Demo.I.OpenScriptFile(thisScript, 31, 13));
|
||||
openScriptButton.onClick.AddListener(() => Demo.I.OpenScriptFile(thisScript, myStaticField, 13));
|
||||
} else {
|
||||
openWindowButton.gameObject.SetActive(false);
|
||||
openScriptButton.gameObject.SetActive(false);
|
||||
informationText.gameObject.SetActive(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Update is called once per frame
|
||||
void Update() {
|
||||
if (Demo.I.IsServerRunning()) {
|
||||
@@ -33,25 +36,25 @@ namespace SingularityGroup.HotReload.Demo {
|
||||
} else {
|
||||
informationText.text = "Hot Reload is not running";
|
||||
}
|
||||
|
||||
// // 1. Editing functions in monobehaviours, normal classes or static classes
|
||||
|
||||
// // 2. Editing functions in monobehaviours, normal classes or static classes
|
||||
// // Edit the vector to rotate the cube in the scene differently or change the speed
|
||||
// var speed = 100;
|
||||
// cube.transform.Rotate(new Vector3(0, 1, 0) * Time.deltaTime * speed);
|
||||
|
||||
// // 1. Editing functions in monobehaviours, normal classes or static classes
|
||||
|
||||
// // 2. Editing functions in monobehaviours, normal classes or static classes
|
||||
// // Uncomment this code to scale the cube
|
||||
// cube.transform.localScale = Mathf.Sin(Time.time) * Vector3.one;
|
||||
|
||||
// // 1. Editing functions in monobehaviours, normal classes or static classes
|
||||
|
||||
// // 2. Editing functions in monobehaviours, normal classes or static classes
|
||||
// // Uncomment this code to make the cube move from left to right and back
|
||||
// var newPos = cube.transform.position += (cube.transform.localScale.x < 0.5 ? Vector3.left : Vector3.right) * Time.deltaTime;
|
||||
// if(Mathf.Abs(newPos.x) > 10) {
|
||||
// cube.transform.position = Vector3.zero;
|
||||
// }
|
||||
}
|
||||
|
||||
// 2. Editing lambda methods
|
||||
|
||||
// 3. Editing lambda methods
|
||||
static Func<int, int> addFunction = x => {
|
||||
var result = x + 10;
|
||||
Debug.Log("Add: " + result);
|
||||
@@ -60,17 +63,17 @@ namespace SingularityGroup.HotReload.Demo {
|
||||
// Debug.Log("Multiply: " + result);
|
||||
return result;
|
||||
};
|
||||
|
||||
// 3. Editing async/await methods
|
||||
|
||||
// 4. Editing async/await methods
|
||||
async Task AsyncMethod() {
|
||||
// await Task.Delay(500);
|
||||
// Debug.Log("AsyncMethod");
|
||||
|
||||
|
||||
// // silicense warning
|
||||
await Task.CompletedTask;
|
||||
}
|
||||
|
||||
// 4. Editing properties (get/set)
|
||||
|
||||
// 5. Editing properties (get/set)
|
||||
public static string SomeString {
|
||||
// edit the get method
|
||||
get {
|
||||
@@ -78,8 +81,8 @@ namespace SingularityGroup.HotReload.Demo {
|
||||
return someStringHere;
|
||||
}
|
||||
}
|
||||
|
||||
// 5. Editing indexers (square bracket access such as dictionaries)
|
||||
|
||||
// 6. Editing indexers (square bracket access such as dictionaries)
|
||||
class CustomDictionary : Dictionary<string, int> {
|
||||
public new int this[string key] {
|
||||
get {
|
||||
@@ -102,8 +105,8 @@ namespace SingularityGroup.HotReload.Demo {
|
||||
{ "d", 19 },
|
||||
{ "D", 20 }
|
||||
};
|
||||
|
||||
// 6. Editing operators methods (explicit and implicit operators)
|
||||
|
||||
// 7. Editing operators methods (explicit and implicit operators)
|
||||
public class Email {
|
||||
public string Value { get; }
|
||||
|
||||
@@ -116,7 +119,7 @@ namespace SingularityGroup.HotReload.Demo {
|
||||
// Uncomment to change the implicit operator
|
||||
// => value.Value + " FOO";
|
||||
=> value.Value;
|
||||
|
||||
|
||||
// // Uncomment to change add an implicit operator
|
||||
// public static implicit operator byte[](Email value)
|
||||
// => Encoding.UTF8.GetBytes(value.Value);
|
||||
@@ -126,51 +129,86 @@ namespace SingularityGroup.HotReload.Demo {
|
||||
=> new Email(value);
|
||||
}
|
||||
|
||||
// 8. Editing fields: modifiers/type/name/initializer
|
||||
public int myEditedField = 4;
|
||||
|
||||
// 9. Editing static field initializers (variable value is updated)
|
||||
static readonly int myStaticField = 31;
|
||||
|
||||
// // 10. Adding auto properties/events
|
||||
// int MyProperty { get; set; } = 6;
|
||||
// event Action MyEvent = () => Debug.Log("MyEvent");
|
||||
|
||||
class GenericClass<T> {
|
||||
// // 11. Adding methods in generic classes
|
||||
// public void GenericMethod() {
|
||||
// Debug.Log("GenericMethod");
|
||||
// }
|
||||
// // 12. Adding fields (any type) in generic classes
|
||||
// public T myGenericField;
|
||||
}
|
||||
|
||||
void LateUpdate() {
|
||||
// // 2. Editing lambda methods
|
||||
// // 3. Editing lambda methods
|
||||
// addFunction(10);
|
||||
|
||||
|
||||
// // 3. Editing async/await methods
|
||||
|
||||
|
||||
// // 4. Editing async/await methods
|
||||
// AsyncMethod().Forget();
|
||||
|
||||
|
||||
// // 4. Editing properties (get/set)
|
||||
|
||||
|
||||
// // 5. Editing properties (get/set)
|
||||
// Debug.Log(SomeString);
|
||||
|
||||
|
||||
// // 5. Editing indexers (square bracket access such as dictionaries)
|
||||
|
||||
|
||||
// // 6. Editing indexers (square bracket access such as dictionaries)
|
||||
// Debug.Log(randomDict["A"]);
|
||||
|
||||
|
||||
// // 6. Editing operators methods (explicit and implicit operators)
|
||||
|
||||
|
||||
// // 7. Editing operators methods (explicit and implicit operators)
|
||||
Email email = new Email("example@example.com");
|
||||
// string stringEmail = email;
|
||||
// Debug.Log(stringEmail);
|
||||
|
||||
|
||||
// // Uncomment new operator in Email class + Uncomment this to add byte implicit operator
|
||||
// byte[] byteEmail = email;
|
||||
// var hexRepresentation = BitConverter.ToString(byteEmail);
|
||||
// Debug.Log(hexRepresentation);
|
||||
// Debug.Log(Encoding.UTF8.GetString(byteEmail));
|
||||
|
||||
// // 8. Editing fields: modifiers/type/name/initializer
|
||||
// Debug.Log("myEditedField: " + myEditedField);
|
||||
|
||||
// // 9. Editing static field initializers (variable value is updated)
|
||||
// Debug.Log("myStaticField: " + myStaticField);
|
||||
|
||||
// // 10. Adding auto properties/events
|
||||
// Debug.Log("MyProperty: " + MyProperty);
|
||||
// MyEvent.Invoke();
|
||||
|
||||
// // 7. Editing lambda methods with closures
|
||||
// var newClass = new GenericClass<int>();
|
||||
// // 11. Adding methods in generic classes
|
||||
// newClass.GenericMethod();
|
||||
// // 12. Adding fields in generic classes
|
||||
// newClass.myGenericField = 3;
|
||||
// Debug.Log("myGenericField: " + newClass.myGenericField);
|
||||
|
||||
// // 13. Editing lambda methods with closures
|
||||
// // Uncomment to log sorted array
|
||||
// // Switch a and b to reverse the sorting
|
||||
// int[] numbers = { 5, 3, 8, 1, 9 };
|
||||
// Array.Sort(numbers, (b, a) => a.CompareTo(b));
|
||||
// Debug.Log(string.Join(", ", numbers));
|
||||
|
||||
}
|
||||
|
||||
|
||||
// This function gets invoked every time it's patched
|
||||
[InvokeOnHotReloadLocal]
|
||||
static void OnHotReloadMe() {
|
||||
// change the string to see the method getting invoked
|
||||
Debug.Log("Hello there");
|
||||
// // change the string to see the method getting invoked
|
||||
// Debug.Log("Hello there");
|
||||
}
|
||||
|
||||
// // 8. Adding event functions
|
||||
// // 14. Adding event functions
|
||||
// void OnDisable() {
|
||||
// Debug.Log("OnDisable");
|
||||
// }
|
||||
|
||||
Reference in New Issue
Block a user