// Start is called before the first frame update void Start() { int i = 0; foreach (string value in PlayerPrefs.GetString("playerStats").Split('/')) { baseStats[i] = new Armour.Stat(baseStats[i].name, int.Parse(value)); i++; } updateStats(); content = inventoryPanel.transform.Find("Items").transform.Find("Viewport").transform.Find("Content").gameObject; weaponName = inventoryPanel.transform.Find("Display").transform.Find("WeaponName").gameObject; weaponCategory = inventoryPanel.transform.Find("Display").transform.Find("WeaponCategory").gameObject; weaponDescription = inventoryPanel.transform.Find("Display").transform.Find("Description").gameObject; weaponStats = inventoryPanel.transform.Find("Display").transform.Find("Stats").gameObject; weaponElements = inventoryPanel.transform.Find("Display").transform.Find("Resistances").gameObject; weaponPreview = inventoryPanel.transform.Find("Display").transform.Find("Preview").gameObject; setDefaultWeapon((Weapon)Resources.Load("PlayerObjects/Weapons/Fists")); addItem((Weapon)Resources.Load("PlayerObjects/Weapons/RustyDagger")); equipWeapon(defaultWeapon); fullHeal(); closeInventory(); }
public void unequipCurrent() { int n = 0; foreach (Armour.Stat stat in currentWeapon.stats) { Armour.Stat statCopy = currentStats[n]; statCopy.value -= stat.value; currentStats[n] = statCopy; n++; } }
void Start() { animator = GetComponent <Animator>(); for (int i = 0; i < resistances.Count; i++) { Armour.Resistance res = resistances[i]; Armour.Resistance newres = new Armour.Resistance(); newres.name = res.name; for (int j = 0; j < currentWeapon.resistances.Count; j++) { Armour.Resistance resadd = currentWeapon.resistances[j]; if (resadd.name == res.name) { newres.value = resadd.value + res.value; } } resistances[i] = newres; } for (int i = 0; i < stats.Count; i++) { Armour.Stat stat = stats[i]; Armour.Stat newstat = new Armour.Stat(); newstat.name = stat.name; for (int j = 0; j < currentWeapon.stats.Count; j++) { Armour.Stat statadd = currentWeapon.stats[j]; if (statadd.name == stat.name) { newstat.value = statadd.value + stat.value; } } stats[i] = newstat; } }
public void equipWeapon(Weapon weapon) { currentWeapon = weapon; foreach (Transform child in RHWeaponSlot.transform) { Destroy(child.gameObject); } foreach (Transform child in LHWeaponSlot.transform) { Destroy(child.gameObject); } int n = 0; foreach (Armour.Stat stat in weapon.stats) { Armour.Stat statCopy = baseStats[n]; statCopy.value += stat.value; currentStats[n] = statCopy; n++; } updateStats(); if (currentHealth == maxHealth) { updateStats(); } if (weapon.path != "") { GameObject myPrefab = Resources.Load(weapon.path, typeof(GameObject)) as GameObject; RHWeaponGameobject = Instantiate(myPrefab, new Vector3(0, 0, 0), myPrefab.transform.rotation); RHWeaponGameobject.transform.parent = RHWeaponSlot.transform; RHWeaponGameobject.transform.localPosition = new Vector3(0, 0, 0); Vector3 newScale = new Vector3(transform.localScale.x, Mathf.Abs(transform.localScale.y), transform.localScale.z); RHWeaponGameobject.transform.localScale = Vector3.Scale(Vector3.Scale(RHWeaponGameobject.transform.localScale, newScale), new Vector3(3.3f, 3.3f, 3.3f)); RHWeaponGameobject.GetComponent <SpriteRenderer>().sortingOrder = 6; RHWeaponGameobject.transform.localRotation = Quaternion.Euler(new Vector3(0, 0, 0)); Debug.Log("WE HERE BRUH"); Debug.Log(RHWeaponGameobject.transform.rotation.eulerAngles); if (weapon.dual) { LHWeaponGameobject = Instantiate(myPrefab, new Vector3(0, 0, 0), myPrefab.transform.rotation); LHWeaponGameobject.transform.parent = LHWeaponSlot.transform; LHWeaponGameobject.transform.localPosition = new Vector3(0, 0, 0); newScale = new Vector3(transform.localScale.x, Mathf.Abs(transform.localScale.y), transform.localScale.z); LHWeaponGameobject.transform.localScale = Vector3.Scale(Vector3.Scale(LHWeaponGameobject.transform.localScale, newScale), new Vector3(3.3f, 3.3f, 3.3f)); if (transform.localScale.x < 0) { LHWeaponGameobject.transform.localScale = new Vector3(LHWeaponGameobject.transform.localScale.x, LHWeaponGameobject.transform.localScale.y * -1, LHWeaponGameobject.transform.localScale.z); } LHWeaponGameobject.GetComponent <SpriteRenderer>().sortingOrder = -1; LHWeaponGameobject.transform.localRotation = Quaternion.Euler(new Vector3(0, 0, 0)); } Debug.Log(RHWeaponGameobject.transform.rotation.eulerAngles); Debug.Log("is!!"); } }