using System; using System.Collections.Generic; using UnityEngine; public static class scr_Models { #region -- Player public enum PlayerStance { Stand, Crouch } // a class containing various settings for the player [Serializable] // so it can be viewed in Unity's "Inspector" public class PlayerSettingsModel { [Header("View Settings")] [Tooltip("The sensitivity for looking left and right.")] public float ViewXSensitivity; [Tooltip("The sensitivity for looking up and down.")] public float ViewYSensitivity; [Tooltip("Invert left and right viewing?")] public bool ViewXInverted; [Tooltip("Invert up and down viewing?")] public bool ViewYInverted; [Header("Movement Settings")] public float WalkingForwardSpeed; public float WalkingBackwardSpeed; public float WalkingStrafeSpeed; [Tooltip("NEEDS WORK")] [ReadOnly] public Vector3 CurrentMovementSpeed; [Tooltip("Smoothing that occurs to your movement when you are grounded.")] public float MovementSmoothing; // smoothing that occurs to your movement when you are grounded [Header("Jumping Settings")] public float JumpingHeight; // how high you jump public float JumpingFalloff; // how long it takes for us to reach our peak and then start falling down public float FallingSmoothing; // smoothing that occurs to your movement when you aren't grounded [Header("Speed Effectors")] [Tooltip("The speed effector used for basic movement.")] [ReadOnly] public float SpeedEffector = 1; // the speed effector used for basic movement [Tooltip("The speed effector used for crouching.")] public float CrouchSpeedEffector; // the speed effector used for crouching [Tooltip("The speed effector used when not grounded.")] public float FallingSpeedEffector; // the speed effector used when not grounded } [Serializable] public class CharacterStance { public float CameraHeight; // creates a float variable called CameraHeight in the class public CapsuleCollider StanceCollider; // creates a CapsuleCollider variable called StanceCollider in the class } #endregion #region -- Weapons [Serializable] public class WeaponSettingsModel { [Header("Weapon Sway")] public float SwayAmount; public bool SwayYInverted; public bool SwayXInverted; [Tooltip("The amount of time it takes for the weapon to sway into its new position.")] public float SwaySmoothing; [Tooltip("The amount of time it takes for the weapon to sway back to its normal position.")] public float SwayResetSmoothing; public float SwayClampX; public float SwayClampY; [Header("Weapon Movement Sway")] public float MovementSwayX; public float MovementSwayY; public bool MovementSwayXInverted; public bool MovementSwayYInverted; } #endregion }