aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Assets/Scripts/Controllers/Player/PlayerSegment.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Assets/Scripts/Controllers/Player/PlayerSegment.cs')
-rw-r--r--Assets/Scripts/Controllers/Player/PlayerSegment.cs28
1 files changed, 28 insertions, 0 deletions
diff --git a/Assets/Scripts/Controllers/Player/PlayerSegment.cs b/Assets/Scripts/Controllers/Player/PlayerSegment.cs
new file mode 100644
index 0000000..6306201
--- /dev/null
+++ b/Assets/Scripts/Controllers/Player/PlayerSegment.cs
@@ -0,0 +1,28 @@
+using System;
+using UnityEngine;
+
+namespace Controllers.Player
+{
+ [RequireComponent(typeof(Rigidbody2D))]
+ [RequireComponent(typeof(SpriteRenderer))]
+ public class PlayerSegment : MonoBehaviour
+ {
+ [SerializeField] public Control left;
+ [SerializeField] public Control right;
+
+ [SerializeField] public Vector3 forceOrigin;
+
+ public Rigidbody2D Rigidbody => _rigidbody != null ? _rigidbody : _rigidbody = GetComponent<Rigidbody2D>();
+ private Rigidbody2D _rigidbody;
+
+ public SpriteRenderer Sprite => _sprite != null ? _sprite : _sprite = GetComponent<SpriteRenderer>();
+ private SpriteRenderer _sprite;
+ }
+
+ [Serializable]
+ public struct Control
+ {
+ public KeyCode keyCode;
+ public GameObject icon;
+ }
+}