Rocket individual upgrades

This commit is contained in:
Sewmina 2022-10-26 06:57:09 +05:30
parent dd89c3fbb5
commit edbfdcfe6e
15 changed files with 2951 additions and 10614 deletions

View File

@ -1674,7 +1674,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &2505205228767882940
RectTransform:
m_ObjectHideFlags: 0
@ -2363,7 +2363,6 @@ MonoBehaviour:
price_gold: 0
price_metal: 0
skinType: 0
txtLevel: {fileID: 6096889136691484860}
txtEnergyGain: {fileID: 3363943286193453567}
txtSpeed: {fileID: 1624087229452001930}
txtBoostConsumption: {fileID: 8748216152502678770}

File diff suppressed because it is too large Load Diff

View File

@ -43,7 +43,7 @@ public class ChestOpener : MonoBehaviour
if(skinsLucky < chestData.commonChance){
//Skin is rewarded
foreach(SkinShopItemData skin in skins.skins){
if(!DBmanager.SkinsPurchased.ContainsKey(skin.name)){
if(DBmanager.GetSkinIdByName(skin.name) < 0){
switch(skin.skinType){
case SkinType.Base:
baseSkins.Add(skin);

View File

@ -31,6 +31,7 @@ public class GameManager : MonoBehaviour
public TMP_Text[] rankText;
public Image[] rankImages;
public TMP_Text rankCost;
// public GameObject loadingScreen;
@ -137,6 +138,8 @@ public class GameManager : MonoBehaviour
effect.startColor = new Color(DBmanager.CurrentRank.color.r,DBmanager.CurrentRank.color.g, DBmanager.CurrentRank.color.b, effect.startColor.a);
}
}
rankCost.text = DBmanager.CurrentRank.entryFee.ToString();
}
public async void LoadMinigame()
@ -148,6 +151,10 @@ public class GameManager : MonoBehaviour
}
public void LoadRanked(){
if(DBmanager.Metal < DBmanager.CurrentRank.entryFee){
MessageDialog.instance.ShowMessage("Sorry", "You don't have enough energy to enter a Ranked match.");
return;
}
LoadingScreen.instance.LoadLevel("MinigameMatchmaking");
}

View File

@ -25,7 +25,7 @@ public class GoldMine : MonoBehaviour
int p = GetProductionRateByLevel(l);
int c = GetCapacityRateByLevel(l);
int L = GetLevelByRates(c,p);
Debug.Log($"Level:{l},{L},{lvl} ,Prod:{p}, Capactiy:{c}");
// Debug.Log($"Level:{l},{L},{lvl} ,Prod:{p}, Capactiy:{c}");
List<BuildingStat> stats = new List<BuildingStat>();
// stats.Add(new BuildingStat("Gold per hour", (p * ProductionMultiplier).ToString(),statIcon));

View File

@ -8,55 +8,133 @@ public class RocketUpgradePanel : MonoBehaviour
public TMP_Text txtEnergyGain;
public TMP_Text txtSpeed;
public TMP_Text txtBoostConsumption;
public TMP_Text txtLevel;
public TMP_Text txtCostGold;
public TMP_Text txtCostMetal;
public Button btn_upgrade;
RocketLevel CurrentLevel,NextLevel;
SkinShopItemData selectedRocket;
public Button btn_upgrade_speed;
public Button btn_upgrade_energy;
public Button btn_upgrade_boost;
public bool Affordable => DBmanager.Metal >= NextLevel.metalCost && DBmanager.Coins >= NextLevel.goldCost;
// RocketLevel CurrentLevel,NextLevel;
string selectedRocket;
// public bool Affordable => DBmanager.Metal >= NextLevel.metalCost && DBmanager.Coins >= NextLevel.goldCost;
void Awake(){
btn_upgrade.onClick.AddListener(OnUpgrade);
btn_upgrade_speed.onClick.AddListener(OnUpgradeSpeed);
btn_upgrade_energy.onClick.AddListener(OnUpgradeEnergy);
btn_upgrade_boost.onClick.AddListener(OnUpgradeBoost);
}
public void Show(RocketLevel currentLevel, RocketLevel nextLevel, SkinShopItemData rocketData){
CurrentLevel = currentLevel;
NextLevel = nextLevel;
selectedRocket = rocketData;
txtLevel.text = "Level " +currentLevel.Level;
txtEnergyGain.text = $"{currentLevel.moonMultiplier} Per moon";
txtSpeed.text = $"{currentLevel.speedMultiplier*100}%";
txtBoostConsumption.text = $"{currentLevel.boostConsumption*100}%";
int curSpeedLevel;
int curEnergyLevel;
int curBoostLevel;
SkinType rarity;
public float curSpeed => SkinShopManager.GetStatsForRarity(rarity)[curSpeedLevel].speedMultiplier;
public float curEnergy => SkinShopManager.GetStatsForRarity(rarity)[curEnergyLevel].moonMultiplier;
public float curBoost => SkinShopManager.GetStatsForRarity(rarity)[curBoostLevel].boostConsumption;
if(nextLevel != null){
txtLevel.text += $" -> <color=green> Level {nextLevel.Level}</color>";
txtEnergyGain.text += $" -> <color=green> {nextLevel.moonMultiplier}</color>";
txtSpeed.text += $" -> <color=green> {nextLevel.speedMultiplier*100}%</color>";
txtBoostConsumption.text += $" -> <color=green> {nextLevel.boostConsumption*100}%</color>";
public RocketLevel nextSpeedStats =>SkinShopManager.GetStatsForRarity(rarity)[curSpeedLevel];
public RocketLevel nextEnergyStats =>SkinShopManager.GetStatsForRarity(rarity)[curEnergyLevel];
public RocketLevel nextBoostStats =>SkinShopManager.GetStatsForRarity(rarity)[curBoostLevel];
public float nextSpeed => SkinShopManager.GetStatsForRarity(rarity)[curSpeedLevel+1].speedMultiplier;
public float nextEnergy => SkinShopManager.GetStatsForRarity(rarity)[curEnergyLevel+1].moonMultiplier;
public float nextBoost => SkinShopManager.GetStatsForRarity(rarity)[curBoostLevel+1].boostConsumption;
public void Show(string rocketName){
PurchasedSkin data = DBmanager.GetSkinByName(rocketName);
if(data==null){Debug.LogError("Couldn't find data for skin : " + rocketName);return;}
selectedRocket = rocketName;
rarity = SkinShopManager.GetRarityFromName(rocketName);
// txtLevel.text = "Level " +currentLevel.Level;
if(data == null){
Debug.LogError("You don't own this skin " + rocketName);
return;
}
curSpeedLevel = data.speedLevel;
curEnergyLevel = data.energyLevel;
curBoostLevel = data.boostLevel;
btn_upgrade.interactable = Affordable;
txtCostGold.text = nextLevel.goldCost.ToString();
txtCostMetal.text = nextLevel.metalCost.ToString();
txtCostGold.transform.parent.gameObject.SetActive(nextLevel.goldCost > 0);
txtCostMetal.transform.parent.gameObject.SetActive(nextLevel.metalCost > 0);
txtEnergyGain.text = $"{ curEnergy } Per moon";
txtSpeed.text = $"{curSpeed*100}%";
txtBoostConsumption.text = $"{ curBoost *100}%";
int maxLevels =SkinShopManager.GetStatsForRarity(rarity).Length;
if(curEnergyLevel < maxLevels-1) {txtEnergyGain.text += $" -> <color=green> {nextEnergy}</color>";}
if(curSpeedLevel < maxLevels-1) {txtSpeed.text += $" -> <color=green> {nextSpeed*100}%</color>";}
if(curBoostLevel < maxLevels-1) {txtBoostConsumption.text += $" -> <color=green> {nextBoost*100}%</color>";}
btn_upgrade_boost.interactable = DBmanager.Coins >= nextBoostStats.goldCost && DBmanager.Metal >= nextBoostStats.metalCost && curBoostLevel < maxLevels-1;
btn_upgrade_energy.interactable = DBmanager.Coins >= nextEnergyStats.goldCost && DBmanager.Metal >= nextEnergyStats.metalCost&& curEnergyLevel < maxLevels-1;
btn_upgrade_speed.interactable = DBmanager.Coins >= nextSpeedStats.goldCost && DBmanager.Metal >= nextSpeedStats.metalCost&& curSpeedLevel < maxLevels-1;
btn_upgrade_boost.transform.GetChild(1).GetChild(0).gameObject.SetActive(nextBoostStats.goldCost > 0);
btn_upgrade_boost.transform.GetChild(1).GetChild(0).GetComponentInChildren<TMP_Text>().text = nextBoostStats.goldCost.ToString();
btn_upgrade_boost.transform.GetChild(1).GetChild(1).gameObject.SetActive(nextBoostStats.metalCost > 0);
btn_upgrade_boost.transform.GetChild(1).GetChild(1).GetComponentInChildren<TMP_Text>().text = nextBoostStats.metalCost.ToString();
btn_upgrade_speed.transform.GetChild(1).GetChild(0).gameObject.SetActive(nextSpeedStats.goldCost > 0);
btn_upgrade_speed.transform.GetChild(1).GetChild(0).GetComponentInChildren<TMP_Text>().text = nextSpeedStats.goldCost.ToString();
btn_upgrade_speed.transform.GetChild(1).GetChild(1).gameObject.SetActive(nextSpeedStats.metalCost > 0);
btn_upgrade_speed.transform.GetChild(1).GetChild(1).GetComponentInChildren<TMP_Text>().text = nextSpeedStats.metalCost.ToString();
btn_upgrade_energy.transform.GetChild(1).GetChild(0).gameObject.SetActive(nextEnergyStats.goldCost > 0);
btn_upgrade_energy.transform.GetChild(1).GetChild(0).GetComponentInChildren<TMP_Text>().text = nextEnergyStats.goldCost.ToString();
btn_upgrade_energy.transform.GetChild(1).GetChild(1).gameObject.SetActive(nextEnergyStats.metalCost > 0);
btn_upgrade_energy.transform.GetChild(1).GetChild(1).GetComponentInChildren<TMP_Text>().text = nextEnergyStats.metalCost.ToString();
gameObject.SetActive(true);
}
void OnUpgrade(){
void OnUpgradeSpeed(){
bool Affordable = DBmanager.Coins >= nextSpeedStats.goldCost && DBmanager.Metal >= nextSpeedStats.metalCost;
if(!Affordable){
MessageDialog.instance.ShowMessage("Error","Not enough resources to upgrade.");
return;
}
DBmanager.UpgradeRocket(selectedRocket.name, NextLevel);
DBmanager.UpgradeRocketSpeed(selectedRocket, nextSpeedStats);
SkinShopManager.instance.Populate();
MessageDialog.instance.ShowMessage("Success","Rocket Upgraded Successfully!");
// MessageDialog.instance.ShowMessage("Success","Rocket Upgraded Successfully!");
AudioManager.instnace.ChestOpen();
Hide();
// Hide();
Show(selectedRocket);
}
void OnUpgradeBoost(){
bool Affordable = DBmanager.Coins >= nextBoostStats.goldCost && DBmanager.Metal >= nextBoostStats.metalCost;
if(!Affordable){
MessageDialog.instance.ShowMessage("Error","Not enough resources to upgrade.");
return;
}
DBmanager.UpgradeRocketBoost(selectedRocket, nextBoostStats);
SkinShopManager.instance.Populate();
// MessageDialog.instance.ShowMessage("Success","Rocket Upgraded Successfully!");
AudioManager.instnace.ChestOpen();
// Hide();
Show(selectedRocket);
}
void OnUpgradeEnergy(){
bool Affordable = DBmanager.Coins >= nextEnergyStats.goldCost && DBmanager.Metal >= nextEnergyStats.metalCost;
if(!Affordable){
MessageDialog.instance.ShowMessage("Error","Not enough resources to upgrade.");
return;
}
DBmanager.UpgradeRocketEnergy(selectedRocket, nextEnergyStats);
SkinShopManager.instance.Populate();
// MessageDialog.instance.ShowMessage("Success","Rocket Upgraded Successfully!");
AudioManager.instnace.ChestOpen();
// Hide();
Show(selectedRocket);
}
public void Hide(){

View File

@ -13,11 +13,19 @@ public class SkinShopItem : MonoBehaviour
// public GameObject notPurchasedIndicator;
public SkinShopItemData skinData;
[Header("Stats")]
public TMP_Text txtLevel;
// public TMP_Text txtLevel;
public TMP_Text txtEnergyGain;
public TMP_Text txtSpeed;
public TMP_Text txtBoostConsumption;
public float curSpeed => SkinShopManager.GetStatsForRarity(rarity)[curSpeedLevel].speedMultiplier;
public float curEnergy => SkinShopManager.GetStatsForRarity(rarity)[curEnergyLevel].moonMultiplier;
public float curBoost => SkinShopManager.GetStatsForRarity(rarity)[curBoostLevel].boostConsumption;
SkinType rarity;
int curSpeedLevel;
int curEnergyLevel;
int curBoostLevel;
public void Set(SkinShopItemData data, bool available){
skinData = data;
// newItem.backgroundImg.color = (skinsData.skins[i].skinType==SkinType.Base) ? basicColor : (skinsData.skins[i].skinType==SkinType.Rare ? rareColor : legendaryColor);
@ -37,19 +45,25 @@ public class SkinShopItem : MonoBehaviour
banners[3].SetActive(data.skinType== SkinType.Legendary);
//Level
txtLevel.text = "";
rarity = SkinShopManager.GetRarityFromName(data.name);
PurchasedSkin purchasedSkin = DBmanager.GetSkinByName(data.name);
if(purchasedSkin != null){
curSpeedLevel = purchasedSkin.speedLevel;
curEnergyLevel = purchasedSkin.energyLevel;
curBoostLevel = purchasedSkin.boostLevel;
}
// txtLevel.text = "";
txtEnergyGain.transform.parent.gameObject.SetActive(available);
txtSpeed.transform.parent.gameObject.SetActive(available);
txtBoostConsumption.transform.parent.gameObject.SetActive(available);
if(available){
int curLevel = DBmanager.SkinsPurchased[data.name];
RocketLevel level = SkinShopManager.GetStatsForRarity(data)[curLevel];
txtLevel.text = "Level " +(curLevel+1);
txtEnergyGain.text = level.moonMultiplier.ToString();
txtSpeed.text = (level.speedMultiplier * 100).ToString("n0") + "%";
txtBoostConsumption.text = (level.boostConsumption * 100).ToString("n0") + "%";
txtEnergyGain.text = curEnergy.ToString();
txtSpeed.text = (curSpeed * 100).ToString("n0") + "%";
txtBoostConsumption.text = (curBoost * 100).ToString("n0") + "%";
}
}
@ -62,7 +76,7 @@ public class SkinShopItem : MonoBehaviour
frame.enabled=false;
}
if(!DBmanager.SkinsPurchased.ContainsKey(skinData.name)){
if(DBmanager.GetSkinIdByName(skinData.name) < 0){
frame.color = Color.red;
// notPurchasedIndicator.SetActive(true);
// notPurchasedIndicator.GetComponentInChildren<TMP_Text>().text = skinData.price.ToString();

View File

@ -76,7 +76,7 @@ public class SkinShopManager : MonoBehaviour
bool isAvailable = skinShopBuilding.curLevel >= rarity;
if(!isAvailable){continue;}
bool isOwned = DBmanager.SkinsPurchased.ContainsKey(skinsData.skins[i].name);
bool isOwned = DBmanager.GetSkinIdByName(skinsData.skins[i].name) >= 0;
if(skinShopBuilding.curLevel == rarity){
@ -129,7 +129,7 @@ public class SkinShopManager : MonoBehaviour
btn_Equip.gameObject.SetActive(false); btn_Buy.gameObject.SetActive(false);
return;
}
if(DBmanager.SkinsPurchased.ContainsKey(data.name)){ // <-- purchased
if(DBmanager.GetSkinIdByName(data.name)>=0){ // <-- purchased
btn_Equip.gameObject.SetActive(true);
btn_Upgrade.gameObject.SetActive(true);
btn_Buy.gameObject.SetActive(false);
@ -163,9 +163,7 @@ public class SkinShopManager : MonoBehaviour
}
void onUpgrade(){
RocketLevel[] levels = GetStatsForRarity(selectedSkin);
int curLevel = DBmanager.SkinsPurchased[selectedSkin.name];
upgradePanel.Show(levels[curLevel], levels[curLevel+1],selectedSkin);
upgradePanel.Show(selectedSkin.name);
}
public void onBuy(){

View File

@ -176,6 +176,9 @@ public class SpaceshipController : NetworkBehaviour
if (isLocalPlayer)
{
ResetStats();
if(MinigameManager.instance.isRanked){
DBmanager.SetMetal(DBmanager.Metal + DBmanager.CurrentRank.energyReward);
}
if (joystick == null) { joystick = FindObjectOfType<Joystick>(); }
FindObjectOfType<CameraFollower>().SetTarget(transform);
string myName = PlayerPrefs.GetString("username");
@ -190,7 +193,7 @@ public class SpaceshipController : NetworkBehaviour
}
//Set Skin
if (!DBmanager.SkinsPurchased.ContainsKey(SkinShopManager.GetEquipedSkin()))
if (DBmanager.GetSkinIdByName(SkinShopManager.GetEquipedSkin()) < 0)
{
//False skin purchase
}
@ -198,22 +201,23 @@ public class SpaceshipController : NetworkBehaviour
{
string skin = SkinShopManager.GetEquipedSkin();
SkinType rarity = SkinShopManager.GetRarityFromName(skin);
int level = DBmanager.SkinsPurchased[skin];
RocketLevel stats = SkinShopManager.GetStatsForRarity(rarity)[level];
PurchasedSkin purchasedSkin = DBmanager.GetSkinByName(skin);
float m_speed = SkinShopManager.GetStatsForRarity(rarity)[purchasedSkin.speedLevel].speedMultiplier;
float m_energy = SkinShopManager.GetStatsForRarity(rarity)[purchasedSkin.energyLevel].moonMultiplier;
float m_boost = SkinShopManager.GetStatsForRarity(rarity)[purchasedSkin.boostLevel].boostConsumption;
if (isServer)
{
skinName = skin;
speedMultiplier = stats.speedMultiplier;
energyGain = stats.moonMultiplier;
boostConsumption = stats.boostConsumption;
speedMultiplier = m_speed;
energyGain = m_energy;
boostConsumption = m_boost;
}
else
{
CmdSetSkin(skin);
CmdSetStats(stats.speedMultiplier, stats.moonMultiplier,stats.boostConsumption);
CmdSetStats(m_speed, m_energy, m_boost);
}
}

View File

@ -29,7 +29,8 @@ public class DBmanager : MonoBehaviour
private static List<InventoryEntry> inventory;
private static List<int> expPassCollected = new List<int>();
private static Dictionary<string,int> skinsPurchased = new Dictionary<string,int>();
private static List<PurchasedSkin> skinsPurchased = new List<PurchasedSkin>(){defaultSkin};
static PurchasedSkin defaultSkin => new PurchasedSkin(){name="Default"};
public static List<BuildingState> buildingStates = new List<BuildingState>();
public static UnityEvent OnStateChanged = new UnityEvent();
@ -61,7 +62,7 @@ public class DBmanager : MonoBehaviour
public static int LevelInt => Mathf.CeilToInt(level);
public static List<int> ExpPassCollected => expPassCollected;
public static List<InventoryEntry> Inventory => inventory;
public static Dictionary<string,int> SkinsPurchased => skinsPurchased;
public static List<PurchasedSkin> SkinsPurchased => skinsPurchased;
public static bool LoggedIn { get { return username != null; } }
@ -620,21 +621,46 @@ public class DBmanager : MonoBehaviour
}
public static void SetPurchasedSkins(string data){
skinsPurchased= new Dictionary<string,int>();
skinsPurchased= new List<PurchasedSkin>(){defaultSkin};
// string[] skins = data.Split(',');
// foreach(string skin in skins){
// skinsPurchased.Add(skin, 0);
// }
try{
skinsPurchased = JsonConvert.DeserializeObject<Dictionary<string,int>>(data);
skinsPurchased = JsonConvert.DeserializeObject<List<PurchasedSkin>>(data);
}catch{
Debug.LogError("Error parsing skins purchased, resetting");
skinsPurchased = new Dictionary<string, int>();
skinsPurchased = new List<PurchasedSkin>(){defaultSkin};
}
if(skinsPurchased == null){skinsPurchased = new Dictionary<string, int>();}
if(skinsPurchased == null){skinsPurchased = new List<PurchasedSkin>(){defaultSkin};}
}
public static int GetSkinIdByName(string name){
int value = -1;
for(int i = 0; i < skinsPurchased.Count; i++){
if(skinsPurchased[i].name == name){
value = i;
break;
}
}
return value;
}
public static void UpgradeRocket(string rocketName, RocketLevel nextLevel){
public static PurchasedSkin GetSkinByName(string name){
PurchasedSkin value = null;
for(int i = 0; i < skinsPurchased.Count; i++){
if(skinsPurchased[i].name == name){
value = skinsPurchased[i];
break;
}
}
// if(value ==null){
// Debug.LogError("No data found for " + name);
// }
return value;
}
public static void UpgradeRocketSpeed(string rocketName, RocketLevel nextLevel){
if(coins < nextLevel.goldCost || metal < nextLevel.metalCost){
return;
}
@ -642,10 +668,39 @@ public class DBmanager : MonoBehaviour
SetCoins(coins-nextLevel.goldCost);
SetMetal(metal - nextLevel.metalCost);
SkinsPurchased[rocketName]++;
skinsPurchased[GetSkinIdByName(rocketName)].speedLevel = nextLevel.Level;
UpdatePurchasedSkins();
}
public static void UpgradeRocketBoost(string rocketName, RocketLevel nextLevel){
if(coins < nextLevel.goldCost || metal < nextLevel.metalCost){
return;
}
SetCoins(coins-nextLevel.goldCost);
SetMetal(metal - nextLevel.metalCost);
skinsPurchased[GetSkinIdByName(rocketName)].boostLevel++;
UpdatePurchasedSkins();
}
public static void UpgradeRocketEnergy(string rocketName, RocketLevel nextLevel){
if(coins < nextLevel.goldCost || metal < nextLevel.metalCost){
return;
}
SetCoins(coins-nextLevel.goldCost);
SetMetal(metal - nextLevel.metalCost);
skinsPurchased[GetSkinIdByName(rocketName)].energyLevel++;
UpdatePurchasedSkins();
}
public static void PurchaseSkin(SkinShopItemData data){
if(metal < data.price_metal || coins < data.price_gold){
return;
@ -657,7 +712,7 @@ public class DBmanager : MonoBehaviour
}
public static void AddSkin(SkinShopItemData data){
skinsPurchased.Add(data.name,0);
skinsPurchased.Add(new PurchasedSkin(){name= data.name});
UpdatePurchasedSkins();
}
@ -1031,4 +1086,12 @@ public class LeaderboardUserData{
public string username;
public int trophies;
public int position;
}
[Serializable]
public class PurchasedSkin{
public string name;
public int speedLevel;
public int boostLevel;
public int energyLevel;
}

View File

@ -7,6 +7,8 @@ public class RankLevel{
public string name;
public int minimumTrophies;
public int trophieLoss;
public int entryFee;
public int energyReward;
public Sprite image;
public Color color;
}

View File

@ -10,9 +10,10 @@ public class XpPass : MonoBehaviour
public GameObject newRewardsNotification;
public float sliderWidthPerLevel = 450;
public Slider levelSlider;
[SerializeField]
public XpPassReward[] rewards;
public Sprite goldRewardIcon, gemRewardIcon, chestRewardIcon;
public XpPassReward[] rewards => rewardsData.rewards;
public XPRewards rewardsData;
public Sprite goldRewardIcon,energyRewardIcon, gemRewardIcon, chestRewardIcon;
public GameObject rewardCardPrefab;
public GameObject xpLevelPointPrefab;
public Sprite disabledXpPointIcon;
@ -71,6 +72,9 @@ public class XpPass : MonoBehaviour
case XpRewardType.Gold:
rewardCard.transform.GetChild(1).GetComponent<Image>().sprite = goldRewardIcon;
break;
case XpRewardType.Energy:
rewardCard.transform.GetChild(1).GetComponent<Image>().sprite = energyRewardIcon;
break;
case XpRewardType.Gems:
rewardCard.transform.GetChild(1).GetComponent<Image>().sprite = gemRewardIcon;
break;

View File

@ -16,35 +16,42 @@ MonoBehaviour:
- name: Bronze
minimumTrophies: 0
trophieLoss: 0
entryFee: 10
image: {fileID: 21300000, guid: a273ca472d0bc8a67a856db223b3a3da, type: 3}
color: {r: 0.5283019, g: 0.11712353, b: 0.11712353, a: 1}
- name: Silver
minimumTrophies: 300
trophieLoss: 5
entryFee: 30
image: {fileID: 21300000, guid: 8dc5a38bd216f37bd8405be22494a225, type: 3}
color: {r: 0.6509434, g: 0.6509434, b: 0.6509434, a: 1}
- name: Gold
minimumTrophies: 600
trophieLoss: 15
entryFee: 60
image: {fileID: 21300000, guid: 3430c98347b36e4798cc5f2fccbe592f, type: 3}
color: {r: 1, g: 0.64591235, b: 0, a: 1}
- name: Diamond
minimumTrophies: 1000
trophieLoss: 30
entryFee: 100
image: {fileID: 21300000, guid: 6c86bca207bc3bf6b83de7333a598ee6, type: 3}
color: {r: 0.80555093, g: 0.003826994, b: 0.8113208, a: 1}
- name: Elite
minimumTrophies: 1500
trophieLoss: 30
entryFee: 200
image: {fileID: 21300000, guid: 0ed441f193ded0ee8b99a2b23b455410, type: 3}
color: {r: 0.0070538903, g: 0.8584906, b: 0, a: 1}
- name: Supreme
minimumTrophies: 2000
trophieLoss: 30
entryFee: 400
image: {fileID: 21300000, guid: 632638cbab4366d37bf8cf2479ba7396, type: 3}
color: {r: 1, g: 0, b: 0, a: 1}
- name: Legend
minimumTrophies: 3000
trophieLoss: 50
entryFee: 600
image: {fileID: 21300000, guid: 556e20ecbc8ddc2c2967ae46b020550b, type: 3}
color: {r: 0, g: 0.41719317, b: 1, a: 1}

125
upf.sln
View File

@ -1,83 +1,90 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp", "Assembly-CSharp.csproj", "{f8f3d981-3ac9-a8b7-ea43-2868619efe2a}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp", "Assembly-CSharp.csproj", "{81D9F3F8-C93A-B7A8-EA43-2868619EFE2A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SimpleWebTransport", "SimpleWebTransport.csproj", "{f4ef7e8d-99b4-a202-8a27-32dcfce49cfe}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SimpleWebTransport", "SimpleWebTransport.csproj", "{8D7EEFF4-B499-02A2-8A27-32DCFCE49CFE}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mirror.Examples", "Mirror.Examples.csproj", "{6f1ac7da-277d-ee44-8547-e218c93f84df}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mirror.Examples", "Mirror.Examples.csproj", "{DAC71A6F-7D27-44EE-8547-E218C93F84DF}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mirror", "Mirror.csproj", "{d9448b0f-e456-cf8f-8285-980f3496df94}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mirror", "Mirror.csproj", "{0F8B44D9-56E4-8FCF-8285-980F3496DF94}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Whinarn.UnityMeshSimplifier.Runtime", "Whinarn.UnityMeshSimplifier.Runtime.csproj", "{b99ffb8c-f6f2-f646-802e-7cb2e62d8c0c}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mirror.Components", "Mirror.Components.csproj", "{E7A80302-5562-0B7E-3CBF-ECAE2398312C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mirror.Components", "Mirror.Components.csproj", "{0203a8e7-6255-7e0b-3cbf-ecae2398312c}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Telepathy", "Telepathy.csproj", "{11D8948C-8879-BF2E-1CC0-26B574688E67}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LRM", "LRM.csproj", "{26781e0a-1a67-f20f-caa4-70358928f5ad}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "kcp2k", "kcp2k.csproj", "{AB2F7FCF-3DD8-66F3-F3B2-9D9E4EDDC3CC}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Telepathy", "Telepathy.csproj", "{8c94d811-7988-2ebf-1cc0-26b574688e67}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "where-allocations", "where-allocations.csproj", "{2EC220E0-BB60-197A-F116-EF587D3AE77F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "kcp2k", "kcp2k.csproj", "{cf7f2fab-d83d-f366-f3b2-9d9e4eddc3cc}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mirror.Authenticators", "Mirror.Authenticators.csproj", "{78A60D52-D50E-5370-5E7F-1A7E3C90B70A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "where-allocations", "where-allocations.csproj", "{e020c22e-60bb-7a19-f116-ef587d3ae77f}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Unity.Mirror.CodeGen", "Unity.Mirror.CodeGen.csproj", "{AD49B858-EAB7-01E4-5C5B-0056F4CEC462}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mirror.Authenticators", "Mirror.Authenticators.csproj", "{520da678-0ed5-7053-5e7f-1a7e3c90b70a}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mirror.Editor", "Mirror.Editor.csproj", "{D933CB74-FAAA-6F4B-1603-B7B7C41EDD4C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Unity.Mirror.CodeGen", "Unity.Mirror.CodeGen.csproj", "{58b849ad-b7ea-e401-5c5b-0056f4cec462}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mirror.CompilerSymbols", "Mirror.CompilerSymbols.csproj", "{86E7D3E1-7361-3A5F-7812-807511D3F547}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mirror.Editor", "Mirror.Editor.csproj", "{74cb33d9-aafa-4b6f-1603-b7b7c41edd4c}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mirror.CompilerSymbols", "Mirror.CompilerSymbols.csproj", "{e1d3e786-6173-5f3a-7812-807511d3f547}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Unity.com.consulo.ide.Editor", "Unity.com.consulo.ide.Editor.csproj", "{f3918ae7-b834-5fa8-e000-01833c449c8e}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GoogleMobileAds.Editor", "GoogleMobileAds.Editor.csproj", "{d679f8af-fbd3-35d5-0469-e80b52a245e7}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp-Editor", "Assembly-CSharp-Editor.csproj", "{20764e99-32a2-613b-c7bd-2b420a48759f}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Whinarn.UnityMeshSimplifier.Editor", "Whinarn.UnityMeshSimplifier.Editor.csproj", "{9c3e4793-780d-e333-1ec5-d5e17feec6f2}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp-Editor", "Assembly-CSharp-Editor.csproj", "{994E7620-A232-3B61-C7BD-2B420A48759F}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{f8f3d981-3ac9-a8b7-ea43-2868619efe2a}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{f8f3d981-3ac9-a8b7-ea43-2868619efe2a}.Debug|Any CPU.Build.0 = Debug|Any CPU
{f4ef7e8d-99b4-a202-8a27-32dcfce49cfe}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{f4ef7e8d-99b4-a202-8a27-32dcfce49cfe}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6f1ac7da-277d-ee44-8547-e218c93f84df}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6f1ac7da-277d-ee44-8547-e218c93f84df}.Debug|Any CPU.Build.0 = Debug|Any CPU
{d9448b0f-e456-cf8f-8285-980f3496df94}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{d9448b0f-e456-cf8f-8285-980f3496df94}.Debug|Any CPU.Build.0 = Debug|Any CPU
{b99ffb8c-f6f2-f646-802e-7cb2e62d8c0c}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{b99ffb8c-f6f2-f646-802e-7cb2e62d8c0c}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0203a8e7-6255-7e0b-3cbf-ecae2398312c}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0203a8e7-6255-7e0b-3cbf-ecae2398312c}.Debug|Any CPU.Build.0 = Debug|Any CPU
{26781e0a-1a67-f20f-caa4-70358928f5ad}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{26781e0a-1a67-f20f-caa4-70358928f5ad}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8c94d811-7988-2ebf-1cc0-26b574688e67}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8c94d811-7988-2ebf-1cc0-26b574688e67}.Debug|Any CPU.Build.0 = Debug|Any CPU
{cf7f2fab-d83d-f366-f3b2-9d9e4eddc3cc}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{cf7f2fab-d83d-f366-f3b2-9d9e4eddc3cc}.Debug|Any CPU.Build.0 = Debug|Any CPU
{e020c22e-60bb-7a19-f116-ef587d3ae77f}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{e020c22e-60bb-7a19-f116-ef587d3ae77f}.Debug|Any CPU.Build.0 = Debug|Any CPU
{520da678-0ed5-7053-5e7f-1a7e3c90b70a}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{520da678-0ed5-7053-5e7f-1a7e3c90b70a}.Debug|Any CPU.Build.0 = Debug|Any CPU
{58b849ad-b7ea-e401-5c5b-0056f4cec462}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{58b849ad-b7ea-e401-5c5b-0056f4cec462}.Debug|Any CPU.Build.0 = Debug|Any CPU
{74cb33d9-aafa-4b6f-1603-b7b7c41edd4c}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{74cb33d9-aafa-4b6f-1603-b7b7c41edd4c}.Debug|Any CPU.Build.0 = Debug|Any CPU
{e1d3e786-6173-5f3a-7812-807511d3f547}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{e1d3e786-6173-5f3a-7812-807511d3f547}.Debug|Any CPU.Build.0 = Debug|Any CPU
{f3918ae7-b834-5fa8-e000-01833c449c8e}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{f3918ae7-b834-5fa8-e000-01833c449c8e}.Debug|Any CPU.Build.0 = Debug|Any CPU
{d679f8af-fbd3-35d5-0469-e80b52a245e7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{d679f8af-fbd3-35d5-0469-e80b52a245e7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{20764e99-32a2-613b-c7bd-2b420a48759f}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{20764e99-32a2-613b-c7bd-2b420a48759f}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9c3e4793-780d-e333-1ec5-d5e17feec6f2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9c3e4793-780d-e333-1ec5-d5e17feec6f2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{81D9F3F8-C93A-B7A8-EA43-2868619EFE2A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{81D9F3F8-C93A-B7A8-EA43-2868619EFE2A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{81D9F3F8-C93A-B7A8-EA43-2868619EFE2A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{81D9F3F8-C93A-B7A8-EA43-2868619EFE2A}.Release|Any CPU.Build.0 = Release|Any CPU
{8D7EEFF4-B499-02A2-8A27-32DCFCE49CFE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8D7EEFF4-B499-02A2-8A27-32DCFCE49CFE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8D7EEFF4-B499-02A2-8A27-32DCFCE49CFE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8D7EEFF4-B499-02A2-8A27-32DCFCE49CFE}.Release|Any CPU.Build.0 = Release|Any CPU
{DAC71A6F-7D27-44EE-8547-E218C93F84DF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DAC71A6F-7D27-44EE-8547-E218C93F84DF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DAC71A6F-7D27-44EE-8547-E218C93F84DF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DAC71A6F-7D27-44EE-8547-E218C93F84DF}.Release|Any CPU.Build.0 = Release|Any CPU
{0F8B44D9-56E4-8FCF-8285-980F3496DF94}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0F8B44D9-56E4-8FCF-8285-980F3496DF94}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0F8B44D9-56E4-8FCF-8285-980F3496DF94}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0F8B44D9-56E4-8FCF-8285-980F3496DF94}.Release|Any CPU.Build.0 = Release|Any CPU
{E7A80302-5562-0B7E-3CBF-ECAE2398312C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E7A80302-5562-0B7E-3CBF-ECAE2398312C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E7A80302-5562-0B7E-3CBF-ECAE2398312C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E7A80302-5562-0B7E-3CBF-ECAE2398312C}.Release|Any CPU.Build.0 = Release|Any CPU
{11D8948C-8879-BF2E-1CC0-26B574688E67}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{11D8948C-8879-BF2E-1CC0-26B574688E67}.Debug|Any CPU.Build.0 = Debug|Any CPU
{11D8948C-8879-BF2E-1CC0-26B574688E67}.Release|Any CPU.ActiveCfg = Release|Any CPU
{11D8948C-8879-BF2E-1CC0-26B574688E67}.Release|Any CPU.Build.0 = Release|Any CPU
{AB2F7FCF-3DD8-66F3-F3B2-9D9E4EDDC3CC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AB2F7FCF-3DD8-66F3-F3B2-9D9E4EDDC3CC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AB2F7FCF-3DD8-66F3-F3B2-9D9E4EDDC3CC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AB2F7FCF-3DD8-66F3-F3B2-9D9E4EDDC3CC}.Release|Any CPU.Build.0 = Release|Any CPU
{2EC220E0-BB60-197A-F116-EF587D3AE77F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2EC220E0-BB60-197A-F116-EF587D3AE77F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2EC220E0-BB60-197A-F116-EF587D3AE77F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2EC220E0-BB60-197A-F116-EF587D3AE77F}.Release|Any CPU.Build.0 = Release|Any CPU
{78A60D52-D50E-5370-5E7F-1A7E3C90B70A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{78A60D52-D50E-5370-5E7F-1A7E3C90B70A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{78A60D52-D50E-5370-5E7F-1A7E3C90B70A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{78A60D52-D50E-5370-5E7F-1A7E3C90B70A}.Release|Any CPU.Build.0 = Release|Any CPU
{AD49B858-EAB7-01E4-5C5B-0056F4CEC462}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AD49B858-EAB7-01E4-5C5B-0056F4CEC462}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AD49B858-EAB7-01E4-5C5B-0056F4CEC462}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AD49B858-EAB7-01E4-5C5B-0056F4CEC462}.Release|Any CPU.Build.0 = Release|Any CPU
{D933CB74-FAAA-6F4B-1603-B7B7C41EDD4C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D933CB74-FAAA-6F4B-1603-B7B7C41EDD4C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D933CB74-FAAA-6F4B-1603-B7B7C41EDD4C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D933CB74-FAAA-6F4B-1603-B7B7C41EDD4C}.Release|Any CPU.Build.0 = Release|Any CPU
{86E7D3E1-7361-3A5F-7812-807511D3F547}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{86E7D3E1-7361-3A5F-7812-807511D3F547}.Debug|Any CPU.Build.0 = Debug|Any CPU
{86E7D3E1-7361-3A5F-7812-807511D3F547}.Release|Any CPU.ActiveCfg = Release|Any CPU
{86E7D3E1-7361-3A5F-7812-807511D3F547}.Release|Any CPU.Build.0 = Release|Any CPU
{994E7620-A232-3B61-C7BD-2B420A48759F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{994E7620-A232-3B61-C7BD-2B420A48759F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{994E7620-A232-3B61-C7BD-2B420A48759F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{994E7620-A232-3B61-C7BD-2B420A48759F}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE