diff --git a/MoCha/Assets/Items/circle_eye.asset b/MoCha/Assets/Items/circle_eye.asset index 19fb32f..4ea5fe0 100644 Binary files a/MoCha/Assets/Items/circle_eye.asset and b/MoCha/Assets/Items/circle_eye.asset differ diff --git a/MoCha/Assets/Items/circle_head.asset b/MoCha/Assets/Items/circle_head.asset index 0777c27..66aa65a 100644 Binary files a/MoCha/Assets/Items/circle_head.asset and b/MoCha/Assets/Items/circle_head.asset differ diff --git a/MoCha/Assets/Items/crazy_hair.asset b/MoCha/Assets/Items/crazy_hair.asset index 9e3ed70..5826077 100644 Binary files a/MoCha/Assets/Items/crazy_hair.asset and b/MoCha/Assets/Items/crazy_hair.asset differ diff --git a/MoCha/Assets/Items/crown.asset b/MoCha/Assets/Items/crown.asset index 52585e3..15c5c9d 100644 Binary files a/MoCha/Assets/Items/crown.asset and b/MoCha/Assets/Items/crown.asset differ diff --git a/MoCha/Assets/Items/gap_mouth.asset b/MoCha/Assets/Items/gap_mouth.asset index e48c075..6422dd1 100644 Binary files a/MoCha/Assets/Items/gap_mouth.asset and b/MoCha/Assets/Items/gap_mouth.asset differ diff --git a/MoCha/Assets/Items/pig_nose.asset b/MoCha/Assets/Items/pig_nose.asset index ae49169..0521d17 100644 Binary files a/MoCha/Assets/Items/pig_nose.asset and b/MoCha/Assets/Items/pig_nose.asset differ diff --git a/MoCha/Assets/Materials/Blackout.mat b/MoCha/Assets/Materials/Blackout.mat new file mode 100644 index 0000000..47953a2 Binary files /dev/null and b/MoCha/Assets/Materials/Blackout.mat differ diff --git a/MoCha/Assets/Materials/Blackout.mat.meta b/MoCha/Assets/Materials/Blackout.mat.meta new file mode 100644 index 0000000..80f29d7 --- /dev/null +++ b/MoCha/Assets/Materials/Blackout.mat.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 8b09d9a7c0cb3ca42a798802c96d28c8 +timeCreated: 1524748932 +licenseType: Free +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/MoCha/Assets/Prefabs/Navigation.prefab b/MoCha/Assets/Prefabs/Navigation.prefab index 5ae202c..5f7be4e 100644 Binary files a/MoCha/Assets/Prefabs/Navigation.prefab and b/MoCha/Assets/Prefabs/Navigation.prefab differ diff --git a/MoCha/Assets/Prefabs/Navigation.prefab.meta b/MoCha/Assets/Prefabs/Navigation.prefab.meta index a619c74..c9cf27e 100644 --- a/MoCha/Assets/Prefabs/Navigation.prefab.meta +++ b/MoCha/Assets/Prefabs/Navigation.prefab.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 guid: 326b00dfcab7e8c4da45c990cef3c9b6 -timeCreated: 1524679668 +timeCreated: 1524753018 licenseType: Free NativeFormatImporter: externalObjects: {} diff --git a/MoCha/Assets/Prefabs/Progress Bar.prefab b/MoCha/Assets/Prefabs/Progress Bar.prefab new file mode 100644 index 0000000..3e61fa4 Binary files /dev/null and b/MoCha/Assets/Prefabs/Progress Bar.prefab differ diff --git a/MoCha/Assets/Prefabs/Progress Bar.prefab.meta b/MoCha/Assets/Prefabs/Progress Bar.prefab.meta new file mode 100644 index 0000000..2b39af1 --- /dev/null +++ b/MoCha/Assets/Prefabs/Progress Bar.prefab.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 441f50f7e865a4e9c937038cedf667ee +timeCreated: 1524703581 +licenseType: Free +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/MoCha/Assets/Resources.meta b/MoCha/Assets/Resources.meta new file mode 100644 index 0000000..3212a57 --- /dev/null +++ b/MoCha/Assets/Resources.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 00e35244fddf9aa4fa427e547aec158d +folderAsset: yes +timeCreated: 1524683565 +licenseType: Free +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/MoCha/Assets/Resources/circle_eye.prefab b/MoCha/Assets/Resources/circle_eye.prefab new file mode 100644 index 0000000..f1449e8 Binary files /dev/null and b/MoCha/Assets/Resources/circle_eye.prefab differ diff --git a/MoCha/Assets/Resources/circle_eye.prefab.meta b/MoCha/Assets/Resources/circle_eye.prefab.meta new file mode 100644 index 0000000..32099f7 --- /dev/null +++ b/MoCha/Assets/Resources/circle_eye.prefab.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 49942256293e57045bbb9b1a407a1667 +timeCreated: 1524683726 +licenseType: Free +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/MoCha/Assets/Sprites/Monster Parts/circle_eye.png b/MoCha/Assets/Resources/circle_eye_sprite.png similarity index 100% rename from MoCha/Assets/Sprites/Monster Parts/circle_eye.png rename to MoCha/Assets/Resources/circle_eye_sprite.png diff --git a/MoCha/Assets/Sprites/Monster Parts/circle_eye.png.meta b/MoCha/Assets/Resources/circle_eye_sprite.png.meta similarity index 100% rename from MoCha/Assets/Sprites/Monster Parts/circle_eye.png.meta rename to MoCha/Assets/Resources/circle_eye_sprite.png.meta diff --git a/MoCha/Assets/Resources/circle_head.prefab b/MoCha/Assets/Resources/circle_head.prefab new file mode 100644 index 0000000..e5efc68 Binary files /dev/null and b/MoCha/Assets/Resources/circle_head.prefab differ diff --git a/MoCha/Assets/Resources/circle_head.prefab.meta b/MoCha/Assets/Resources/circle_head.prefab.meta new file mode 100644 index 0000000..02a2678 --- /dev/null +++ b/MoCha/Assets/Resources/circle_head.prefab.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 645789e883e1d3c40aabb865a433d896 +timeCreated: 1524683718 +licenseType: Free +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/MoCha/Assets/Sprites/Monster Parts/circle_head.png b/MoCha/Assets/Resources/circle_head_sprite.png similarity index 100% rename from MoCha/Assets/Sprites/Monster Parts/circle_head.png rename to MoCha/Assets/Resources/circle_head_sprite.png diff --git a/MoCha/Assets/Sprites/Monster Parts/circle_head.png.meta b/MoCha/Assets/Resources/circle_head_sprite.png.meta similarity index 100% rename from MoCha/Assets/Sprites/Monster Parts/circle_head.png.meta rename to MoCha/Assets/Resources/circle_head_sprite.png.meta diff --git a/MoCha/Assets/Resources/crazy_hair.prefab b/MoCha/Assets/Resources/crazy_hair.prefab new file mode 100644 index 0000000..f60bce0 Binary files /dev/null and b/MoCha/Assets/Resources/crazy_hair.prefab differ diff --git a/MoCha/Assets/Resources/crazy_hair.prefab.meta b/MoCha/Assets/Resources/crazy_hair.prefab.meta new file mode 100644 index 0000000..d2527e4 --- /dev/null +++ b/MoCha/Assets/Resources/crazy_hair.prefab.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 6bca5c058cbd15c41815ef2924191049 +timeCreated: 1524683721 +licenseType: Free +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/MoCha/Assets/Sprites/Monster Parts/crazy_hair.png b/MoCha/Assets/Resources/crazy_hair_sprite.png similarity index 100% rename from MoCha/Assets/Sprites/Monster Parts/crazy_hair.png rename to MoCha/Assets/Resources/crazy_hair_sprite.png diff --git a/MoCha/Assets/Sprites/Monster Parts/crazy_hair.png.meta b/MoCha/Assets/Resources/crazy_hair_sprite.png.meta similarity index 100% rename from MoCha/Assets/Sprites/Monster Parts/crazy_hair.png.meta rename to MoCha/Assets/Resources/crazy_hair_sprite.png.meta diff --git a/MoCha/Assets/Resources/crown.prefab b/MoCha/Assets/Resources/crown.prefab new file mode 100644 index 0000000..a044b4c Binary files /dev/null and b/MoCha/Assets/Resources/crown.prefab differ diff --git a/MoCha/Assets/Resources/crown.prefab.meta b/MoCha/Assets/Resources/crown.prefab.meta new file mode 100644 index 0000000..482b0a3 --- /dev/null +++ b/MoCha/Assets/Resources/crown.prefab.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 6d657f3d9cb80c94d86fed7d0acbcdd7 +timeCreated: 1524683723 +licenseType: Free +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/MoCha/Assets/Sprites/Monster Parts/crown.png b/MoCha/Assets/Resources/crown_sprite.png similarity index 100% rename from MoCha/Assets/Sprites/Monster Parts/crown.png rename to MoCha/Assets/Resources/crown_sprite.png diff --git a/MoCha/Assets/Sprites/Monster Parts/crown.png.meta b/MoCha/Assets/Resources/crown_sprite.png.meta similarity index 100% rename from MoCha/Assets/Sprites/Monster Parts/crown.png.meta rename to MoCha/Assets/Resources/crown_sprite.png.meta diff --git a/MoCha/Assets/Resources/gap_mouth.prefab b/MoCha/Assets/Resources/gap_mouth.prefab new file mode 100644 index 0000000..a3c7604 Binary files /dev/null and b/MoCha/Assets/Resources/gap_mouth.prefab differ diff --git a/MoCha/Assets/Resources/gap_mouth.prefab.meta b/MoCha/Assets/Resources/gap_mouth.prefab.meta new file mode 100644 index 0000000..44271fd --- /dev/null +++ b/MoCha/Assets/Resources/gap_mouth.prefab.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 07c92442f33cfbb448eff50b204aaefa +timeCreated: 1524683727 +licenseType: Free +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/MoCha/Assets/Sprites/Monster Parts/gap_mouth.png b/MoCha/Assets/Resources/gap_mouth_sprite.png similarity index 100% rename from MoCha/Assets/Sprites/Monster Parts/gap_mouth.png rename to MoCha/Assets/Resources/gap_mouth_sprite.png diff --git a/MoCha/Assets/Sprites/Monster Parts/gap_mouth.png.meta b/MoCha/Assets/Resources/gap_mouth_sprite.png.meta similarity index 100% rename from MoCha/Assets/Sprites/Monster Parts/gap_mouth.png.meta rename to MoCha/Assets/Resources/gap_mouth_sprite.png.meta diff --git a/MoCha/Assets/Resources/pig_nose.prefab b/MoCha/Assets/Resources/pig_nose.prefab new file mode 100644 index 0000000..69134ee Binary files /dev/null and b/MoCha/Assets/Resources/pig_nose.prefab differ diff --git a/MoCha/Assets/Resources/pig_nose.prefab.meta b/MoCha/Assets/Resources/pig_nose.prefab.meta new file mode 100644 index 0000000..0169296 --- /dev/null +++ b/MoCha/Assets/Resources/pig_nose.prefab.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 5bb017abc66da2e4bb908eb3c97d29b4 +timeCreated: 1524683729 +licenseType: Free +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/MoCha/Assets/Sprites/Monster Parts/pig_nose.png b/MoCha/Assets/Resources/pig_nose_sprite.png similarity index 100% rename from MoCha/Assets/Sprites/Monster Parts/pig_nose.png rename to MoCha/Assets/Resources/pig_nose_sprite.png diff --git a/MoCha/Assets/Sprites/Monster Parts/pig_nose.png.meta b/MoCha/Assets/Resources/pig_nose_sprite.png.meta similarity index 100% rename from MoCha/Assets/Sprites/Monster Parts/pig_nose.png.meta rename to MoCha/Assets/Resources/pig_nose_sprite.png.meta diff --git a/MoCha/Assets/Scenes/Goals.unity b/MoCha/Assets/Scenes/Goals.unity index 57eb13b..5333b1e 100644 Binary files a/MoCha/Assets/Scenes/Goals.unity and b/MoCha/Assets/Scenes/Goals.unity differ diff --git a/MoCha/Assets/Scenes/Home.unity b/MoCha/Assets/Scenes/Home.unity index 3751dd5..c3bad2a 100644 Binary files a/MoCha/Assets/Scenes/Home.unity and b/MoCha/Assets/Scenes/Home.unity differ diff --git a/MoCha/Assets/Scenes/MonsterCreator.unity b/MoCha/Assets/Scenes/MonsterCreator.unity index 3ba305f..d0e451a 100644 Binary files a/MoCha/Assets/Scenes/MonsterCreator.unity and b/MoCha/Assets/Scenes/MonsterCreator.unity differ diff --git a/MoCha/Assets/Scenes/Stats.unity b/MoCha/Assets/Scenes/Stats.unity index a926d33..ac1d336 100644 Binary files a/MoCha/Assets/Scenes/Stats.unity and b/MoCha/Assets/Scenes/Stats.unity differ diff --git a/MoCha/Assets/Scripts/DragAndDrop.cs b/MoCha/Assets/Scripts/DragAndDrop.cs index e9ad180..c67b20a 100644 --- a/MoCha/Assets/Scripts/DragAndDrop.cs +++ b/MoCha/Assets/Scripts/DragAndDrop.cs @@ -4,6 +4,7 @@ using UnityEngine.EventSystems; public class DragAndDrop : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler { public static GameObject DraggedInstance; + public Inventory inventory; Vector3 _startPosition; Vector3 _offsetToMouse; @@ -34,8 +35,12 @@ public class DragAndDrop : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndD public void OnEndDrag (PointerEventData eventData) { - DraggedInstance = null; _offsetToMouse = Vector3.zero; + if (Input.mousePosition.y < 75) { + DraggedInstance.SetActive (false); + inventory.AddItem (DraggedInstance.name); + } + DraggedInstance = null; } #endregion diff --git a/MoCha/Assets/Scripts/GetGoals.cs b/MoCha/Assets/Scripts/GetGoals.cs new file mode 100644 index 0000000..85d3e1a --- /dev/null +++ b/MoCha/Assets/Scripts/GetGoals.cs @@ -0,0 +1,174 @@ +using System; +using System.Globalization; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +//Pretty much a copy of GetData... +namespace PedometerU.Tests { + +public class GetGoals : MonoBehaviour { + + public Text goalText; + public string currentDayStr = System.DateTime.Now.ToString("MM/dd/yyyy"); + public string goalDayStr = System.DateTime.Now.ToString("MM/dd/yyyy"); + public string prefKey; + + //Progress Bar... + public float barDisplay; //current progress + private Vector2 barPos; + private Vector2 barSize = new Vector2(227,20); + + //Pedometer + private Pedometer pedometer; + int userSteps; + int userPoints; + double userDistance; + int stepsGoal = 100; + public Text stepText; + public Text pointsText; + private int savedSteps; + private int savedPoints; + + void OnStep (int steps, double distance) { + userDistance = (distance * 3.28084); + userSteps = steps + savedSteps; + PlayerPrefs.SetInt("currentSteps",userSteps); + stepText.text = userSteps.ToString () + "/" + stepsGoal.ToString(); + + userPoints = steps*5 + savedPoints; + PlayerPrefs.SetInt("totalPoints",userPoints); + pointsText.text = "Points: " + userPoints.ToString (); + } + + private void OnDisable () { + // Release the pedometer + pedometer.Dispose(); + pedometer = null; + } + + //saved value from last session loads in on START + //write usersteps + saved val to pref in ONSTEP + + void Start () { + savedSteps = PlayerPrefs.GetInt("currentSteps"); + savedPoints = PlayerPrefs.GetInt("totalPoints"); + // Create a new pedometer + pedometer = new Pedometer(OnStep); + // Reset UI + stepText.text = savedSteps.ToString () + "/" + stepsGoal.ToString(); + if(PlayerPrefs.HasKey("totalPoints")) + { + pointsText.text = "Points: " + PlayerPrefs.GetInt("totalPoints").ToString (); + } + else + { + PlayerPrefs.SetInt("totalPoints", 0); + pointsText.text = "Points: " + PlayerPrefs.GetInt("totalPoints").ToString (); + } + userSteps = savedSteps; + userPoints = savedPoints; + + //OnStep(savedSteps, 0); + Debug.Log(savedSteps); + + + //goalText.text = prefKey; + goalText.color = new Color(0f, 0f, 0f); + Debug.Log(goalText.transform.position.x.ToString() + " " + goalText.transform.position.y.ToString()); + barPos = new Vector2(goalText.transform.position.x, goalText.transform.position.y); + + currentDayStr = System.DateTime.Now.ToString("MM/dd/yyyy"); + goalDayStr = System.DateTime.Now.ToString("MM/dd/yyyy"); + Debug.Log(goalDayStr); + + if(prefKey == "daily") + savePersistantGoalDate("daily"); + } + + + //Texture the progress bar using these parameters + public Texture2D emptyTex; + public Texture2D fullTex; + + //on a button press? begin a goal? + void startGoal() + { + } + + void savePersistantGoalDate(string key) + { + PlayerPrefs.SetString(key, goalDayStr); + } + + bool checkNewDay(string key) + { + string checkDay = PlayerPrefs.GetString(key); + if(checkDay == currentDayStr) + return false; + return true; + } + + void OnGUI() { + //draw the background: + GUI.BeginGroup(new Rect(barPos.x, barPos.y, barSize.x, barSize.y)); + GUI.Box(new Rect(0,0, barSize.x, barSize.y), emptyTex); + + //draw the filled-in part: + GUI.BeginGroup(new Rect(0,0, barSize.x * barDisplay, barSize.y)); + GUI.Box(new Rect(0,0, barSize.x, barSize.y), fullTex); + GUI.EndGroup(); + GUI.EndGroup(); + } + + void Update() { + //needs current points counting toward this goal (daily?) + //needs the total required points for this goal + currentDayStr = System.DateTime.Now.ToString("MM/dd/yyyy"); + //barDisplay = Time.time*0.05f; //put actual progress here (current/total) + barDisplay = (float)userSteps/(float)stepsGoal; + + //failed to complete goal + if(currentDayStr != goalDayStr) + { + Debug.Log(currentDayStr); + Debug.Log(goalDayStr); + + Debug.Log("DAY HAS PASSED!!"); + + //make it so user dismisses the goal instead! + //Destroy(this); + //destroy the goal and set a new one? + + } + //goal complete + if(barDisplay >= 1.0f) + { + Debug.Log("Goal complete! +100pts!"); + userSteps = 0; + PlayerPrefs.SetInt("currentSteps", userSteps); + savedSteps = 0; + //OnStep(0,0); + stepText.text = userSteps.ToString () + "/" + stepsGoal.ToString(); + + //destroy the goal and set a new one? + savedPoints += stepsGoal*10; + PlayerPrefs.SetInt("totalPoints", savedPoints); + pointsText.text = "Points: " + PlayerPrefs.GetInt("totalPoints").ToString (); + } + + //only applies if "daily" goal + if(prefKey == "daily") + { + if(checkNewDay(prefKey)) + { + Debug.Log("You failed your goal"); //not true if progress is actually complete! + goalDayStr = currentDayStr; + savePersistantGoalDate("daily"); + } + } + } +} + +} diff --git a/MoCha/Assets/Scripts/Goals.cs.meta b/MoCha/Assets/Scripts/GetGoals.cs.meta similarity index 77% rename from MoCha/Assets/Scripts/Goals.cs.meta rename to MoCha/Assets/Scripts/GetGoals.cs.meta index dbac0c0..d0d081d 100644 --- a/MoCha/Assets/Scripts/Goals.cs.meta +++ b/MoCha/Assets/Scripts/GetGoals.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 5f138b644c262457385474b2256308a7 -timeCreated: 1524165858 +guid: 040f99a891f1b4fed92f5a44e33fc47f +timeCreated: 1524166714 licenseType: Free MonoImporter: externalObjects: {} diff --git a/MoCha/Assets/Scripts/Goals.cs b/MoCha/Assets/Scripts/Goals.cs deleted file mode 100644 index 7273f2d..0000000 --- a/MoCha/Assets/Scripts/Goals.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class Goals : MonoBehaviour { - - // Use this for initialization - void Start () { - - } - - // Update is called once per frame - void Update () { - - } -} diff --git a/MoCha/Assets/Scripts/Inventory.cs b/MoCha/Assets/Scripts/Inventory.cs index 15a3126..b98ffc1 100644 --- a/MoCha/Assets/Scripts/Inventory.cs +++ b/MoCha/Assets/Scripts/Inventory.cs @@ -1,15 +1,40 @@ using UnityEngine; using System.Collections; using UnityEngine.UI; - +using System.Text; public class Inventory : MonoBehaviour { public Image[] itemImages = new Image[numItemSlots]; public Item[] items = new Item[numItemSlots]; public const int numItemSlots = 25; + + void Awake() + { + //PlayerPrefs.SetString("inventory", ""); + string savedString = PlayerPrefs.GetString("inventory"); + + string[] itemNames = savedString.Split(' '); + Debug.Log (itemNames [itemNames.Length-1]); + for (int i = 0; i < itemNames.Length - 1; i++) + { + Sprite sprite = (Resources.Load(itemNames[i] + "_sprite")); + Item itm = new Item (); + itm.name = itemNames [i]; + itm.sprite = sprite; + items[i] = itm; + itemImages[i].sprite = itm.sprite; + itemImages[i].enabled = true; + } + } + public void AddItem(Item itemToAdd) { + StringBuilder invList = new StringBuilder (); + invList.Append(PlayerPrefs.GetString ("inventory")); + invList.Append(itemToAdd.name).Append(" "); + PlayerPrefs.SetString ("inventory", invList.ToString()); + for (int i = 0; i < items.Length; i++) { if (items[i] == null) @@ -21,11 +46,43 @@ public class Inventory : MonoBehaviour } } } - public void RemoveItem (Item itemToRemove) + + public void AddItem(string itemName) { + StringBuilder invList = new StringBuilder (); + invList.Append(PlayerPrefs.GetString ("inventory")); + invList.Append(itemName).Append(" "); + PlayerPrefs.SetString ("inventory", invList.ToString()); + for (int i = 0; i < items.Length; i++) { - if (items[i] == itemToRemove) + if (items[i] == null) + { + Sprite sprite = (Resources.Load(itemName + "_sprite")); + Item itm = new Item (); + itm.name = itemName; + itm.sprite = sprite; + items[i] = itm; + itemImages[i].sprite = itm.sprite; + itemImages[i].enabled = true; + return; + } + } + } + + public void RemoveItem (Item itemToRemove) + { + StringBuilder invList = new StringBuilder (); + invList.Append(PlayerPrefs.GetString ("inventory")); + int index = invList.ToString ().IndexOf (itemToRemove.name + " "); + invList.Remove(index, (itemToRemove.name + " ").Length); + PlayerPrefs.SetString ("inventory", invList.ToString()); + GameObject instance = (GameObject)Instantiate(Resources.Load(itemToRemove.name)); + instance.name = itemToRemove.name; + + for (int i = 0; i < items.Length; i++) + { + if (items[i].name == itemToRemove.name) { items[i] = null; itemImages[i].sprite = null; @@ -34,4 +91,30 @@ public class Inventory : MonoBehaviour } } } + + public void RemoveItem (string itemName) + { + StringBuilder invList = new StringBuilder (); + invList.Append(PlayerPrefs.GetString ("inventory")); + int index = invList.ToString ().IndexOf (itemName + " "); + invList.Remove(index, (itemName + " ").Length); + PlayerPrefs.SetString ("inventory", invList.ToString()); + GameObject instance = (GameObject)Instantiate(Resources.Load(itemName)); + instance.GetComponent ().inventory = this; + instance.name = itemName; + + for (int i = 0; i < items.Length - 1; i++) + { + if (items [i] != null) { + Debug.Log (items [i].name + " == " + itemName); + if (items [i].name == itemName) { + items [i] = null; + itemImages [i].sprite = null; + itemImages [i].enabled = false; + return; + } + } + } + + } } \ No newline at end of file diff --git a/MoCha/Assets/Scripts/Item.cs b/MoCha/Assets/Scripts/Item.cs index 0dd481b..329438d 100644 --- a/MoCha/Assets/Scripts/Item.cs +++ b/MoCha/Assets/Scripts/Item.cs @@ -4,4 +4,6 @@ public class Item : ScriptableObject { public Sprite sprite; + + public string name; } diff --git a/MoCha/Assets/Scripts/ItemSlotBehavior.cs b/MoCha/Assets/Scripts/ItemSlotBehavior.cs new file mode 100644 index 0000000..e160966 --- /dev/null +++ b/MoCha/Assets/Scripts/ItemSlotBehavior.cs @@ -0,0 +1,34 @@ +using UnityEngine; +using UnityEngine.EventSystems; +using Image = UnityEngine.UI.Image; + +public class ItemSlotBehavior : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler +{ + public static GameObject DraggedInstance; + public Inventory inventory; + + Vector3 _startPosition; + Vector3 _offsetToMouse; + float _zDistanceToCamera; + + #region Interface Implementations + + public void OnBeginDrag (PointerEventData eventData) + { + DraggedInstance = gameObject; + Debug.Log ("Removing: " + DraggedInstance.GetComponent ().sprite.name.Remove (DraggedInstance.GetComponent ().sprite.name.Length - 7)); + inventory.RemoveItem(DraggedInstance.GetComponent().sprite.name.Remove(DraggedInstance.GetComponent().sprite.name.Length-7)); + } + + public void OnDrag (PointerEventData eventData) + { + + } + + public void OnEndDrag (PointerEventData eventData) + { + + } + + #endregion +} \ No newline at end of file diff --git a/MoCha/Assets/Scripts/ItemSlotBehavior.cs.meta b/MoCha/Assets/Scripts/ItemSlotBehavior.cs.meta new file mode 100644 index 0000000..9c6a6ac --- /dev/null +++ b/MoCha/Assets/Scripts/ItemSlotBehavior.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: 062d9f417b017b445bd5b92d657b31d1 +timeCreated: 1524730867 +licenseType: Free +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/MoCha/Assets/Scripts/MonsterManager.cs b/MoCha/Assets/Scripts/MonsterManager.cs index bc5d34f..24b2b2d 100644 --- a/MoCha/Assets/Scripts/MonsterManager.cs +++ b/MoCha/Assets/Scripts/MonsterManager.cs @@ -9,17 +9,11 @@ public class MonsterManager : MonoBehaviour { public GameObject inventory; public Item item; - private Inventory inv; + public Inventory inv; void Start() { - inv = FindObjectOfType (); - giveItem (item); - } - - public void giveItem(Item itm) - { - inv.AddItem (itm); + loadMonster(); } public void showItems() @@ -31,6 +25,21 @@ public class MonsterManager : MonoBehaviour { public void saveMonster() { + GameObject[] monsterParts = GameObject.FindGameObjectsWithTag("MonsterPart"); + + StringBuilder pos = new StringBuilder (); + string savedString; + string equippedString = ""; + + for (int i = 0; i < monsterParts.Length; i++) { + pos = new StringBuilder (); + pos.Append(GameObject.Find(monsterParts[i].name).transform.position.x).Append(" ").Append(GameObject.Find(monsterParts[i].name).transform.position.y).Append(" ").Append(GameObject.Find(monsterParts[i].name).transform.position.z); + equippedString = equippedString + monsterParts [i].name + " "; + savedString = pos.ToString (); + PlayerPrefs.SetString(/*SceneManager.GetActiveScene().name + */monsterParts[i].name, savedString); + } + PlayerPrefs.SetString ("Equipped", equippedString); + /* StringBuilder eyePos = new StringBuilder(); eyePos.Append(GameObject.Find("circle_eye").transform.position.x).Append(" ").Append(GameObject.Find("circle_eye").transform.position.y).Append(" ").Append(GameObject.Find("circle_eye").transform.position.z); @@ -66,10 +75,25 @@ public class MonsterManager : MonoBehaviour { nosePos.Append(GameObject.Find("pig_nose").transform.position.x).Append(" ").Append(GameObject.Find("pig_nose").transform.position.y).Append(" ").Append(GameObject.Find("pig_nose").transform.position.z); savedString = nosePos.ToString(); PlayerPrefs.SetString(SceneManager.GetActiveScene().name + "nosePosition", savedString); + */ } public void loadMonster () { + + string equippedString = PlayerPrefs.GetString("Equipped"); + string[] equipped = equippedString.Split (' '); + + for (int i = 0; i < equipped.Length - 1; i++) { + string savedString = PlayerPrefs.GetString(/*SceneManager.GetActiveScene().name + */equipped[i]); + string[] values = savedString.Split (); + GameObject instance = (GameObject)Instantiate(Resources.Load(equipped[i])); + instance.name = equipped [i]; + instance.GetComponent ().inventory = inv; + instance.transform.position = new Vector3(float.Parse(values[0]),float.Parse(values[1]),float.Parse(values[2])); + } + + /* string savedString = PlayerPrefs.GetString(SceneManager.GetActiveScene().name + "eyePosition"); string[] values = savedString.Split(' '); @@ -99,6 +123,6 @@ public class MonsterManager : MonoBehaviour { values = savedString.Split(' '); GameObject.Find("pig_nose").transform.position = new Vector3(float.Parse(values[0]),float.Parse(values[1]),float.Parse(values[2])); - + */ } } diff --git a/MoCha/Assets/Scripts/NavigationManager.cs b/MoCha/Assets/Scripts/NavigationManager.cs new file mode 100644 index 0000000..e255db4 --- /dev/null +++ b/MoCha/Assets/Scripts/NavigationManager.cs @@ -0,0 +1,25 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +public class NavigationManager : MonoBehaviour +{ + private GameObject navMenu; + + public void Start() + { + //navMenu = GameObject.Find("Navigation Menu"); + navMenu = gameObject.transform.Find("Navigation Menu").gameObject; + } + + public void OpenNavMenu() + { + navMenu.SetActive (true); + } + + public void CloseNavMenu() + { + navMenu.SetActive (false); + } +} diff --git a/MoCha/Assets/Scripts/NavigationManager.cs.meta b/MoCha/Assets/Scripts/NavigationManager.cs.meta new file mode 100644 index 0000000..c392c20 --- /dev/null +++ b/MoCha/Assets/Scripts/NavigationManager.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: 658e48ac784a5d543bc76161835f7156 +timeCreated: 1524750227 +licenseType: Free +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/MoCha/Assets/Scripts/SceneLoader.cs b/MoCha/Assets/Scripts/SceneLoader.cs index c318319..d61788b 100644 --- a/MoCha/Assets/Scripts/SceneLoader.cs +++ b/MoCha/Assets/Scripts/SceneLoader.cs @@ -26,6 +26,14 @@ public class SceneLoader : MonoBehaviour { if (!(SceneManager.GetActiveScene ().name == "StepCounter")) SceneManager.LoadScene ("StepCounter"); break; + case "Profile": + if (!(SceneManager.GetActiveScene ().name == "Stats")) + SceneManager.LoadScene ("Stats"); + break; + case "Monster Creator": + if (!(SceneManager.GetActiveScene ().name == "MonsterCreator")) + SceneManager.LoadScene ("MonsterCreator"); + break; default: if (!(SceneManager.GetActiveScene ().name == scenetext)) SceneManager.LoadScene (scenetext); diff --git a/MoCha/ProjectSettings/ProjectVersion.txt b/MoCha/ProjectSettings/ProjectVersion.txt index 27997c5..ddc29c5 100644 --- a/MoCha/ProjectSettings/ProjectVersion.txt +++ b/MoCha/ProjectSettings/ProjectVersion.txt @@ -1 +1,5 @@ +<<<<<<< HEAD +m_EditorVersion: 2017.4.0f1 +======= m_EditorVersion: 2017.3.1f1 +>>>>>>> alex diff --git a/MoCha/ProjectSettings/TagManager.asset b/MoCha/ProjectSettings/TagManager.asset index 1805621..1db4d5d 100644 Binary files a/MoCha/ProjectSettings/TagManager.asset and b/MoCha/ProjectSettings/TagManager.asset differ