Player Items now carry over to the next scene

This commit is contained in:
Melbyj1125
2021-12-01 14:23:14 -06:00
parent 7185e3b870
commit 57385b47b4
10 changed files with 95 additions and 90 deletions

View File

@@ -151,12 +151,32 @@ public class dWallRun : NetworkBehaviour
Vector3 moveToSet = alongWall * vertical * playerMovementController.PlayerSpeed() * Time.deltaTime;// * wallSpeedMultiplier;
Vector3 velNorm = playerMovementController.vel;
velNorm.Normalize();
moveToSet = new Vector3(moveToSet.x * -velNorm.x, moveToSet.y, moveToSet.z * -velNorm.z);
Vector3 moveToSetNorm = moveToSet;
moveToSetNorm.Normalize();
if((moveToSetNorm.x < 0 && velNorm.x > 0)){
moveToSet.x = (moveToSet.x * -velNorm.x);
Debug.Log("x");
}
else if((moveToSetNorm.x > 0 && velNorm.x < 0) ){
moveToSet.x = (-moveToSet.x * -velNorm.x);
}
if((moveToSetNorm.z < 0 && velNorm.z > 0)){
moveToSet.z = (moveToSet.z * -velNorm.z);
Debug.Log("z");
}
else if((moveToSetNorm.z > 0 && velNorm.z < 0)){
moveToSet.z = (-moveToSet.z * -velNorm.z);
}
moveToSet.y = 0;
playerMovementController.SetPlayerVelocity(moveToSet);
Debug.Log(moveToSet);
isWallRunning = true;
}
}

View File

@@ -151,12 +151,32 @@ public class WallRun : NetworkBehaviour
Vector3 moveToSet = alongWall * vertical * playerMovementController.PlayerSpeed() * Time.deltaTime;// * wallSpeedMultiplier;
Vector3 velNorm = playerMovementController.vel;
velNorm.Normalize();
moveToSet = new Vector3(moveToSet.x * -velNorm.x, moveToSet.y, moveToSet.z * -velNorm.z);
Vector3 moveToSetNorm = moveToSet;
moveToSetNorm.Normalize();
if((moveToSetNorm.x < 0 && velNorm.x > 0)){
moveToSet.x = (moveToSet.x * -velNorm.x);
Debug.Log("x");
}
else if((moveToSetNorm.x > 0 && velNorm.x < 0) ){
moveToSet.x = (-moveToSet.x * -velNorm.x);
}
if((moveToSetNorm.z < 0 && velNorm.z > 0)){
moveToSet.z = (moveToSet.z * -velNorm.z);
Debug.Log("z");
}
else if((moveToSetNorm.z > 0 && velNorm.z < 0)){
moveToSet.z = (-moveToSet.z * -velNorm.z);
}
moveToSet.y = 0;
playerMovementController.SetPlayerVelocity(moveToSet);
Debug.Log(moveToSet);
isWallRunning = true;
}
}

View File

