// IGUIPAGEPLAYERSTATS INTERFACE void IGuiPagePlayerStats.Refresh(PlayerPersistantInfo ppi) { PPIWeaponData weaponData; // collected values WeaponSettings weapon = ChooseWeapon(ppi, out weaponData); ItemSettings item = ChooseItem(ppi); PerkSettings perk = ChoosePerk(ppi); HatSettings hat = ChooseHat(ppi); SkinSettings skin = ChooseSkin(ppi); float totalShots = weaponData.StatsFire; float totalKills = weaponData.StatsKills; int killsTextId = totalKills == 1 ? 01160034 : 01160026; int computedAccurancy = totalShots > 0 ? Mathf.RoundToInt((weaponData.StatsHits / (float)totalShots) * 100) : 0; // weapon SetImage("WeaponImage", weapon != null ? weapon.ResearchWidget : null); SetText("WeaponName", weapon != null && weapon.Name != 0 ? TextDatabase.instance[weapon.Name] : ""); SetText("Kills_Enum", string.Format(TextDatabase.instance[killsTextId], totalKills)); SetText("Accuracy_Enum", computedAccurancy.ToString()); SetText("Headshots_Enum", "N/A" /*weaponData.StatsHeadShots.ToString()*/); SetText("Shotsfired_Enum", weaponData.StatsFire.ToString()); SetText("TotalTime_Enum", "N/A"); SetText("TotalTime_Units", TextDatabase.instance[01160014]); // item SetImage("ItemImage", item != null ? item.ShopWidget : null); SetText("ItemName", item != null && item.Name != 0 ? TextDatabase.instance[item.Name] : ""); // perk SetImage("PerkImage", perk != null ? perk.ShopWidget : null); SetText("PerkName", perk != null && perk.Name != 0 ? TextDatabase.instance[perk.Name] : ""); // hat SetImage("HatImage", hat != null ? hat.ShopWidget : null); SetText("HatName", hat != null && hat.Name != 0 ? TextDatabase.instance[hat.Name] : ""); // skin SetImage("SkinImage", skin != null ? skin.ScrollerWidget : null); SetText("SkinName", skin != null && skin.Name != 0 ? TextDatabase.instance[skin.Name] : ""); }
int CompareHat(int otherId) { HatSettings otherWs = HatSettingsManager.Instance.Get((E_HatID)(otherId)); HatSettings myWs = HatSettingsManager.Instance.Get((E_HatID)(Id)); //1. gold int res = myWs.GoldCost.CompareTo(otherWs.GoldCost); if (res != 0) { return(res); } //2. money res = myWs.MoneyCost.CompareTo(otherWs.MoneyCost); if (res != 0) { return(res); } //otherwise use regular order return(Id.CompareTo(otherId)); }