diff --git a/Assets/Scripts/Network/PlayerData.cs b/Assets/Scripts/Network/PlayerData.cs index aa2f5dd..2cd5091 100644 --- a/Assets/Scripts/Network/PlayerData.cs +++ b/Assets/Scripts/Network/PlayerData.cs @@ -3,10 +3,12 @@ public struct PlayerData { public string PlayerName { get; private set; } public ulong ClientId { get; private set; } public bool IsKing { get; set; } + public PlayerInventory pInv{get; set;} public PlayerData(string playerName, ulong clientId, bool isKing = false) { PlayerName = playerName; + pInv = new PlayerInventory(); ClientId = clientId; IsKing = isKing; } diff --git a/Assets/Scripts/PlayerScripts/PlayerInventory.cs b/Assets/Scripts/PlayerScripts/PlayerInventory.cs index 5d02252..4d8405e 100644 --- a/Assets/Scripts/PlayerScripts/PlayerInventory.cs +++ b/Assets/Scripts/PlayerScripts/PlayerInventory.cs @@ -1,8 +1,9 @@ using System.Collections; using System.Collections.Generic; +using MLAPI; using UnityEngine; -public class PlayerInventory : MonoBehaviour +public class PlayerInventory : NetworkBehaviour { //List of items @@ -12,20 +13,13 @@ public class PlayerInventory : MonoBehaviour public PlayerStats pStats; void Awake(){ - pStats = GetComponent(); - DontDestroyOnLoad(transform.parent.gameObject); - + pStats = GetComponent(); } - - //Add item to player Inventory - public void AddItem(Item item, bool ableToAdd){ + + public void UpdateInventory(Item item, bool ableToAdd){ if(!items.Contains(item) && ableToAdd){ Debug.Log("Item Added"); - - //Add item to player inventroy list - items.Add(item); - //Equip item - item.Equip(pStats, this.gameObject); + AddItem(item); } else if(!ableToAdd && !items.Contains(item)){ //Item cannot be added @@ -38,6 +32,30 @@ public class PlayerInventory : MonoBehaviour } } + public void UpdateEquips(){ + foreach(Item item in items){ + item.Equip(pStats, this.gameObject); + } + } + + //Add item to player Inventory + public void AddItem(Item item){ + + //Adds and equips Item if it can + items.Add(item); + + item.Equip(pStats, this.gameObject); + + } + + //Add item to player Inventory + public void AddItemNetwork(Item item){ + + //Adds and equips Item if it can + items.Add(item); + + } + //Remove Item player inv public void RemoveItem(Item item){ if(items.Remove(item)){ diff --git a/Assets/Scripts/PlayerScripts/PlayerStats.cs b/Assets/Scripts/PlayerScripts/PlayerStats.cs index d532b3e..6ab6d97 100644 --- a/Assets/Scripts/PlayerScripts/PlayerStats.cs +++ b/Assets/Scripts/PlayerScripts/PlayerStats.cs @@ -41,7 +41,7 @@ public class PlayerStats : MonoBehaviour } //Players Number of Jumps - private int jumpNum = 2; ////// UPDATE TO 2 WHEN THE JUMP ISSUE IS FIXED + private int jumpNum = 2; public int JumpNum{ get{ return jumpNum; } set{ jumpNum = value; } diff --git a/Assets/Scripts/SetInvScene/InvSceneSettings.cs b/Assets/Scripts/SetInvScene/InvSceneSettings.cs index 5f54989..6b1d848 100644 --- a/Assets/Scripts/SetInvScene/InvSceneSettings.cs +++ b/Assets/Scripts/SetInvScene/InvSceneSettings.cs @@ -63,7 +63,7 @@ public class InvSceneSettings : MonoBehaviour iOpt.transform.localScale = new Vector3(1.5f,1.5f,1.5f); //Button Adds item if it can - iOpt.GetComponent