From 9ca8607d6684f2329274ccaaaf98dcb2fbfd281f Mon Sep 17 00:00:00 2001 From: Erich Querner Date: Mon, 30 Sep 2024 11:54:36 +0200 Subject: [PATCH 1/7] move textpointercursor to separate file --- Runtime/Behaviors/Cursors/PointerCursor.cs | 106 ----------------- .../Behaviors/Cursors/TextPointerCursor.cs | 110 ++++++++++++++++++ .../Cursors/TextPointerCursor.cs.meta | 3 + 3 files changed, 113 insertions(+), 106 deletions(-) create mode 100644 Runtime/Behaviors/Cursors/TextPointerCursor.cs create mode 100644 Runtime/Behaviors/Cursors/TextPointerCursor.cs.meta diff --git a/Runtime/Behaviors/Cursors/PointerCursor.cs b/Runtime/Behaviors/Cursors/PointerCursor.cs index 4ae7d31b..db07bded 100644 --- a/Runtime/Behaviors/Cursors/PointerCursor.cs +++ b/Runtime/Behaviors/Cursors/PointerCursor.cs @@ -2,117 +2,11 @@ * @author Valentin Simonov / http://va.lent.in/ */ -using System.Text; -using TMPro; using TouchScript.Pointers; -using TouchScript.Utils; using UnityEngine; namespace TouchScript.Behaviors.Cursors { - /// - /// Abstract class for pointer cursors with text. - /// - /// Pointer type. - /// - public abstract class TextPointerCursor : PointerCursor where T : IPointer - { - #region Public properties - - /// - /// Should the value of be shown on screen on the cursor. - /// - public bool ShowPointerId = true; - - /// - /// Should the value of be shown on screen on the cursor. - /// - public bool ShowFlags = false; - - /// - /// The link to UI.Text component. - /// - public TMP_Text Text; - - #endregion - - #region Private variables - - private static StringBuilder s_stringBuilder = new StringBuilder(64); - - #endregion - - #region Protected methods - - /// - protected override void UpdateOnce(IPointer pointer) - { - base.UpdateOnce(pointer); - - if (Text == null) return; - if (!TextIsVisible()) - { - Text.enabled = false; - return; - } - - Text.enabled = true; - s_stringBuilder.Length = 0; - GenerateText((T) pointer, s_stringBuilder); - - Text.text = s_stringBuilder.ToString(); - } - - /// - /// Generates text for pointer. - /// - /// The pointer. - /// The string builder to use. - protected virtual void GenerateText(T pointer, StringBuilder str) - { - if (ShowPointerId) - { - str.Append("Id: "); - str.Append(pointer.Id); - } - if (ShowFlags) - { - if (str.Length > 0) str.Append("\n"); - str.Append("Flags: "); - BinaryUtils.ToBinaryString(pointer.Flags, str, 8); - } - } - - /// - /// Indicates if text should be visible. - /// - /// True if pointer text should be displayed; false otherwise. - protected virtual bool TextIsVisible() - { - return ShowPointerId || ShowFlags; - } - - /// - /// Typed version of . Returns a hash of a cursor state. - /// - /// The pointer. - /// Integer hash. - protected virtual uint GetHash(T pointer) - { - var hash = (uint) State; - if (ShowFlags) hash += pointer.Flags << 3; - return hash; - } - - /// - protected sealed override uint GetPointerHash(IPointer pointer) - { - return GetHash((T) pointer); - } - - #endregion - } - /// /// Visual cursor implementation used by TouchScript. /// diff --git a/Runtime/Behaviors/Cursors/TextPointerCursor.cs b/Runtime/Behaviors/Cursors/TextPointerCursor.cs new file mode 100644 index 00000000..9bfa9ab5 --- /dev/null +++ b/Runtime/Behaviors/Cursors/TextPointerCursor.cs @@ -0,0 +1,110 @@ +using System.Text; +using TMPro; +using TouchScript.Pointers; +using TouchScript.Utils; + +namespace TouchScript.Behaviors.Cursors +{ + /// + /// Abstract class for pointer cursors with text. + /// + /// Pointer type. + /// + public abstract class TextPointerCursor : PointerCursor where T : IPointer + { + #region Public properties + + /// + /// Should the value of be shown on screen on the cursor. + /// + public bool ShowPointerId = true; + + /// + /// Should the value of be shown on screen on the cursor. + /// + public bool ShowFlags = false; + + /// + /// The link to UI.Text component. + /// + public TMP_Text Text; + + #endregion + + #region Private variables + + private static StringBuilder s_stringBuilder = new StringBuilder(64); + + #endregion + + #region Protected methods + + /// + protected override void UpdateOnce(IPointer pointer) + { + base.UpdateOnce(pointer); + + if (Text == null) return; + if (!TextIsVisible()) + { + Text.enabled = false; + return; + } + + Text.enabled = true; + s_stringBuilder.Length = 0; + GenerateText((T) pointer, s_stringBuilder); + + Text.text = s_stringBuilder.ToString(); + } + + /// + /// Generates text for pointer. + /// + /// The pointer. + /// The string builder to use. + protected virtual void GenerateText(T pointer, StringBuilder str) + { + if (ShowPointerId) + { + str.Append("Id: "); + str.Append(pointer.Id); + } + if (ShowFlags) + { + if (str.Length > 0) str.Append("\n"); + str.Append("Flags: "); + BinaryUtils.ToBinaryString(pointer.Flags, str, 8); + } + } + + /// + /// Indicates if text should be visible. + /// + /// True if pointer text should be displayed; false otherwise. + protected virtual bool TextIsVisible() + { + return ShowPointerId || ShowFlags; + } + + /// + /// Typed version of . Returns a hash of a cursor state. + /// + /// The pointer. + /// Integer hash. + protected virtual uint GetHash(T pointer) + { + var hash = (uint) State; + if (ShowFlags) hash += pointer.Flags << 3; + return hash; + } + + /// + protected sealed override uint GetPointerHash(IPointer pointer) + { + return GetHash((T) pointer); + } + + #endregion + } +} \ No newline at end of file diff --git a/Runtime/Behaviors/Cursors/TextPointerCursor.cs.meta b/Runtime/Behaviors/Cursors/TextPointerCursor.cs.meta new file mode 100644 index 00000000..f7ec62ef --- /dev/null +++ b/Runtime/Behaviors/Cursors/TextPointerCursor.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 49e6f03934554489aa5fb2faea24b791 +timeCreated: 1727689747 \ No newline at end of file From dd96316f9243b83a27ed7a0b9650de5a7eaa52a1 Mon Sep 17 00:00:00 2001 From: Erich Querner Date: Mon, 30 Sep 2024 11:56:31 +0200 Subject: [PATCH 2/7] make pointercursor generic --- Runtime/Behaviors/Cursors/PointerCursor.cs | 2 +- Runtime/Behaviors/Cursors/TextPointerCursor.cs | 2 +- Runtime/Behaviors/Tokens/TokenTransform.cs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Runtime/Behaviors/Cursors/PointerCursor.cs b/Runtime/Behaviors/Cursors/PointerCursor.cs index db07bded..8d3069e6 100644 --- a/Runtime/Behaviors/Cursors/PointerCursor.cs +++ b/Runtime/Behaviors/Cursors/PointerCursor.cs @@ -11,7 +11,7 @@ namespace TouchScript.Behaviors.Cursors /// Visual cursor implementation used by TouchScript. /// [HelpURL("http://touchscript.github.io/docs/html/T_TouchScript_Behaviors_Cursors_PointerCursor.htm")] - public class PointerCursor : MonoBehaviour + public class PointerCursor : MonoBehaviour where T: IPointer { #region Consts diff --git a/Runtime/Behaviors/Cursors/TextPointerCursor.cs b/Runtime/Behaviors/Cursors/TextPointerCursor.cs index 9bfa9ab5..dbc723e0 100644 --- a/Runtime/Behaviors/Cursors/TextPointerCursor.cs +++ b/Runtime/Behaviors/Cursors/TextPointerCursor.cs @@ -10,7 +10,7 @@ namespace TouchScript.Behaviors.Cursors /// /// Pointer type. /// - public abstract class TextPointerCursor : PointerCursor where T : IPointer + public abstract class TextPointerCursor : PointerCursor where T : IPointer { #region Public properties diff --git a/Runtime/Behaviors/Tokens/TokenTransform.cs b/Runtime/Behaviors/Tokens/TokenTransform.cs index 8c262f57..197fbd53 100644 --- a/Runtime/Behaviors/Tokens/TokenTransform.cs +++ b/Runtime/Behaviors/Tokens/TokenTransform.cs @@ -5,7 +5,7 @@ namespace TouchScript.Behaviors.Tokens { - public class TokenTransform : PointerCursor + public class TokenTransform : PointerCursor { [SerializeField] private TokenEventChannel _tokenEventChannel; public int Id { get; private set; } From 1047b1f03460c1a7902f018adc6beb23a0c061e8 Mon Sep 17 00:00:00 2001 From: Erich Querner Date: Mon, 30 Sep 2024 14:07:45 +0200 Subject: [PATCH 3/7] add scripts to display debug cursors --- Runtime/Behaviors/Cursors/DebugMouseCursor.cs | 82 ++++++++++++++ .../Cursors/DebugMouseCursor.cs.meta | 3 + .../Behaviors/Cursors/DebugObjectCursor.cs | 86 ++++++++++++++ .../Cursors/DebugObjectCursor.cs.meta | 3 + Runtime/Behaviors/Cursors/DebugPenCursor.cs | 106 ++++++++++++++++++ .../Behaviors/Cursors/DebugPenCursor.cs.meta | 3 + Runtime/Behaviors/Cursors/DebugTouchCursor.cs | 62 ++++++++++ .../Cursors/DebugTouchCursor.cs.meta | 3 + 8 files changed, 348 insertions(+) create mode 100644 Runtime/Behaviors/Cursors/DebugMouseCursor.cs create mode 100644 Runtime/Behaviors/Cursors/DebugMouseCursor.cs.meta create mode 100644 Runtime/Behaviors/Cursors/DebugObjectCursor.cs create mode 100644 Runtime/Behaviors/Cursors/DebugObjectCursor.cs.meta create mode 100644 Runtime/Behaviors/Cursors/DebugPenCursor.cs create mode 100644 Runtime/Behaviors/Cursors/DebugPenCursor.cs.meta create mode 100644 Runtime/Behaviors/Cursors/DebugTouchCursor.cs create mode 100644 Runtime/Behaviors/Cursors/DebugTouchCursor.cs.meta diff --git a/Runtime/Behaviors/Cursors/DebugMouseCursor.cs b/Runtime/Behaviors/Cursors/DebugMouseCursor.cs new file mode 100644 index 00000000..6f92b766 --- /dev/null +++ b/Runtime/Behaviors/Cursors/DebugMouseCursor.cs @@ -0,0 +1,82 @@ +using System.Text; +using TouchScript.Behaviors.Cursors.UI; +using TouchScript.Pointers; +using TouchScript.Utils; + +namespace TouchScript.Behaviors.Cursors +{ + public class DebugMouseCursor : TextPointerCursor + { + #region Public properties + + /// + /// Default cursor sub object. + /// + public TextureSwitch DefaultCursor; + + /// + /// Pressed cursor sub object. + /// + public TextureSwitch PressedCursor; + + /// + /// Should the value of be shown on the cursor. + /// + public bool ShowButtons = false; + + #endregion + + #region Protected methods + + /// + protected override void UpdateOnce(IPointer pointer) + { + switch (State) + { + case CursorState.Released: + case CursorState.Over: + if (DefaultCursor != null) DefaultCursor.Show(); + if (PressedCursor != null) PressedCursor.Hide(); + break; + case CursorState.Pressed: + case CursorState.OverPressed: + if (DefaultCursor != null) DefaultCursor.Hide(); + if (PressedCursor != null) PressedCursor.Show(); + break; + } + + base.UpdateOnce(pointer); + } + + /// + protected override void GenerateText(MousePointer pointer, StringBuilder str) + { + base.GenerateText(pointer, str); + + if (ShowButtons) + { + if (str.Length > 0) str.Append("\n"); + str.Append("Buttons: "); + PointerUtils.PressedButtonsToString(pointer.Buttons, str); + } + } + + /// + protected override bool TextIsVisible() + { + return base.TextIsVisible() || ShowButtons; + } + + /// + protected override uint GetHash(MousePointer pointer) + { + var hash = base.GetHash(pointer); + + if (ShowButtons) hash += (uint) (pointer.Buttons & Pointer.PointerButtonState.AnyButtonPressed); + + return hash; + } + + #endregion + } +} \ No newline at end of file diff --git a/Runtime/Behaviors/Cursors/DebugMouseCursor.cs.meta b/Runtime/Behaviors/Cursors/DebugMouseCursor.cs.meta new file mode 100644 index 00000000..21053761 --- /dev/null +++ b/Runtime/Behaviors/Cursors/DebugMouseCursor.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: afec9b86123e411cb408f2b88c052dd1 +timeCreated: 1727690543 \ No newline at end of file diff --git a/Runtime/Behaviors/Cursors/DebugObjectCursor.cs b/Runtime/Behaviors/Cursors/DebugObjectCursor.cs new file mode 100644 index 00000000..e565a952 --- /dev/null +++ b/Runtime/Behaviors/Cursors/DebugObjectCursor.cs @@ -0,0 +1,86 @@ +using System.Text; +using TouchScript.Pointers; +using UnityEngine; + +namespace TouchScript.Behaviors.Cursors +{ + public class DebugObjectCursor : TextPointerCursor + { + #region Public properties + + /// + /// Should the value of be shown on the cursor. + /// + public bool ShowObjectId = false; + + /// + /// Should the values of and be shown on the cursor. + /// + public bool ShowSize = false; + + /// + /// Should the value of be shown on the cursor. + /// + public bool ShowAngle = false; + + #endregion + + #region Protected methods + + /// + protected override void GenerateText(ObjectPointer pointer, StringBuilder str) + { + base.GenerateText(pointer, str); + + if (ShowObjectId) + { + if (str.Length > 0) str.Append("\n"); + str.Append("ObjectId: "); + str.Append(pointer.ObjectId); + } + if (ShowSize) + { + if (str.Length > 0) str.Append("\n"); + str.Append("Size: "); + str.Append(pointer.Width); + str.Append("x"); + str.Append(pointer.Height); + } + if (ShowAngle) + { + if (str.Length > 0) str.Append("\n"); + str.Append("Angle: "); + str.Append(pointer.Angle); + } + } + + /// + protected override void UpdatePointerInternal(IPointer pointer) + { + base.UpdatePointerInternal(pointer); + if (pointer is not ObjectPointer objectPointer) return; + var angle = objectPointer.Angle * Mathf.Rad2Deg; + var rotation = Quaternion.AngleAxis(angle, Vector3.back); + Rect.rotation = rotation; + } + + /// + protected override bool TextIsVisible() + { + return base.TextIsVisible() || ShowObjectId || ShowSize || ShowAngle; + } + + /// + protected override uint GetHash(ObjectPointer pointer) + { + var hash = base.GetHash(pointer); + + if (ShowSize) hash += (uint) (pointer.Width * 1024 + pointer.Height * 1024 * 1024) << 8; + if (ShowAngle) hash += (uint) (pointer.Angle * 1024) << 24; + + return hash; + } + + #endregion + } +} \ No newline at end of file diff --git a/Runtime/Behaviors/Cursors/DebugObjectCursor.cs.meta b/Runtime/Behaviors/Cursors/DebugObjectCursor.cs.meta new file mode 100644 index 00000000..c9686845 --- /dev/null +++ b/Runtime/Behaviors/Cursors/DebugObjectCursor.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 0da990e406784b1a8fdd687c97ec00e6 +timeCreated: 1727690248 \ No newline at end of file diff --git a/Runtime/Behaviors/Cursors/DebugPenCursor.cs b/Runtime/Behaviors/Cursors/DebugPenCursor.cs new file mode 100644 index 00000000..a335ebcf --- /dev/null +++ b/Runtime/Behaviors/Cursors/DebugPenCursor.cs @@ -0,0 +1,106 @@ +using System.Text; +using TouchScript.Behaviors.Cursors.UI; +using TouchScript.Pointers; +using TouchScript.Utils; + +namespace TouchScript.Behaviors.Cursors +{ + public class DebugPenCursor : TextPointerCursor + { + #region Public properties + + /// + /// Default cursor sub object. + /// + public TextureSwitch DefaultCursor; + + /// + /// Pressed cursor sub object. + /// + public TextureSwitch PressedCursor; + + /// + /// Should the value of be shown on the cursor. + /// + public bool ShowButtons = false; + + /// + /// Should the value of be shown on the cursor. + /// + public bool ShowPressure = false; + + /// + /// Should the value of be shown on the cursor. + /// + public bool ShowRotation = false; + + #endregion + + #region Protected methods + + /// + protected override void UpdateOnce(IPointer pointer) + { + switch (State) + { + case CursorState.Released: + case CursorState.Over: + if (DefaultCursor != null) DefaultCursor.Show(); + if (PressedCursor != null) PressedCursor.Hide(); + break; + case CursorState.Pressed: + case CursorState.OverPressed: + if (DefaultCursor != null) DefaultCursor.Hide(); + if (PressedCursor != null) PressedCursor.Show(); + break; + } + + base.UpdateOnce(pointer); + } + + /// + protected override void GenerateText(PenPointer pointer, StringBuilder str) + { + base.GenerateText(pointer, str); + + if (ShowButtons) + { + if (str.Length > 0) str.Append("\n"); + str.Append("Buttons: "); + PointerUtils.PressedButtonsToString(pointer.Buttons, str); + } + if (ShowPressure) + { + if (str.Length > 0) str.Append("\n"); + str.Append("Pressure: "); + str.AppendFormat("{0:0.000}", pointer.Pressure); + } + if (ShowRotation) + { + if (str.Length > 0) str.Append("\n"); + str.Append("Rotation: "); + str.Append(pointer.Rotation); + } + } + + /// + protected override bool TextIsVisible() + { + return base.TextIsVisible() || ShowButtons || ShowPressure || ShowRotation; + } + + /// + protected override uint GetHash(PenPointer pointer) + { + var hash = base.GetHash(pointer); + + if (ShowButtons) hash += (uint) (pointer.Buttons & Pointer.PointerButtonState.AnyButtonPressed); + if (ShowPressure) hash += (uint) (pointer.Pressure * 1024) << 8; + if (ShowRotation) hash += (uint) (pointer.Rotation * 1024) << 16; + + return hash; + } + + #endregion + } +} \ No newline at end of file diff --git a/Runtime/Behaviors/Cursors/DebugPenCursor.cs.meta b/Runtime/Behaviors/Cursors/DebugPenCursor.cs.meta new file mode 100644 index 00000000..be7f1a69 --- /dev/null +++ b/Runtime/Behaviors/Cursors/DebugPenCursor.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: acfc5b576d7a4a62b261ab1987c08111 +timeCreated: 1727690618 \ No newline at end of file diff --git a/Runtime/Behaviors/Cursors/DebugTouchCursor.cs b/Runtime/Behaviors/Cursors/DebugTouchCursor.cs new file mode 100644 index 00000000..e505e530 --- /dev/null +++ b/Runtime/Behaviors/Cursors/DebugTouchCursor.cs @@ -0,0 +1,62 @@ +using System.Text; +using TouchScript.Pointers; + +namespace TouchScript.Behaviors.Cursors +{ + public class DebugTouchCursor : TextPointerCursor + { + #region Public properties + + /// + /// Should the value of be shown on the cursor. + /// + public bool ShowPressure = false; + + /// + /// Should the value of be shown on the cursor. + /// + public bool ShowRotation = false; + + #endregion + + #region Protected methods + + /// + protected override void GenerateText(TouchPointer pointer, StringBuilder str) + { + base.GenerateText(pointer, str); + + if (ShowPressure) + { + if (str.Length > 0) str.Append("\n"); + str.Append("Pressure: "); + str.AppendFormat("{0:0.000}", pointer.Pressure); + } + if (ShowRotation) + { + if (str.Length > 0) str.Append("\n"); + str.Append("Rotation: "); + str.Append(pointer.Rotation); + } + } + + /// + protected override bool TextIsVisible() + { + return base.TextIsVisible() || ShowPressure || ShowRotation; + } + + /// + protected override uint GetHash(TouchPointer pointer) + { + var hash = base.GetHash(pointer); + + if (ShowPressure) hash += (uint) (pointer.Pressure * 1024) << 8; + if (ShowRotation) hash += (uint) (pointer.Rotation * 1024) << 16; + + return hash; + } + + #endregion + } +} \ No newline at end of file diff --git a/Runtime/Behaviors/Cursors/DebugTouchCursor.cs.meta b/Runtime/Behaviors/Cursors/DebugTouchCursor.cs.meta new file mode 100644 index 00000000..09d33210 --- /dev/null +++ b/Runtime/Behaviors/Cursors/DebugTouchCursor.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 9390f43cd542400fa2040f2063b8d864 +timeCreated: 1727690449 \ No newline at end of file From 40d6ccfb7726c4fd7ca6b2dfe2af1d9911f77e02 Mon Sep 17 00:00:00 2001 From: Erich Querner Date: Mon, 30 Sep 2024 14:09:15 +0200 Subject: [PATCH 4/7] remove text based logic from cursors. now cursor scripts just hold basic information like transform or id. the whole UI stuff should be handled individually --- Runtime/Behaviors/Cursors/MouseCursor.cs | 36 +--------- Runtime/Behaviors/Cursors/ObjectCursor.cs | 67 ++----------------- Runtime/Behaviors/Cursors/PenCursor.cs | 61 +---------------- Runtime/Behaviors/Cursors/PointerCursor.cs | 3 +- .../Behaviors/Cursors/TextPointerCursor.cs | 2 +- Runtime/Behaviors/Cursors/TouchCursor.cs | 57 ++-------------- 6 files changed, 15 insertions(+), 211 deletions(-) diff --git a/Runtime/Behaviors/Cursors/MouseCursor.cs b/Runtime/Behaviors/Cursors/MouseCursor.cs index 12508a30..3dcd342f 100644 --- a/Runtime/Behaviors/Cursors/MouseCursor.cs +++ b/Runtime/Behaviors/Cursors/MouseCursor.cs @@ -14,7 +14,7 @@ namespace TouchScript.Behaviors.Cursors /// Cursor for mouse pointers. /// [HelpURL("http://touchscript.github.io/docs/html/T_TouchScript_Behaviors_Cursors_MouseCursor.htm")] - public class MouseCursor : TextPointerCursor + public class MouseCursor : PointerCursor { #region Public properties @@ -28,11 +28,6 @@ public class MouseCursor : TextPointerCursor /// public TextureSwitch PressedCursor; - /// - /// Should the value of be shown on the cursor. - /// - public bool ShowButtons = false; - #endregion #region Protected methods @@ -57,35 +52,6 @@ protected override void UpdateOnce(IPointer pointer) base.UpdateOnce(pointer); } - /// - protected override void GenerateText(MousePointer pointer, StringBuilder str) - { - base.GenerateText(pointer, str); - - if (ShowButtons) - { - if (str.Length > 0) str.Append("\n"); - str.Append("Buttons: "); - PointerUtils.PressedButtonsToString(pointer.Buttons, str); - } - } - - /// - protected override bool TextIsVisible() - { - return base.TextIsVisible() || ShowButtons; - } - - /// - protected override uint GetHash(MousePointer pointer) - { - var hash = base.GetHash(pointer); - - if (ShowButtons) hash += (uint) (pointer.Buttons & Pointer.PointerButtonState.AnyButtonPressed); - - return hash; - } - #endregion } } \ No newline at end of file diff --git a/Runtime/Behaviors/Cursors/ObjectCursor.cs b/Runtime/Behaviors/Cursors/ObjectCursor.cs index 345a42f8..1c0ed382 100644 --- a/Runtime/Behaviors/Cursors/ObjectCursor.cs +++ b/Runtime/Behaviors/Cursors/ObjectCursor.cs @@ -12,54 +12,15 @@ namespace TouchScript.Behaviors.Cursors /// Cursor for object pointers. /// [HelpURL("http://touchscript.github.io/docs/html/T_TouchScript_Behaviors_Cursors_ObjectCursor.htm")] - public class ObjectCursor : TextPointerCursor + public class ObjectCursor : PointerCursor { - #region Public properties - - /// - /// Should the value of be shown on the cursor. - /// - public bool ShowObjectId = false; - - /// - /// Should the values of and be shown on the cursor. - /// - public bool ShowSize = false; - - /// - /// Should the value of be shown on the cursor. - /// - public bool ShowAngle = false; - - #endregion - + private ObjectPointer _pointer; #region Protected methods - /// - protected override void GenerateText(ObjectPointer pointer, StringBuilder str) + protected override void UpdateOnce(IPointer pointer) { - base.GenerateText(pointer, str); - - if (ShowObjectId) - { - if (str.Length > 0) str.Append("\n"); - str.Append("ObjectId: "); - str.Append(pointer.ObjectId); - } - if (ShowSize) - { - if (str.Length > 0) str.Append("\n"); - str.Append("Size: "); - str.Append(pointer.Width); - str.Append("x"); - str.Append(pointer.Height); - } - if (ShowAngle) - { - if (str.Length > 0) str.Append("\n"); - str.Append("Angle: "); - str.Append(pointer.Angle); - } + _pointer = (ObjectPointer)pointer; + gameObject.name = $"Object {_pointer.ObjectId}"; } /// @@ -71,24 +32,6 @@ protected override void UpdatePointerInternal(IPointer pointer) var rotation = Quaternion.AngleAxis(angle, Vector3.back); Rect.rotation = rotation; } - - /// - protected override bool TextIsVisible() - { - return base.TextIsVisible() || ShowObjectId || ShowSize || ShowAngle; - } - - /// - protected override uint GetHash(ObjectPointer pointer) - { - var hash = base.GetHash(pointer); - - if (ShowSize) hash += (uint) (pointer.Width * 1024 + pointer.Height * 1024 * 1024) << 8; - if (ShowAngle) hash += (uint) (pointer.Angle * 1024) << 24; - - return hash; - } - #endregion } } \ No newline at end of file diff --git a/Runtime/Behaviors/Cursors/PenCursor.cs b/Runtime/Behaviors/Cursors/PenCursor.cs index e0af0ab8..be739a88 100644 --- a/Runtime/Behaviors/Cursors/PenCursor.cs +++ b/Runtime/Behaviors/Cursors/PenCursor.cs @@ -14,7 +14,7 @@ namespace TouchScript.Behaviors.Cursors /// Cursor for pen pointers. /// [HelpURL("http://touchscript.github.io/docs/html/T_TouchScript_Behaviors_Cursors_PenCursor.htm")] - public class PenCursor : TextPointerCursor + public class PenCursor : PointerCursor { #region Public properties @@ -28,21 +28,6 @@ public class PenCursor : TextPointerCursor /// public TextureSwitch PressedCursor; - /// - /// Should the value of be shown on the cursor. - /// - public bool ShowButtons = false; - - /// - /// Should the value of be shown on the cursor. - /// - public bool ShowPressure = false; - - /// - /// Should the value of be shown on the cursor. - /// - public bool ShowRotation = false; - #endregion #region Protected methods @@ -66,50 +51,6 @@ protected override void UpdateOnce(IPointer pointer) base.UpdateOnce(pointer); } - - /// - protected override void GenerateText(PenPointer pointer, StringBuilder str) - { - base.GenerateText(pointer, str); - - if (ShowButtons) - { - if (str.Length > 0) str.Append("\n"); - str.Append("Buttons: "); - PointerUtils.PressedButtonsToString(pointer.Buttons, str); - } - if (ShowPressure) - { - if (str.Length > 0) str.Append("\n"); - str.Append("Pressure: "); - str.AppendFormat("{0:0.000}", pointer.Pressure); - } - if (ShowRotation) - { - if (str.Length > 0) str.Append("\n"); - str.Append("Rotation: "); - str.Append(pointer.Rotation); - } - } - - /// - protected override bool TextIsVisible() - { - return base.TextIsVisible() || ShowButtons || ShowPressure || ShowRotation; - } - - /// - protected override uint GetHash(PenPointer pointer) - { - var hash = base.GetHash(pointer); - - if (ShowButtons) hash += (uint) (pointer.Buttons & Pointer.PointerButtonState.AnyButtonPressed); - if (ShowPressure) hash += (uint) (pointer.Pressure * 1024) << 8; - if (ShowRotation) hash += (uint) (pointer.Rotation * 1024) << 16; - - return hash; - } - #endregion } } \ No newline at end of file diff --git a/Runtime/Behaviors/Cursors/PointerCursor.cs b/Runtime/Behaviors/Cursors/PointerCursor.cs index 8d3069e6..86ef7620 100644 --- a/Runtime/Behaviors/Cursors/PointerCursor.cs +++ b/Runtime/Behaviors/Cursors/PointerCursor.cs @@ -11,7 +11,8 @@ namespace TouchScript.Behaviors.Cursors /// Visual cursor implementation used by TouchScript. /// [HelpURL("http://touchscript.github.io/docs/html/T_TouchScript_Behaviors_Cursors_PointerCursor.htm")] - public class PointerCursor : MonoBehaviour where T: IPointer + [RequireComponent(typeof(CanvasGroup))] + public abstract class PointerCursor : MonoBehaviour { #region Consts diff --git a/Runtime/Behaviors/Cursors/TextPointerCursor.cs b/Runtime/Behaviors/Cursors/TextPointerCursor.cs index dbc723e0..9bfa9ab5 100644 --- a/Runtime/Behaviors/Cursors/TextPointerCursor.cs +++ b/Runtime/Behaviors/Cursors/TextPointerCursor.cs @@ -10,7 +10,7 @@ namespace TouchScript.Behaviors.Cursors /// /// Pointer type. /// - public abstract class TextPointerCursor : PointerCursor where T : IPointer + public abstract class TextPointerCursor : PointerCursor where T : IPointer { #region Public properties diff --git a/Runtime/Behaviors/Cursors/TouchCursor.cs b/Runtime/Behaviors/Cursors/TouchCursor.cs index 50f8329b..dda32cd1 100644 --- a/Runtime/Behaviors/Cursors/TouchCursor.cs +++ b/Runtime/Behaviors/Cursors/TouchCursor.cs @@ -12,60 +12,13 @@ namespace TouchScript.Behaviors.Cursors /// Cursor for touch pointers. /// [HelpURL("http://touchscript.github.io/docs/html/T_TouchScript_Behaviors_Cursors_TouchCursor.htm")] - public class TouchCursor : TextPointerCursor + public class TouchCursor : PointerCursor { - #region Public properties - - /// - /// Should the value of be shown on the cursor. - /// - public bool ShowPressure = false; - - /// - /// Should the value of be shown on the cursor. - /// - public bool ShowRotation = false; - - #endregion - - #region Protected methods - - /// - protected override void GenerateText(TouchPointer pointer, StringBuilder str) + private TouchPointer _pointer; + protected override void UpdateOnce(IPointer pointer) { - base.GenerateText(pointer, str); - - if (ShowPressure) - { - if (str.Length > 0) str.Append("\n"); - str.Append("Pressure: "); - str.AppendFormat("{0:0.000}", pointer.Pressure); - } - if (ShowRotation) - { - if (str.Length > 0) str.Append("\n"); - str.Append("Rotation: "); - str.Append(pointer.Rotation); - } + _pointer = (TouchPointer)pointer; + gameObject.name = $"Touch {_pointer.Id}"; } - - /// - protected override bool TextIsVisible() - { - return base.TextIsVisible() || ShowPressure || ShowRotation; - } - - /// - protected override uint GetHash(TouchPointer pointer) - { - var hash = base.GetHash(pointer); - - if (ShowPressure) hash += (uint) (pointer.Pressure * 1024) << 8; - if (ShowRotation) hash += (uint) (pointer.Rotation * 1024) << 16; - - return hash; - } - - #endregion } } \ No newline at end of file From 085af46d44fbce9cb69e9b2a0b00e59799269c69 Mon Sep 17 00:00:00 2001 From: Erich Querner Date: Mon, 30 Sep 2024 14:09:55 +0200 Subject: [PATCH 5/7] the build-in cursor prefabs now have the debug cursor scripts which also show some textual information --- Prefabs/Cursors/Mouse Cursor.prefab | 637 ++++++++++++++----------- Prefabs/Cursors/Object Cursor.prefab | 16 +- Prefabs/Cursors/Pen Cursor.prefab | 671 +++++++++++++++------------ Prefabs/Cursors/Touch Cursor.prefab | 420 ++++++++++------- 4 files changed, 976 insertions(+), 768 deletions(-) diff --git a/Prefabs/Cursors/Mouse Cursor.prefab b/Prefabs/Cursors/Mouse Cursor.prefab index fa9cc149..54869ae0 100644 --- a/Prefabs/Cursors/Mouse Cursor.prefab +++ b/Prefabs/Cursors/Mouse Cursor.prefab @@ -3,14 +3,15 @@ --- !u!1 &152322 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 22498922} - component: {fileID: 22253470} - - component: {fileID: 11415522} - component: {fileID: 11446012} + - component: {fileID: 4666505957231463511} m_Layer: 0 m_Name: Text m_TagString: Untagged @@ -18,12 +19,144 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!224 &22498922 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 152322} + 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: 22499528} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 3, y: 0} + m_SizeDelta: {x: 100, y: 64} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &22253470 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 152322} + m_CullTransparentMesh: 1 +--- !u!114 &11446012 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 152322} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e19747de3f5aca642ab2be37e372fb86, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 0.541} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!114 &4666505957231463511 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 152322} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + 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: + m_Calls: [] + m_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 0, g: 1, b: 0, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 12 + m_fontSizeBase: 12 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!1 &183852 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 22471328} - component: {fileID: 22246154} @@ -37,98 +170,66 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &185820 -GameObject: +--- !u!224 &22471328 +RectTransform: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 22499528} - - component: {fileID: 11416202} - - component: {fileID: 223878911915740246} - - component: {fileID: 225715774982127120} - m_Layer: 0 - m_Name: Mouse Cursor - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &189110 -GameObject: + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 183852} + 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: 22499528} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22246154 +CanvasRenderer: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 22497446} - - component: {fileID: 22249184} - - component: {fileID: 11453278} - - component: {fileID: 11448672} - - component: {fileID: 114973988835986202} - m_Layer: 0 - m_Name: Default - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &11415522 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 183852} + m_CullTransparentMesh: 1 +--- !u!114 &11446800 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 152322} - m_Enabled: 0 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 183852} + m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} m_Name: m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0, g: 1, b: 0, a: 1} + m_Material: {fileID: 2100000, guid: 10886028a78e7634d8d44ee11f7b1c08, type: 2} + m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 12 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 3 - m_AlignByGeometry: 0 - m_RichText: 0 - m_HorizontalOverflow: 1 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: ---- !u!114 &11416202 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 185820} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: c8fbf4dedcb22ba4c955bd24592e0845, type: 3} - m_Name: - m_EditorClassIdentifier: - ShowPointerId: 0 - ShowFlags: 0 - Text: {fileID: 11415522} - DefaultCursor: {fileID: 0} - PressedCursor: {fileID: 114695260886518812} - ShowButtons: 0 + m_Texture: {fileID: 0} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 --- !u!114 &11419342 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 183852} m_Enabled: 1 m_EditorHideFlags: 0 @@ -162,43 +263,184 @@ MonoBehaviour: atime6: 64242 atime7: 64571 m_Mode: 0 + m_ColorSpace: -1 m_NumColorKeys: 4 m_NumAlphaKeys: 8 Name: Mouse Pressed Resolution: 256 ---- !u!114 &11446012 +--- !u!114 &114695260886518812 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 152322} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 183852} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -900027084, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Script: {fileID: 11500000, guid: 1a709300256ec1e4995018f4f91470aa, type: 3} m_Name: m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 0.541} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!114 &11446800 +--- !u!1 &185820 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22499528} + - component: {fileID: 223878911915740246} + - component: {fileID: 225715774982127120} + - component: {fileID: 1184886959503582199} + m_Layer: 0 + m_Name: Mouse Cursor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22499528 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 185820} + 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: 22497446} + - {fileID: 22471328} + - {fileID: 22498922} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 500, y: 300} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!223 &223878911915740246 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 185820} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 + m_AdditionalShaderChannelsFlag: 0 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!225 &225715774982127120 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 185820} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 0 + m_BlocksRaycasts: 0 + m_IgnoreParentGroups: 0 +--- !u!114 &1184886959503582199 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 183852} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 185820} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -98529514, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Script: {fileID: 11500000, guid: afec9b86123e411cb408f2b88c052dd1, type: 3} + m_Name: + m_EditorClassIdentifier: + ShowPointerId: 1 + ShowFlags: 1 + Text: {fileID: 4666505957231463511} + DefaultCursor: {fileID: 114973988835986202} + PressedCursor: {fileID: 114695260886518812} + ShowButtons: 1 +--- !u!1 &189110 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22497446} + - component: {fileID: 22249184} + - component: {fileID: 11453278} + - component: {fileID: 11448672} + - component: {fileID: 114973988835986202} + m_Layer: 0 + m_Name: Default + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22497446 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 189110} + 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: 22499528} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22249184 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 189110} + m_CullTransparentMesh: 1 +--- !u!114 &11453278 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 189110} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} m_Name: m_EditorClassIdentifier: m_Material: {fileID: 2100000, guid: 10886028a78e7634d8d44ee11f7b1c08, type: 2} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null m_Texture: {fileID: 0} m_UVRect: serializedVersion: 2 @@ -208,9 +450,10 @@ MonoBehaviour: height: 1 --- !u!114 &11448672 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 189110} m_Enabled: 0 m_EditorHideFlags: 0 @@ -244,190 +487,20 @@ MonoBehaviour: atime6: 64571 atime7: 64571 m_Mode: 0 + m_ColorSpace: -1 m_NumColorKeys: 3 m_NumAlphaKeys: 5 Name: Mouse Default Resolution: 256 ---- !u!114 &11453278 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 189110} - m_Enabled: 0 - m_EditorHideFlags: 0 - m_Script: {fileID: -98529514, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 2100000, guid: 10886028a78e7634d8d44ee11f7b1c08, type: 2} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 0 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Texture: {fileID: 0} - m_UVRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 ---- !u!222 &22246154 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 183852} ---- !u!222 &22249184 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 189110} ---- !u!222 &22253470 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 152322} ---- !u!224 &22471328 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 183852} - 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: 22499528} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &22497446 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 189110} - 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: 22499528} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &22498922 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 152322} - 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: 22499528} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 1, y: 0.5} - m_AnchorMax: {x: 1, y: 0.5} - m_AnchoredPosition: {x: 3, y: 0} - m_SizeDelta: {x: 100, y: 64} - m_Pivot: {x: 0, y: 0.5} ---- !u!224 &22499528 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 185820} - 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: - - {fileID: 22497446} - - {fileID: 22471328} - - {fileID: 22498922} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 500, y: 300} - m_SizeDelta: {x: 64, y: 64} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!1001 &100100000 -Prefab: - m_ObjectHideFlags: 1 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: [] - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 0} - m_RootGameObject: {fileID: 185820} - m_IsPrefabParent: 1 ---- !u!114 &114695260886518812 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 183852} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1a709300256ec1e4995018f4f91470aa, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!114 &114973988835986202 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 189110} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 1a709300256ec1e4995018f4f91470aa, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!223 &223878911915740246 -Canvas: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 185820} - m_Enabled: 1 - serializedVersion: 3 - m_RenderMode: 0 - m_Camera: {fileID: 0} - m_PlaneDistance: 100 - m_PixelPerfect: 0 - m_ReceivesEvents: 1 - m_OverrideSorting: 0 - m_OverridePixelPerfect: 0 - m_SortingBucketNormalizedSize: 0 - m_AdditionalShaderChannelsFlag: 0 - m_SortingLayerID: 0 - m_SortingOrder: 0 - m_TargetDisplay: 0 ---- !u!225 &225715774982127120 -CanvasGroup: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 185820} - m_Enabled: 1 - m_Alpha: 1 - m_Interactable: 0 - m_BlocksRaycasts: 0 - m_IgnoreParentGroups: 0 diff --git a/Prefabs/Cursors/Object Cursor.prefab b/Prefabs/Cursors/Object Cursor.prefab index 1033eb43..220e1a0d 100644 --- a/Prefabs/Cursors/Object Cursor.prefab +++ b/Prefabs/Cursors/Object Cursor.prefab @@ -31,7 +31,6 @@ RectTransform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 22471328} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} @@ -87,7 +86,7 @@ GameObject: - component: {fileID: 22471328} - component: {fileID: 223813922742015622} - component: {fileID: 225429637618999960} - - component: {fileID: 2200878061344359703} + - component: {fileID: 8778380845540723058} m_Layer: 0 m_Name: Object Cursor m_TagString: Untagged @@ -110,12 +109,11 @@ RectTransform: - {fileID: 22436736} - {fileID: 3405323766304108294} m_Father: {fileID: 0} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 500, y: 100} - m_SizeDelta: {x: 64, y: 64} + m_SizeDelta: {x: 100, y: 100} m_Pivot: {x: 0.5, y: 0.5} --- !u!223 &223813922742015622 Canvas: @@ -134,7 +132,9 @@ Canvas: m_OverrideSorting: 0 m_OverridePixelPerfect: 0 m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 m_AdditionalShaderChannelsFlag: 25 + m_UpdateRectTransformForStandalone: 0 m_SortingLayerID: 0 m_SortingOrder: 0 m_TargetDisplay: 0 @@ -150,7 +150,7 @@ CanvasGroup: m_Interactable: 0 m_BlocksRaycasts: 0 m_IgnoreParentGroups: 0 ---- !u!114 &2200878061344359703 +--- !u!114 &8778380845540723058 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -159,7 +159,7 @@ MonoBehaviour: m_GameObject: {fileID: 183852} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 278a3da2a34252e45bd08b6726d68e87, type: 3} + m_Script: {fileID: 11500000, guid: 0da990e406784b1a8fdd687c97ec00e6, type: 3} m_Name: m_EditorClassIdentifier: ShowPointerId: 1 @@ -198,11 +198,10 @@ RectTransform: m_Children: - {fileID: 5414880619752347033} m_Father: {fileID: 22471328} - m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 200, y: 0} + m_AnchoredPosition: {x: 1, y: 0} m_SizeDelta: {x: 300, y: 100} m_Pivot: {x: 0, y: 1} --- !u!1 &5439853715522710970 @@ -236,7 +235,6 @@ RectTransform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 3405323766304108294} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} diff --git a/Prefabs/Cursors/Pen Cursor.prefab b/Prefabs/Cursors/Pen Cursor.prefab index c7727104..1259b95c 100644 --- a/Prefabs/Cursors/Pen Cursor.prefab +++ b/Prefabs/Cursors/Pen Cursor.prefab @@ -3,32 +3,165 @@ --- !u!1 &108352 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 22483962} - component: {fileID: 22239818} - - component: {fileID: 11439998} - component: {fileID: 11426034} + - component: {fileID: 5233905799009065008} m_Layer: 0 m_Name: Text m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 +--- !u!224 &22483962 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108352} + 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: 22480400} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 3, y: 0.00000071525574} + m_SizeDelta: {x: 100, y: 64} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &22239818 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108352} + m_CullTransparentMesh: 1 +--- !u!114 &11426034 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108352} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e19747de3f5aca642ab2be37e372fb86, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 0.541} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!114 &5233905799009065008 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 108352} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + 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: + m_Calls: [] + m_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 0.99607843, g: 0.9254902, b: 0, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 12 + m_fontSizeBase: 12 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 0 + m_fontSizeMax: 0 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 3 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 1 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!1 &118164 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 22480400} - - component: {fileID: 11486812} - component: {fileID: 223912096970254378} - component: {fileID: 225894359780410702} + - component: {fileID: 2701609412474633849} m_Layer: 0 m_Name: Pen Cursor m_TagString: Untagged @@ -36,12 +169,90 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!224 &22480400 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 118164} + 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: 22479482} + - {fileID: 22408358} + - {fileID: 22483962} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 500, y: 400} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!223 &223912096970254378 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 118164} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 + m_AdditionalShaderChannelsFlag: 0 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!225 &225894359780410702 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 118164} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 0 + m_BlocksRaycasts: 0 + m_IgnoreParentGroups: 0 +--- !u!114 &2701609412474633849 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 118164} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: acfc5b576d7a4a62b261ab1987c08111, type: 3} + m_Name: + m_EditorClassIdentifier: + ShowPointerId: 1 + ShowFlags: 1 + Text: {fileID: 5233905799009065008} + DefaultCursor: {fileID: 114485558856495662} + PressedCursor: {fileID: 114380379277784028} + ShowButtons: 1 + ShowPressure: 1 + ShowRotation: 1 --- !u!1 &133736 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 22479482} - component: {fileID: 22231526} @@ -55,159 +266,53 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &167092 -GameObject: +--- !u!224 &22479482 +RectTransform: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 22408358} - - component: {fileID: 22255864} - - component: {fileID: 11426810} - - component: {fileID: 11438738} - - component: {fileID: 114380379277784028} - m_Layer: 0 - m_Name: Pressed - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &11426034 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 108352} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -900027084, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 0.541} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!114 &11426810 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 167092} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -98529514, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 2100000, guid: 10886028a78e7634d8d44ee11f7b1c08, type: 2} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 0 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Texture: {fileID: 0} - m_UVRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 ---- !u!114 &11438738 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 167092} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d78b78253cc71a64ca6bf0978d7ac99e, type: 3} - m_Name: - m_EditorClassIdentifier: - Gradient: - serializedVersion: 2 - key0: {r: 0, g: 0, b: 0, a: 0} - key1: {r: 0.99607843, g: 0.9254902, b: 0, a: 0.23529412} - key2: {r: 0.99607843, g: 0.9254902, b: 0, a: 0.23529412} - key3: {r: 0, g: 0, b: 0, a: 1} - key4: {r: 0, g: 0, b: 0, a: 1} - key5: {r: 0, g: 0, b: 0, a: 0.23529412} - key6: {r: 0, g: 0, b: 0, a: 0.25490198} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 31905 - ctime1: 33371 - ctime2: 44754 - ctime3: 46306 - ctime4: 45875 - ctime5: 59068 - ctime6: 0 - ctime7: 0 - atime0: 17591 - atime1: 18712 - atime2: 25007 - atime3: 26042 - atime4: 55791 - atime5: 56826 - atime6: 64242 - atime7: 64571 - m_Mode: 0 - m_NumColorKeys: 4 - m_NumAlphaKeys: 8 - Name: Pen Pressed - Resolution: 256 ---- !u!114 &11439998 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 108352} - m_Enabled: 0 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0.99607843, g: 0.9254902, b: 0, a: 1} - m_RaycastTarget: 0 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 12 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 3 - m_AlignByGeometry: 0 - m_RichText: 0 - m_HorizontalOverflow: 1 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133736} + 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: 22480400} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22231526 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133736} + m_CullTransparentMesh: 1 --- !u!114 &11469244 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 133736} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -98529514, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} m_Name: m_EditorClassIdentifier: m_Material: {fileID: 2100000, guid: 10886028a78e7634d8d44ee11f7b1c08, type: 2} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null m_Texture: {fileID: 0} m_UVRect: serializedVersion: 2 @@ -217,9 +322,10 @@ MonoBehaviour: height: 1 --- !u!114 &11473414 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 133736} m_Enabled: 1 m_EditorHideFlags: 0 @@ -253,183 +359,150 @@ MonoBehaviour: atime6: 64571 atime7: 64571 m_Mode: 0 + m_ColorSpace: -1 m_NumColorKeys: 3 m_NumAlphaKeys: 5 Name: Pen Default Resolution: 256 ---- !u!114 &11486812 +--- !u!114 &114485558856495662 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 118164} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 133736} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 181d9c001cb470f44ac60c140a847605, type: 3} + m_Script: {fileID: 11500000, guid: 1a709300256ec1e4995018f4f91470aa, type: 3} m_Name: m_EditorClassIdentifier: - ShowPointerId: 0 - ShowFlags: 0 - Text: {fileID: 11439998} - DefaultCursor: {fileID: 114485558856495662} - PressedCursor: {fileID: 114380379277784028} - ShowButtons: 0 - ShowPressure: 0 - ShowRotation: 0 ---- !u!222 &22231526 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 133736} ---- !u!222 &22239818 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 108352} ---- !u!222 &22255864 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 167092} +--- !u!1 &167092 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22408358} + - component: {fileID: 22255864} + - component: {fileID: 11426810} + - component: {fileID: 11438738} + - component: {fileID: 114380379277784028} + m_Layer: 0 + m_Name: Pressed + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 --- !u!224 &22408358 RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 167092} 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: 22480400} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &22479482 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 133736} - 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: 22480400} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &22480400 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 118164} - 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: - - {fileID: 22479482} - - {fileID: 22408358} - - {fileID: 22483962} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 500, y: 400} - m_SizeDelta: {x: 64, y: 64} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &22483962 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 108352} - 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: 22480400} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 1, y: 0.5} - m_AnchorMax: {x: 1, y: 0.5} - m_AnchoredPosition: {x: 3, y: 0.00000071525574} - m_SizeDelta: {x: 100, y: 64} - m_Pivot: {x: 0, y: 0.5} ---- !u!1001 &100100000 -Prefab: - m_ObjectHideFlags: 1 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: [] - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 0} - m_RootGameObject: {fileID: 118164} - m_IsPrefabParent: 1 ---- !u!114 &114380379277784028 +--- !u!222 &22255864 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 167092} + m_CullTransparentMesh: 1 +--- !u!114 &11426810 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 167092} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1a709300256ec1e4995018f4f91470aa, type: 3} + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!114 &114485558856495662 + m_Material: {fileID: 2100000, guid: 10886028a78e7634d8d44ee11f7b1c08, type: 2} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Texture: {fileID: 0} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!114 &11438738 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 133736} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 167092} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1a709300256ec1e4995018f4f91470aa, type: 3} + m_Script: {fileID: 11500000, guid: d78b78253cc71a64ca6bf0978d7ac99e, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!223 &223912096970254378 -Canvas: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 118164} - m_Enabled: 1 - serializedVersion: 3 - m_RenderMode: 0 - m_Camera: {fileID: 0} - m_PlaneDistance: 100 - m_PixelPerfect: 0 - m_ReceivesEvents: 1 - m_OverrideSorting: 0 - m_OverridePixelPerfect: 0 - m_SortingBucketNormalizedSize: 0 - m_AdditionalShaderChannelsFlag: 0 - m_SortingLayerID: 0 - m_SortingOrder: 0 - m_TargetDisplay: 0 ---- !u!225 &225894359780410702 -CanvasGroup: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 118164} + Gradient: + serializedVersion: 2 + key0: {r: 0, g: 0, b: 0, a: 0} + key1: {r: 0.99607843, g: 0.9254902, b: 0, a: 0.23529412} + key2: {r: 0.99607843, g: 0.9254902, b: 0, a: 0.23529412} + key3: {r: 0, g: 0, b: 0, a: 1} + key4: {r: 0, g: 0, b: 0, a: 1} + key5: {r: 0, g: 0, b: 0, a: 0.23529412} + key6: {r: 0, g: 0, b: 0, a: 0.25490198} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 31905 + ctime1: 33371 + ctime2: 44754 + ctime3: 46306 + ctime4: 45875 + ctime5: 59068 + ctime6: 0 + ctime7: 0 + atime0: 17591 + atime1: 18712 + atime2: 25007 + atime3: 26042 + atime4: 55791 + atime5: 56826 + atime6: 64242 + atime7: 64571 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 4 + m_NumAlphaKeys: 8 + Name: Pen Pressed + Resolution: 256 +--- !u!114 &114380379277784028 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 167092} m_Enabled: 1 - m_Alpha: 1 - m_Interactable: 0 - m_BlocksRaycasts: 0 - m_IgnoreParentGroups: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1a709300256ec1e4995018f4f91470aa, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Prefabs/Cursors/Touch Cursor.prefab b/Prefabs/Cursors/Touch Cursor.prefab index 3d6ffbbe..d2f73d27 100644 --- a/Prefabs/Cursors/Touch Cursor.prefab +++ b/Prefabs/Cursors/Touch Cursor.prefab @@ -3,27 +3,160 @@ --- !u!1 &152322 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 22498922} - component: {fileID: 22253470} - - component: {fileID: 11415522} - component: {fileID: 11446012} + - component: {fileID: 4124943631089002351} m_Layer: 0 m_Name: Text m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 +--- !u!224 &22498922 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 152322} + 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: 22499528} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 3, y: 0.00000035762787} + m_SizeDelta: {x: 100, y: 64} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &22253470 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 152322} + m_CullTransparentMesh: 1 +--- !u!114 &11446012 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 152322} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e19747de3f5aca642ab2be37e372fb86, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 0.541} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!114 &4124943631089002351 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 152322} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + 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: + m_Calls: [] + m_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 0.003921569, g: 0.99607843, b: 0.99607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 12 + m_fontSizeBase: 12 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 0 + m_fontSizeMax: 0 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 3 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 1 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!1 &183852 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 22471328} - component: {fileID: 22246154} @@ -36,62 +169,66 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &185820 -GameObject: +--- !u!224 &22471328 +RectTransform: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 22499528} - - component: {fileID: 11435582} - - component: {fileID: 223147991810450650} - - component: {fileID: 225477107791102178} - m_Layer: 0 - m_Name: Touch Cursor - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &11415522 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 183852} + 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: 22499528} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &22246154 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 183852} + m_CullTransparentMesh: 1 +--- !u!114 &11490436 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 152322} - m_Enabled: 0 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 183852} + m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} m_Name: m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0.003921569, g: 0.9960785, b: 0.9960785, a: 1} + m_Material: {fileID: 2100000, guid: 10886028a78e7634d8d44ee11f7b1c08, type: 2} + m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 12 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 3 - m_AlignByGeometry: 0 - m_RichText: 0 - m_HorizontalOverflow: 1 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: + m_Texture: {fileID: 0} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 --- !u!114 &11433328 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 183852} m_Enabled: 1 m_EditorHideFlags: 0 @@ -125,150 +262,57 @@ MonoBehaviour: atime6: 64242 atime7: 64571 m_Mode: 0 + m_ColorSpace: -1 m_NumColorKeys: 4 m_NumAlphaKeys: 8 Name: Touch Pressed Resolution: 256 ---- !u!114 &11435582 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 185820} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d3a5cfcc9939fb340b2c3ed29a3d0b5d, type: 3} - m_Name: - m_EditorClassIdentifier: - ShowPointerId: 0 - ShowFlags: 0 - Text: {fileID: 11415522} - ShowPressure: 0 - ShowRotation: 0 ---- !u!114 &11446012 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 152322} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -900027084, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 0.541} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!114 &11490436 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 183852} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -98529514, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 2100000, guid: 10886028a78e7634d8d44ee11f7b1c08, type: 2} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 0 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Texture: {fileID: 0} - m_UVRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 ---- !u!222 &22246154 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 183852} ---- !u!222 &22253470 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 152322} ---- !u!224 &22471328 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 183852} - 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: 22499528} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &22498922 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 152322} - 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: 22499528} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 1, y: 0.5} - m_AnchorMax: {x: 1, y: 0.5} - m_AnchoredPosition: {x: 3, y: 0.00000035762787} - m_SizeDelta: {x: 100, y: 64} - m_Pivot: {x: 0, y: 0.5} +--- !u!1 &185820 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22499528} + - component: {fileID: 223147991810450650} + - component: {fileID: 225477107791102178} + - component: {fileID: 7447916932701394932} + m_Layer: 0 + m_Name: Touch Cursor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 --- !u!224 &22499528 RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 185820} 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: 22471328} - {fileID: 22498922} m_Father: {fileID: 0} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 500, y: 200} m_SizeDelta: {x: 64, y: 64} m_Pivot: {x: 0.5, y: 0.5} ---- !u!1001 &100100000 -Prefab: - m_ObjectHideFlags: 1 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: [] - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 0} - m_RootGameObject: {fileID: 185820} - m_IsPrefabParent: 1 --- !u!223 &223147991810450650 Canvas: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 185820} m_Enabled: 1 serializedVersion: 3 @@ -280,18 +324,38 @@ Canvas: m_OverrideSorting: 0 m_OverridePixelPerfect: 0 m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 m_AdditionalShaderChannelsFlag: 0 + m_UpdateRectTransformForStandalone: 0 m_SortingLayerID: 0 m_SortingOrder: 0 m_TargetDisplay: 0 --- !u!225 &225477107791102178 CanvasGroup: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 185820} m_Enabled: 1 m_Alpha: 1 m_Interactable: 0 m_BlocksRaycasts: 0 m_IgnoreParentGroups: 0 +--- !u!114 &7447916932701394932 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 185820} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9390f43cd542400fa2040f2063b8d864, type: 3} + m_Name: + m_EditorClassIdentifier: + ShowPointerId: 1 + ShowFlags: 1 + Text: {fileID: 4124943631089002351} + ShowPressure: 1 + ShowRotation: 1 From 3089e893b34a2ef03e8fbcdb9a3a92c1f8726372 Mon Sep 17 00:00:00 2001 From: Erich Querner Date: Mon, 30 Sep 2024 14:10:22 +0200 Subject: [PATCH 6/7] remove special token scripts. this can and should be done individually via the touchmanager --- Runtime/Behaviors/Tokens.meta | 3 - Runtime/Behaviors/Tokens/TokenEventChannel.cs | 29 ----- .../Tokens/TokenEventChannel.cs.meta | 3 - Runtime/Behaviors/Tokens/TokenManager.cs | 115 ------------------ Runtime/Behaviors/Tokens/TokenManager.cs.meta | 3 - Runtime/Behaviors/Tokens/TokenTransform.cs | 44 ------- .../Behaviors/Tokens/TokenTransform.cs.meta | 3 - 7 files changed, 200 deletions(-) delete mode 100644 Runtime/Behaviors/Tokens.meta delete mode 100644 Runtime/Behaviors/Tokens/TokenEventChannel.cs delete mode 100644 Runtime/Behaviors/Tokens/TokenEventChannel.cs.meta delete mode 100644 Runtime/Behaviors/Tokens/TokenManager.cs delete mode 100644 Runtime/Behaviors/Tokens/TokenManager.cs.meta delete mode 100644 Runtime/Behaviors/Tokens/TokenTransform.cs delete mode 100644 Runtime/Behaviors/Tokens/TokenTransform.cs.meta diff --git a/Runtime/Behaviors/Tokens.meta b/Runtime/Behaviors/Tokens.meta deleted file mode 100644 index 41c5c46c..00000000 --- a/Runtime/Behaviors/Tokens.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 214b8b8b9e43450092df5a6781e36304 -timeCreated: 1694420787 \ No newline at end of file diff --git a/Runtime/Behaviors/Tokens/TokenEventChannel.cs b/Runtime/Behaviors/Tokens/TokenEventChannel.cs deleted file mode 100644 index fd6c27fc..00000000 --- a/Runtime/Behaviors/Tokens/TokenEventChannel.cs +++ /dev/null @@ -1,29 +0,0 @@ -using System; -using TouchScript.Pointers; -using UnityEngine; - -namespace TouchScript.Behaviors.Tokens -{ - [CreateAssetMenu(fileName = "Token Event Channel", menuName = "TouchScript/Event Channel/New Token Event Channel", order = 0)] - public class TokenEventChannel : ScriptableObject - { - public event Action OnTokenAdded; - public event Action OnTokenUpdated; - public event Action OnTokenRemoved; - - public void RaiseAdded(ObjectPointer pointer) - { - OnTokenAdded?.Invoke(pointer); - } - - public void RaiseUpdated(ObjectPointer pointer) - { - OnTokenUpdated?.Invoke(pointer); - } - - public void RaiseRemoved(ObjectPointer pointer) - { - OnTokenRemoved?.Invoke(pointer); - } - } -} \ No newline at end of file diff --git a/Runtime/Behaviors/Tokens/TokenEventChannel.cs.meta b/Runtime/Behaviors/Tokens/TokenEventChannel.cs.meta deleted file mode 100644 index 9b769b74..00000000 --- a/Runtime/Behaviors/Tokens/TokenEventChannel.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 4bf728ed7a74408e85a7db21223ab25e -timeCreated: 1694766435 \ No newline at end of file diff --git a/Runtime/Behaviors/Tokens/TokenManager.cs b/Runtime/Behaviors/Tokens/TokenManager.cs deleted file mode 100644 index 03ac7e65..00000000 --- a/Runtime/Behaviors/Tokens/TokenManager.cs +++ /dev/null @@ -1,115 +0,0 @@ -using System.Collections.Generic; -using TouchScript.Pointers; -using UnityEngine; -using UnityEngine.Profiling; - -namespace TouchScript.Behaviors.Tokens -{ - public class TokenManager : MonoBehaviour - { - [SerializeField] private TokenTransform _prefab; - [SerializeField] private TokenEventChannel _tokenEventChannel; - [field:SerializeField] public int[] AllowedIds { get; set; } - - private readonly Dictionary _tokens = new (); - private CustomSampler _tokenSampler; - - private void Awake() - { - _tokenSampler = CustomSampler.Create("[TouchScript] Token Manager"); - } - - private void Start() - { - SpawnTokens(); - } - - private void SpawnTokens() - { - foreach (var id in AllowedIds) - { - var token = Instantiate(_prefab, transform); - token.Init(id); - _tokens[id] = token; - token.gameObject.SetActive(false); - } - } - - private void OnEnable() - { - var touchManager = TouchManager.Instance; - if (touchManager == null) return; - touchManager.PointersAdded += OnPointerAdded; - touchManager.PointersUpdated += OnPointerUpdated; - touchManager.PointersRemoved += OnPointerRemoved; - } - - private void OnDisable() - { - var touchManager = TouchManager.Instance; - if (touchManager == null) return; - touchManager.PointersAdded -= OnPointerAdded; - touchManager.PointersUpdated -= OnPointerUpdated; - touchManager.PointersRemoved -= OnPointerRemoved; - } - private void OnPointerAdded(object sender, PointerEventArgs e) - { - _tokenSampler.Begin(); - var count = e.Pointers.Count; - for (var i = 0; i < count; i++) - { - var pointer = e.Pointers[i]; - if((pointer.Flags & Pointer.FLAG_INTERNAL) > 0) continue; - if(pointer is not ObjectPointer tokenPointer) continue; - _tokenEventChannel.RaiseAdded(tokenPointer); - ShowToken(tokenPointer); - - } - _tokenSampler.End(); - } - - private void ShowToken(ObjectPointer pointer) - { - if (_tokens.TryGetValue(pointer.ObjectId, out var token)) - { - token.gameObject.SetActive(true); - token.UpdatePointer(pointer); - } - } - - private void OnPointerUpdated(object sender, PointerEventArgs e) - { - _tokenSampler.Begin(); - var count = e.Pointers.Count; - for (var i = 0; i < count; i++) - { - var pointer = e.Pointers[i]; - if(pointer is not ObjectPointer tokenPointer) continue; - _tokenEventChannel.RaiseUpdated(tokenPointer); - } - _tokenSampler.End(); - } - - private void OnPointerRemoved(object sender, PointerEventArgs e) - { - _tokenSampler.Begin(); - var count = e.Pointers.Count; - for (var i = 0; i < count; i++) - { - var pointer = e.Pointers[i]; - if(pointer is not ObjectPointer tokenPointer) continue; - _tokenEventChannel.RaiseRemoved(tokenPointer); - HideToken(tokenPointer); - } - _tokenSampler.End(); - } - - private void HideToken(ObjectPointer pointer) - { - if (_tokens.TryGetValue(pointer.ObjectId, out var token)) - { - token.gameObject.SetActive(false); - } - } - } -} \ No newline at end of file diff --git a/Runtime/Behaviors/Tokens/TokenManager.cs.meta b/Runtime/Behaviors/Tokens/TokenManager.cs.meta deleted file mode 100644 index 683c9d68..00000000 --- a/Runtime/Behaviors/Tokens/TokenManager.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 17fb45211e374d508a7bff3d8cfa1cf1 -timeCreated: 1694421496 \ No newline at end of file diff --git a/Runtime/Behaviors/Tokens/TokenTransform.cs b/Runtime/Behaviors/Tokens/TokenTransform.cs deleted file mode 100644 index 197fbd53..00000000 --- a/Runtime/Behaviors/Tokens/TokenTransform.cs +++ /dev/null @@ -1,44 +0,0 @@ -using System; -using TouchScript.Behaviors.Cursors; -using TouchScript.Pointers; -using UnityEngine; - -namespace TouchScript.Behaviors.Tokens -{ - public class TokenTransform : PointerCursor - { - [SerializeField] private TokenEventChannel _tokenEventChannel; - public int Id { get; private set; } - - public void Init(int id) - { - Id = id; - gameObject.name = $"Token {Id}"; - } - - private void OnEnable() - { - _tokenEventChannel.OnTokenUpdated += UpdateToken; - } - - private void OnDisable() - { - _tokenEventChannel.OnTokenUpdated -= UpdateToken; - } - - private void UpdateToken(ObjectPointer pointer) - { - if (pointer.ObjectId != Id) return; - UpdatePointer(pointer); - } - - protected override void UpdatePointerInternal(IPointer pointer) - { - base.UpdatePointerInternal(pointer); - if (pointer is not ObjectPointer objectPointer) return; - var angle = objectPointer.Angle * Mathf.Rad2Deg; - var rotation = Quaternion.AngleAxis(angle, Vector3.back); - Rect.rotation = rotation; - } - } -} \ No newline at end of file diff --git a/Runtime/Behaviors/Tokens/TokenTransform.cs.meta b/Runtime/Behaviors/Tokens/TokenTransform.cs.meta deleted file mode 100644 index cf822f7f..00000000 --- a/Runtime/Behaviors/Tokens/TokenTransform.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: f5a0d07d40634e94bcb413c0152ee8f1 -timeCreated: 1694420984 \ No newline at end of file From 33c408089c1dc90576079b8cb35cfbe3ca725af7 Mon Sep 17 00:00:00 2001 From: Erich Querner Date: Mon, 30 Sep 2024 14:24:52 +0200 Subject: [PATCH 7/7] increase version number --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9ac113b9..94f8b699 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "com.interactive-scape.touchscript", - "version": "10.0.0", + "version": "10.1.0", "displayName": "TouchScript", "description": "Multi touch library for Unity", "unity": "2021.3",