public WeaponComparisonData Compare(WeaponData other) { WeaponComparisonData newData = new WeaponComparisonData(); Weapon a = weapon; Weapon b = other.weapon; newData.dpsPercentageDiff = b.dps / a.dps; newData.rangePercentageDiff = b.range / a.range; return(newData); }
//display timer information void DisplayPickupTimer() { timerDisplay.SetActive(curPickingupTimers.Count > 0); if (curPickingupTimers.Count == 0) { return; } timerDisplay.transform.position = transform.position; timerBar.transform.localScale = new Vector3(1f - curPickingupTimers[0].percentage, 1f, 1f); if (pickupTitleText.text == curPickingupTimers [0].name) //don't update if the pickup is the same { return; } pickupTitleText.text = curPickingupTimers [0].name; if (shooting.hasWeapon) { Pickup pickup = curPickingupTimers [0].pickup.GetComponent <Pickup> (); if (pickup != null && pickup.data is WeaponData) { WeaponData newWeaponData = curPickingupTimers [0].pickup.GetComponent <Pickup> ().data as WeaponData; WeaponComparisonData comparisonStats = shooting.GetWeaponData().Compare(newWeaponData); dpsText.text = Mathf.RoundToInt(comparisonStats.dpsPercentageDiff * 100) + "%"; dpsText.color = WeaponComparisonData.GetColorFromPercentage(comparisonStats.dpsPercentageDiff); rangeText.text = Mathf.RoundToInt(comparisonStats.rangePercentageDiff * 100) + "%"; rangeText.color = WeaponComparisonData.GetColorFromPercentage(comparisonStats.rangePercentageDiff); weaponStatsParent.SetActive(true); return; } } weaponStatsParent.SetActive(false); }