Пример #1
0
    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);
    }