@@ -7,7 +7,7 @@ public class PlayerInventory : NetworkBehaviour
{
//List of items
[SerializeField] private Dictionary<string, Item> playerItemDict = new Dictionary<string, Item>();
[SerializeField] Dictionary<string, Item> playerItemDict = new Dictionary<string, Item>();
public Dictionary<string, Item> PlayerItemDict{
get{ return playerItemDict; }
}
@@ -18,11 +18,9 @@ public class PlayerInventory : NetworkBehaviour
}
//Scripts
public PlayerStats pStats;
public InventoryManager invMan;
void Awake(){
pStats = GetComponent<PlayerStats>();
invMan = FindObjectOfType<InventoryManager>();
pStats = GetComponent<PlayerStats>();
}
//Adds player Item to a dictionary
@@ -69,14 +67,9 @@ public class PlayerInventory : NetworkBehaviour
}
//Equips All items in list at start of next scene
public void UpdateEquips(){
if(invMan != null){
foreach(string itemName in networkItemList){
invMan.ItemDict[itemName].Equip(pStats, this.gameObject);
}
}
else{
Debug.Log("invMan is currently not set or disabled");
public void UpdateEquips(List<string> items, Dictionary<string, Item> allItems){
foreach(string itemName in items){
AddItem(allItems[itemName]);
}
}

View File

@@ -291,13 +291,13 @@ public class PlayerMovement : NetworkBehaviour
Vector3 lastCamPos = new Vector3(0,0,0);
Vector3 rotOffset = transform.localEulerAngles;
if(moveController.enabled){
transform.parent.Rotate(Vector3.up * sensitivity * Time.deltaTime * Input.GetAxis("Mouse X"));
transform.parent.Rotate(Vector3.up * sensitivity * Time.deltaTime * Input.GetAxis("Mouse X"));
camRotation.x -= Input.GetAxis("Mouse Y") * sensitivity * Time.deltaTime;
camRotation.x = Mathf.Clamp(camRotation.x, minAngle, maxAngle);
camRotation.x -= Input.GetAxis("Mouse Y") * sensitivity * Time.deltaTime;
camRotation.x = Mathf.Clamp(camRotation.x, minAngle, maxAngle);
cam.transform.localEulerAngles = camRotation;
cam.transform.localEulerAngles = camRotation;
}
}

View File

@@ -6,63 +6,63 @@ using UnityEngine.Assertions;
public class PlayerStats : MonoBehaviour
{
//Maximum possible player speed
private float maxVel = 25.0f;
[SerializeField] private float maxVel = 25.0f;
public float MaxVel{
get{ return maxVel; }
set{ maxVel = value; }
}
//Minimum possible player speed
private float minVel = 2.0f;
[SerializeField] private float minVel = 2.0f;
public float MinVel{
get{ return minVel; }
set{ minVel = value; }
}
//Current player speed
private float curVel = 0.0f;
[SerializeField] private float curVel = 0.0f;
public float CurVel{
get{ return curVel; }
set{ curVel = value; }
}
//Player Acceleration
private float acc = 0.1f;
[SerializeField] private float acc = 0.1f;
public float Acc{
get{ return acc; }
set{ acc = value; }
}
//Player Jump power
private float jumpPow = 300.0f;
[SerializeField] private float jumpPow = 300.0f;
public float JumpPow{
get{ return jumpPow; }
set{ jumpPow = value; }
}
//Players Number of Jumps
private int jumpNum = 2;
[SerializeField] private int jumpNum = 2;
public int JumpNum{
get{ return jumpNum; }
set{ jumpNum = value; }
}
//Player Traction
private float traction = 3.0f;
[SerializeField] private float traction = 3.0f;
public float Traction{
get{ return traction; }
set{ traction = value; }
}
//Player Kick Power
private float kickPow = 100.0f;
[SerializeField] private float kickPow = 100.0f;
public float KickPow{
get{ return kickPow; }
set{ kickPow = value; }
}
//Player Recovery Time When Knocked Down
private float recovTime = 3.0f;
[SerializeField] private float recovTime = 3.0f;
public float RecovTime{
get{ return recovTime; }
set{ recovTime = value; }
@@ -70,55 +70,55 @@ public class PlayerStats : MonoBehaviour
//MAY BE UNNECCESARY DEPENDING ON HOW GLIDER TURNS OUT
//Gravity Affecting the player
private float playerGrav = 20.0f;
[SerializeField] private float playerGrav = 20.0f;
public float PlayerGrav{
get{ return playerGrav; }
set{ playerGrav = value; }
}
//If The Player Has Blink
private bool hasBlink = false;
[SerializeField] private bool hasBlink = false;
public bool HasBlink{
get{ return hasBlink; }
set{ hasBlink = value; }
}
//If The Player Has Glider
private bool hasGlider = false;
[SerializeField] private bool hasGlider = false;
public bool HasGlider{
get{ return hasGlider; }
set{ hasGlider = value; }
}
//If The Player Has Grapple
private bool hasGrapple = false;
[SerializeField] private bool hasGrapple = false;
public bool HasGrapple{
get{ return hasGrapple; }
set{ hasGrapple = value; }
}
//If The Player Has Wallrun
private bool hasWallrun = true;
[SerializeField] private bool hasWallrun = false;
public bool HasWallrun{
get{ return hasWallrun; }
set{ hasWallrun = value; }
}
//If The Player Has Nitro
private bool hasNitro = false;
[SerializeField] private bool hasNitro = false;
public bool HasNitro{
get{ return hasNitro; }
set{ hasNitro = value; }
}
//If The Player Has Dash
private bool hasDash;
[SerializeField] private bool hasDash = false;
public bool HasDash{
get{ return hasDash; }
set{ hasDash = value; }
}
private int playerPoints = 15;
[SerializeField] private int playerPoints = 15;
public int PlayerPoints{
get{ return playerPoints; }
set{ playerPoints = value; }