diff --git a/Assets/Scenes/MainGame.unity b/Assets/Scenes/MainGame.unity index e100435..c461638 100644 --- a/Assets/Scenes/MainGame.unity +++ b/Assets/Scenes/MainGame.unity @@ -38,7 +38,7 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 705507994} - m_IndirectSpecularColor: {r: 0.44657826, g: 0.49641263, b: 0.57481676, a: 1} + m_IndirectSpecularColor: {r: 0.18028334, g: 0.2257134, b: 0.30692226, a: 1} m_UseRadianceAmbientProbe: 0 --- !u!157 &3 LightmapSettings: @@ -8953,12 +8953,11 @@ MonoBehaviour: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1941989041} - m_Enabled: 1 + m_Enabled: 0 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: a3db9d02d190fcb46a9646c275a560e4, type: 3} m_Name: m_EditorClassIdentifier: - isDebug: 0 body: {fileID: 1941989043} constSpeed: 2 constRotation: 150 @@ -8999,6 +8998,74 @@ CapsuleCollider: m_Height: 1.4958494 m_Direction: 1 m_Center: {x: 0, y: 0.69886935, z: 0} +--- !u!114 &1941989046 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1941989041} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d6c86531c866cd5409820556c3fc2c4e, type: 3} + m_Name: + m_EditorClassIdentifier: + selectedMovement: 0 +--- !u!114 &1941989047 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1941989041} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 21b58e0dd1248034c871465fc721b43c, type: 3} + m_Name: + m_EditorClassIdentifier: + body: {fileID: 1941989043} +--- !u!114 &1941989048 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1941989041} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 32e5e814edc24cf41999243fa65b4488, type: 3} + m_Name: + m_EditorClassIdentifier: + body: {fileID: 1941989043} +--- !u!114 &1941989049 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1941989041} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1c56a27abb4b87b419b7fa61804fd6f8, type: 3} + m_Name: + m_EditorClassIdentifier: + body: {fileID: 1941989043} +--- !u!114 &1941989050 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1941989041} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e5d6c19446783f148a1933e20dd05b52, type: 3} + m_Name: + m_EditorClassIdentifier: + body: {fileID: 1941989043} + constSpeed: 2 + constRotation: 150 + constUpForce: 5 --- !u!65 &1946133526 BoxCollider: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/JoyCon/JoyConMovement.cs b/Assets/Scripts/JoyCon/JoyConMovement.cs index 0296488..cabfa6f 100644 --- a/Assets/Scripts/JoyCon/JoyConMovement.cs +++ b/Assets/Scripts/JoyCon/JoyConMovement.cs @@ -6,9 +6,6 @@ namespace JoyCon public class JoyConMovement : JoyConBehaviour { - [Header("DEBUG movement")] - public bool isDebug; - [Header("References")] [SerializeField] private Rigidbody body; @@ -26,65 +23,32 @@ namespace JoyCon protected override void Start() { - if(!isDebug) - { - base.Start(); - _gyroMagnitude = new HistoricalData(5); - _speed = 0; - } + base.Start(); + _gyroMagnitude = new HistoricalData(5); + _speed = 0; } private void Update() { - if(!isDebug) - { - Joycon j = JoyConManager.GetJoycon(JcLegInd); - _playerDirection = j.GetButton(Joycon.Button.SHOULDER_2) ? Vector3.back : Vector3.forward; - } + Joycon j = JoyConManager.GetJoycon(JcLegInd); + _playerDirection = j.GetButton(Joycon.Button.SHOULDER_2) ? Vector3.back : Vector3.forward; } private void FixedUpdate() { - if(!isDebug) - { - Joycon j = JoyConManager.GetJoycon(JcLegInd); - Joycon jArm = JoyConManager.GetJoycon(JcArmInd); + Joycon j = JoyConManager.GetJoycon(JcLegInd); + Joycon jArm = JoyConManager.GetJoycon(JcArmInd); - _gyroMagnitude.AddData(j.GetGyro().magnitude); + _gyroMagnitude.AddData(j.GetGyro().magnitude); - _speed = IsWalking() ? 4 : 0; + _speed = IsWalking() ? 4 : 0; - body.transform.Rotate(0, jArm.GetStick()[0] * constRotation * Time.fixedDeltaTime, 0); + body.transform.Rotate(0, jArm.GetStick()[0] * constRotation * Time.fixedDeltaTime, 0); - body.AddRelativeForce(_playerDirection * (_speed * _gyroMagnitude.Total * constSpeed)); - body.AddForce(Vector3.up * constUpForce); - } - -#if DEBUG - movement_wasd(); -#endif + body.AddRelativeForce(_playerDirection * (_speed * _gyroMagnitude.Total * constSpeed)); + body.AddForce(Vector3.up * constUpForce); } public bool IsWalking() => Mathf.Abs(_gyroMagnitude.Total) > 1; - - - private void movement_wasd() - { - float moveHorizontal = Input.GetAxis("Horizontal"); - float moveVertical = Input.GetAxis("Vertical"); - transform.Rotate(0.0f, moveHorizontal * constSpeed * 2, 0.0f); - transform.Translate(0, 0, moveVertical * constSpeed / 20); - } - } - - - - public enum ChoiceOfMovement - { - wasd = 1, - teleport = 2, - joystick = 3, - joycon = 4, - omni = 5 } } diff --git a/Assets/Scripts/MovementGen.cs b/Assets/Scripts/MovementGen.cs index 86843e3..45637a7 100644 --- a/Assets/Scripts/MovementGen.cs +++ b/Assets/Scripts/MovementGen.cs @@ -4,31 +4,44 @@ using UnityEngine; public class MovementGen : MonoBehaviour { + private Dictionary components; + private ChoiceOfMovement currentMovement; - [Header("DEBUG movement")] - public bool isDebug; + [SerializeField] private ChoiceOfMovement selectedMovement; - [Header("References")] - [SerializeField] private Rigidbody body; - - [Header("Configuration")] - [SerializeField] private int constSpeed; - [SerializeField] private int constRotation; - [SerializeField] private int constUpForce; - - private int _speed; - - private Vector3 _gyroMagnitude; // Start is called before the first frame update void Start() { - + components = new Dictionary(); + components.Add(ChoiceOfMovement.wasd, this.GetComponent()); + components.Add(ChoiceOfMovement.teleport, this.GetComponent()); + components.Add(ChoiceOfMovement.joystick, this.GetComponent()); + components.Add(ChoiceOfMovement.joycon, this.GetComponent()); + components.Add(ChoiceOfMovement.omni, this.GetComponent()); + + selectedMovement = ChoiceOfMovement.wasd; + currentMovement = ChoiceOfMovement.wasd; + components[currentMovement].enabled = true; } // Update is called once per frame - void Update() + void FixedUpdate() { - + if(selectedMovement != currentMovement) + { + components[currentMovement].enabled = false; + components[selectedMovement].enabled = true; + currentMovement = selectedMovement; + } + } + + public enum ChoiceOfMovement + { + wasd = 0, + teleport = 1, + joystick = 2, + joycon = 3, + omni = 4 } } diff --git a/Assets/Scripts/Movements.meta b/Assets/Scripts/Movements.meta new file mode 100644 index 0000000..4863218 --- /dev/null +++ b/Assets/Scripts/Movements.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a86f3b2619818bc448825ebf9786c092 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Movements/JoystickMovement.cs b/Assets/Scripts/Movements/JoystickMovement.cs new file mode 100644 index 0000000..601c530 --- /dev/null +++ b/Assets/Scripts/Movements/JoystickMovement.cs @@ -0,0 +1,21 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class JoystickMovement : MonoBehaviour +{ + [Header("References")] + [SerializeField] private Rigidbody body; + + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } +} diff --git a/Assets/Scripts/Movements/JoystickMovement.cs.meta b/Assets/Scripts/Movements/JoystickMovement.cs.meta new file mode 100644 index 0000000..880aeb0 --- /dev/null +++ b/Assets/Scripts/Movements/JoystickMovement.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1c56a27abb4b87b419b7fa61804fd6f8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Movements/OmniMovement.cs b/Assets/Scripts/Movements/OmniMovement.cs new file mode 100644 index 0000000..7150f7b --- /dev/null +++ b/Assets/Scripts/Movements/OmniMovement.cs @@ -0,0 +1,21 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class OmniMovement : MonoBehaviour +{ + [Header("References")] + [SerializeField] private Rigidbody body; + + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } +} diff --git a/Assets/Scripts/Movements/OmniMovement.cs.meta b/Assets/Scripts/Movements/OmniMovement.cs.meta new file mode 100644 index 0000000..994ce5e --- /dev/null +++ b/Assets/Scripts/Movements/OmniMovement.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 32e5e814edc24cf41999243fa65b4488 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Movements/TeleportMovement.cs b/Assets/Scripts/Movements/TeleportMovement.cs new file mode 100644 index 0000000..1187ab2 --- /dev/null +++ b/Assets/Scripts/Movements/TeleportMovement.cs @@ -0,0 +1,21 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class TeleportMovement : MonoBehaviour +{ + [Header("References")] + [SerializeField] private Rigidbody body; + + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } +} diff --git a/Assets/Scripts/Movements/TeleportMovement.cs.meta b/Assets/Scripts/Movements/TeleportMovement.cs.meta new file mode 100644 index 0000000..f4f88a5 --- /dev/null +++ b/Assets/Scripts/Movements/TeleportMovement.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 21b58e0dd1248034c871465fc721b43c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Movements/WasdMovement.cs b/Assets/Scripts/Movements/WasdMovement.cs new file mode 100644 index 0000000..0aa1c46 --- /dev/null +++ b/Assets/Scripts/Movements/WasdMovement.cs @@ -0,0 +1,29 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class WasdMovement : MonoBehaviour +{ + [Header("References")] + [SerializeField] private Rigidbody body; + + [Header("Configuration")] + [SerializeField] private int constSpeed; + [SerializeField] private int constRotation; + [SerializeField] private int constUpForce; + + // Start is called before the first frame update + private void Start() + { + + } + + // Update is called once per frame + private void FixedUpdate() + { + float moveHorizontal = Input.GetAxis("Horizontal"); + float moveVertical = Input.GetAxis("Vertical"); + transform.Rotate(0.0f, moveHorizontal * constSpeed * 2, 0.0f); + transform.Translate(0, 0, moveVertical * constSpeed / 20); + } +} diff --git a/Assets/Scripts/Movements/WasdMovement.cs.meta b/Assets/Scripts/Movements/WasdMovement.cs.meta new file mode 100644 index 0000000..e957574 --- /dev/null +++ b/Assets/Scripts/Movements/WasdMovement.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e5d6c19446783f148a1933e20dd05b52 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: