diff options
| author | Andrew Lee <alee14498@protonmail.com> | 2020-08-20 23:40:50 -0400 |
|---|---|---|
| committer | Andrew Lee <alee14498@protonmail.com> | 2020-08-20 23:40:50 -0400 |
| commit | 3af4c218c0e70167db23a6303d2af30aff37d2fe (patch) | |
| tree | 927f29edcf54ab562f40f3d1c6cb69287c7f5980 /Assets/Thirdparty/Joystick Pack/Scripts/Joysticks | |
| parent | b6daed0af784f4e9bc13329dd87c671b06ee1c65 (diff) | |
| download | Project-Sandbox-3af4c218c0e70167db23a6303d2af30aff37d2fe.tar.gz Project-Sandbox-3af4c218c0e70167db23a6303d2af30aff37d2fe.tar.bz2 Project-Sandbox-3af4c218c0e70167db23a6303d2af30aff37d2fe.zip | |
Removed a bunch of stuff; Changes
Diffstat (limited to 'Assets/Thirdparty/Joystick Pack/Scripts/Joysticks')
8 files changed, 182 insertions, 0 deletions
diff --git a/Assets/Thirdparty/Joystick Pack/Scripts/Joysticks/DynamicJoystick.cs b/Assets/Thirdparty/Joystick Pack/Scripts/Joysticks/DynamicJoystick.cs new file mode 100644 index 0000000..4224550 --- /dev/null +++ b/Assets/Thirdparty/Joystick Pack/Scripts/Joysticks/DynamicJoystick.cs @@ -0,0 +1,41 @@ +using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.EventSystems;
+
+public class DynamicJoystick : Joystick
+{
+ public float MoveThreshold { get { return moveThreshold; } set { moveThreshold = Mathf.Abs(value); } }
+
+ [SerializeField] private float moveThreshold = 1;
+
+ protected override void Start()
+ {
+ MoveThreshold = moveThreshold;
+ base.Start();
+ background.gameObject.SetActive(false);
+ }
+
+ public override void OnPointerDown(PointerEventData eventData)
+ {
+ background.anchoredPosition = ScreenPointToAnchoredPosition(eventData.position);
+ background.gameObject.SetActive(true);
+ base.OnPointerDown(eventData);
+ }
+
+ public override void OnPointerUp(PointerEventData eventData)
+ {
+ background.gameObject.SetActive(false);
+ base.OnPointerUp(eventData);
+ }
+
+ protected override void HandleInput(float magnitude, Vector2 normalised, Vector2 radius, Camera cam)
+ {
+ if (magnitude > moveThreshold)
+ {
+ Vector2 difference = normalised * (magnitude - moveThreshold) * radius;
+ background.anchoredPosition += difference;
+ }
+ base.HandleInput(magnitude, normalised, radius, cam);
+ }
+}
\ No newline at end of file diff --git a/Assets/Thirdparty/Joystick Pack/Scripts/Joysticks/DynamicJoystick.cs.meta b/Assets/Thirdparty/Joystick Pack/Scripts/Joysticks/DynamicJoystick.cs.meta new file mode 100644 index 0000000..a236f7c --- /dev/null +++ b/Assets/Thirdparty/Joystick Pack/Scripts/Joysticks/DynamicJoystick.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ba0d0e7a039f526499c356a3c5cd6d3f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Thirdparty/Joystick Pack/Scripts/Joysticks/FixedJoystick.cs b/Assets/Thirdparty/Joystick Pack/Scripts/Joysticks/FixedJoystick.cs new file mode 100644 index 0000000..34ffec0 --- /dev/null +++ b/Assets/Thirdparty/Joystick Pack/Scripts/Joysticks/FixedJoystick.cs @@ -0,0 +1,8 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class FixedJoystick : Joystick +{ + +}
\ No newline at end of file diff --git a/Assets/Thirdparty/Joystick Pack/Scripts/Joysticks/FixedJoystick.cs.meta b/Assets/Thirdparty/Joystick Pack/Scripts/Joysticks/FixedJoystick.cs.meta new file mode 100644 index 0000000..a5643e1 --- /dev/null +++ b/Assets/Thirdparty/Joystick Pack/Scripts/Joysticks/FixedJoystick.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 45977bbae16431c46a013576a1aea384 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Thirdparty/Joystick Pack/Scripts/Joysticks/FloatingJoystick.cs b/Assets/Thirdparty/Joystick Pack/Scripts/Joysticks/FloatingJoystick.cs new file mode 100644 index 0000000..95acaac --- /dev/null +++ b/Assets/Thirdparty/Joystick Pack/Scripts/Joysticks/FloatingJoystick.cs @@ -0,0 +1,26 @@ +using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.EventSystems;
+
+public class FloatingJoystick : Joystick
+{
+ protected override void Start()
+ {
+ base.Start();
+ background.gameObject.SetActive(false);
+ }
+
+ public override void OnPointerDown(PointerEventData eventData)
+ {
+ background.anchoredPosition = ScreenPointToAnchoredPosition(eventData.position);
+ background.gameObject.SetActive(true);
+ base.OnPointerDown(eventData);
+ }
+
+ public override void OnPointerUp(PointerEventData eventData)
+ {
+ background.gameObject.SetActive(false);
+ base.OnPointerUp(eventData);
+ }
+}
\ No newline at end of file diff --git a/Assets/Thirdparty/Joystick Pack/Scripts/Joysticks/FloatingJoystick.cs.meta b/Assets/Thirdparty/Joystick Pack/Scripts/Joysticks/FloatingJoystick.cs.meta new file mode 100644 index 0000000..9667e61 --- /dev/null +++ b/Assets/Thirdparty/Joystick Pack/Scripts/Joysticks/FloatingJoystick.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7a47f546fc70ec8428172694e78e4288 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Thirdparty/Joystick Pack/Scripts/Joysticks/VariableJoystick.cs b/Assets/Thirdparty/Joystick Pack/Scripts/Joysticks/VariableJoystick.cs new file mode 100644 index 0000000..17e98db --- /dev/null +++ b/Assets/Thirdparty/Joystick Pack/Scripts/Joysticks/VariableJoystick.cs @@ -0,0 +1,63 @@ +using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.EventSystems;
+
+public class VariableJoystick : Joystick
+{
+ public float MoveThreshold { get { return moveThreshold; } set { moveThreshold = Mathf.Abs(value); } }
+
+ [SerializeField] private float moveThreshold = 1;
+ [SerializeField] private JoystickType joystickType = JoystickType.Fixed;
+
+ private Vector2 fixedPosition = Vector2.zero;
+
+ public void SetMode(JoystickType joystickType)
+ {
+ this.joystickType = joystickType;
+ if(joystickType == JoystickType.Fixed)
+ {
+ background.anchoredPosition = fixedPosition;
+ background.gameObject.SetActive(true);
+ }
+ else
+ background.gameObject.SetActive(false);
+ }
+
+ protected override void Start()
+ {
+ base.Start();
+ fixedPosition = background.anchoredPosition;
+ SetMode(joystickType);
+ }
+
+ public override void OnPointerDown(PointerEventData eventData)
+ {
+ if(joystickType != JoystickType.Fixed)
+ {
+ background.anchoredPosition = ScreenPointToAnchoredPosition(eventData.position);
+ background.gameObject.SetActive(true);
+ }
+ base.OnPointerDown(eventData);
+ }
+
+ public override void OnPointerUp(PointerEventData eventData)
+ {
+ if(joystickType != JoystickType.Fixed)
+ background.gameObject.SetActive(false);
+
+ base.OnPointerUp(eventData);
+ }
+
+ protected override void HandleInput(float magnitude, Vector2 normalised, Vector2 radius, Camera cam)
+ {
+ if (joystickType == JoystickType.Dynamic && magnitude > moveThreshold)
+ {
+ Vector2 difference = normalised * (magnitude - moveThreshold) * radius;
+ background.anchoredPosition += difference;
+ }
+ base.HandleInput(magnitude, normalised, radius, cam);
+ }
+}
+
+public enum JoystickType { Fixed, Floating, Dynamic }
\ No newline at end of file diff --git a/Assets/Thirdparty/Joystick Pack/Scripts/Joysticks/VariableJoystick.cs.meta b/Assets/Thirdparty/Joystick Pack/Scripts/Joysticks/VariableJoystick.cs.meta new file mode 100644 index 0000000..81f40bf --- /dev/null +++ b/Assets/Thirdparty/Joystick Pack/Scripts/Joysticks/VariableJoystick.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 42844a4fccbd54746b90cade4ff70f73 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: |
