Tutorial done
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -7085,7 +7085,7 @@ RectTransform:
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 101.33}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!1 &7675510707330291337
|
||||
GameObject:
|
||||
@@ -7210,7 +7210,7 @@ MonoBehaviour:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7675510707330291337}
|
||||
m_Enabled: 0
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
|
||||
m_Name:
|
||||
|
||||
@@ -112,6 +112,6 @@ public class AudioManager : MonoBehaviour
|
||||
}
|
||||
|
||||
public void TypeWriter(){
|
||||
audioSrc.PlayOneShot(typewriters[Random.Range(0, typewriters.Length)],0.7f);
|
||||
audioSrc.PlayOneShot(typewriters[Random.Range(0, typewriters.Length)],0.1f);
|
||||
}
|
||||
}
|
||||
|
||||
30
Assets/Game/Scripts/ChestDataObject.cs
Normal file
30
Assets/Game/Scripts/ChestDataObject.cs
Normal file
@@ -0,0 +1,30 @@
|
||||
using UnityEngine;
|
||||
|
||||
[CreateAssetMenu(fileName = "Chestdata", menuName = "Game/ChestdataObject", order = 1)]
|
||||
public class ChestDataObject : ScriptableObject
|
||||
{
|
||||
public string name;
|
||||
public int Price;
|
||||
public float minGold;
|
||||
public float maxGold;
|
||||
public float minGems;
|
||||
public float maxGems;
|
||||
public float gemsChance;
|
||||
|
||||
public float commonChance;
|
||||
public float rareChance;
|
||||
public float legendaryChance;
|
||||
|
||||
public string getInfo(){
|
||||
string items = $"Gold {minGold}-{maxGold}\n";
|
||||
items += $"Gems : {minGems}-{maxGems} [{gemsChance}%]\n";
|
||||
|
||||
items += $"Common Skin : [{commonChance}%]\n";
|
||||
items += $"Rare Skin : [{rareChance}%]\n";
|
||||
items += $"Legendary Skin : [{legendaryChance}%]";
|
||||
|
||||
|
||||
|
||||
return items;
|
||||
}
|
||||
}
|
||||
11
Assets/Game/Scripts/ChestDataObject.cs.meta
Normal file
11
Assets/Game/Scripts/ChestDataObject.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 14f135076942807149ce1d9e140a0731
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -25,18 +25,22 @@ public class ChestOpener : MonoBehaviour
|
||||
instance = this;
|
||||
}
|
||||
|
||||
public async void OpenChest(int minLuck, int maxLuck){
|
||||
public async void OpenChest(ChestDataObject chestData){
|
||||
chestOpenPopup.SetActive(true);
|
||||
okButton.SetActive(false);
|
||||
int luckiness= Random.Range(minLuck,maxLuck);
|
||||
|
||||
List<SkinShopItemData> baseSkins = new List<SkinShopItemData>();
|
||||
List<SkinShopItemData> rareSkins = new List<SkinShopItemData>();
|
||||
List<SkinShopItemData> legendarySkins = new List<SkinShopItemData>();
|
||||
|
||||
SkinShopItemData selectedSkin = null;
|
||||
int gemsCount = 0;
|
||||
int goldCount = 0;
|
||||
if(luckiness > 70){
|
||||
float gemLucky = Random.Range(0,100f);
|
||||
float goldLucky = Random.Range(0,100f);
|
||||
int gemsCount = (gemLucky < chestData.gemsChance) ? (int)(chestData.minGems + ((chestData.maxGems - chestData.minGems)*(gemLucky/100f) )) : 0;
|
||||
int goldCount = (int)(chestData.minGold + ((chestData.maxGold - chestData.minGold)*(goldLucky/100f) ));
|
||||
|
||||
float skinsLucky = Random.Range(0,100f);
|
||||
if(skinsLucky < chestData.commonChance){
|
||||
//Skin is rewarded
|
||||
foreach(SkinShopItemData skin in skins.skins){
|
||||
if(!DBmanager.SkinsPurchased.Contains(skin.name)){
|
||||
@@ -53,24 +57,24 @@ public class ChestOpener : MonoBehaviour
|
||||
}
|
||||
}
|
||||
}
|
||||
if(luckiness > 95 && legendarySkins.Count > 0){
|
||||
|
||||
if(skinsLucky < chestData.legendaryChance && legendarySkins.Count > 0){
|
||||
//Legend
|
||||
selectedSkin = legendarySkins[Random.Range(0,legendarySkins.Count)];
|
||||
}else if(luckiness > 85 && rareSkins.Count > 0){
|
||||
goldCount += 50000;
|
||||
}else if(skinsLucky < chestData.rareChance && rareSkins.Count > 0){
|
||||
selectedSkin = rareSkins[Random.Range(0,rareSkins.Count)];
|
||||
goldCount += 5000;
|
||||
}else if(baseSkins.Count > 0){
|
||||
selectedSkin = baseSkins[Random.Range(0,baseSkins.Count)];
|
||||
goldCount+= 500;
|
||||
}
|
||||
}
|
||||
|
||||
if(luckiness > 50){
|
||||
gemsCount = Mathf.CeilToInt((float)luckiness / 20f) * 10;
|
||||
}
|
||||
goldCount = Mathf.CeilToInt((float)luckiness / 10f) * 1000;
|
||||
|
||||
goldDrop.SetActive(goldCount > 0);
|
||||
gemsDrop.SetActive(gemsCount > 0);
|
||||
skinDrop.SetActive(selectedSkin!=null);
|
||||
goldDrop.transform.GetComponentInChildren<TMP_Text>().text = goldCount.ToString("0,000");
|
||||
goldDrop.transform.GetComponentInChildren<TMP_Text>().text = goldCount.ToString();
|
||||
gemsDrop.transform.GetComponentInChildren<TMP_Text>().text = gemsCount.ToString();
|
||||
|
||||
if(selectedSkin!=null){
|
||||
|
||||
@@ -148,14 +148,14 @@ public class GameManager : MonoBehaviour
|
||||
LoadingScreen.instance.LoadLevel("Login");
|
||||
}
|
||||
|
||||
public void BuyChest(ChestButton button){
|
||||
if(DBmanager.Gems < button.Price){
|
||||
public void BuyChest(ChestButton chestBtn){
|
||||
if(DBmanager.Gems < chestBtn.Price){
|
||||
MessageDialog.instance.ShowMessage("Failed", "Insufficient Gems to complete the purchase");
|
||||
return;
|
||||
}
|
||||
|
||||
DBmanager.SetGems(DBmanager.Gems-button.Price);
|
||||
ChestOpener.instance.OpenChest((int)button.minLuck, (int)button.maxLuck);
|
||||
DBmanager.SetGems(DBmanager.Gems-chestBtn.Price);
|
||||
ChestOpener.instance.OpenChest(chestBtn.chestData);
|
||||
}
|
||||
|
||||
public void BuyGold(GoldPackButton button){
|
||||
|
||||
@@ -109,6 +109,10 @@ public class SkinShopManager : MonoBehaviour
|
||||
return rarity;
|
||||
}
|
||||
|
||||
public void SelectItem(int index){
|
||||
skinShopItems[index].OnClick();
|
||||
}
|
||||
|
||||
public void SelectItem(SkinShopItemData data, bool Available){
|
||||
selectedSkin = data;
|
||||
if(data==null){
|
||||
@@ -143,7 +147,7 @@ public class SkinShopManager : MonoBehaviour
|
||||
Populate();
|
||||
}
|
||||
|
||||
void onBuy(){
|
||||
public void onBuy(){
|
||||
List<SkinShopItemData> skinsInSameRarity = new List<SkinShopItemData>();
|
||||
foreach(SkinShopItemData skin in skinsAvailableToPurchase){
|
||||
if(skin.skinType == selectedSkin.skinType){
|
||||
|
||||
@@ -154,7 +154,7 @@ public class SelectedItemMenu : MonoBehaviour
|
||||
}
|
||||
}
|
||||
|
||||
void OnUpgrade()
|
||||
public void OnUpgrade()
|
||||
{
|
||||
if(Selector.selectedBuilding.GetComponent<GoldMine>()!=null){
|
||||
AudioManager.instnace.UIPopup();
|
||||
@@ -191,7 +191,7 @@ public class SelectedItemMenu : MonoBehaviour
|
||||
OnUpgradeMenuClicked();
|
||||
}
|
||||
|
||||
void OnGoldmineCapUpgrade(){
|
||||
public void OnGoldmineCapUpgrade(){
|
||||
int L = Selector.selectedBuilding.curLevel+1;
|
||||
int C = GoldMine.GetCapacityRateByLevel(L);
|
||||
if(C >=GoldMine.LevelsCount){return;}
|
||||
@@ -204,7 +204,7 @@ public class SelectedItemMenu : MonoBehaviour
|
||||
OnUpgradeMenuClicked();
|
||||
}
|
||||
|
||||
void OnGoldmineProdUpgrade(){
|
||||
public void OnGoldmineProdUpgrade(){
|
||||
int L = Selector.selectedBuilding.curLevel+1;
|
||||
int C = GoldMine.GetCapacityRateByLevel(L);
|
||||
int P = GoldMine.GetProductionRateByLevel(L);
|
||||
@@ -231,7 +231,7 @@ public class SelectedItemMenu : MonoBehaviour
|
||||
AudioManager.instnace.UIPopup();
|
||||
}
|
||||
|
||||
void OpenSkinMenu(){
|
||||
public void OpenSkinMenu(){
|
||||
SkinShopManager.instance.Show();
|
||||
AudioManager.instnace.UIPopup();
|
||||
|
||||
|
||||
@@ -9,10 +9,9 @@ public class ChestButton : MonoBehaviour
|
||||
public bool readFromTexts;
|
||||
public TMP_Text txtPrice;
|
||||
public TMP_Text txtChestName;
|
||||
public string ChestName => txtChestName.text;
|
||||
public ChestDataObject chestData;
|
||||
public int Price;
|
||||
public float minLuck = 0;
|
||||
public float maxLuck = 100;
|
||||
public bool overridePrice;
|
||||
public Button btnInfo;
|
||||
public Button adButton;
|
||||
[TextArea]
|
||||
@@ -27,11 +26,11 @@ public class ChestButton : MonoBehaviour
|
||||
|
||||
void OnClickedInfo()
|
||||
{
|
||||
MessageDialog.instance.ShowMessage(ChestName, $"This chest will drop following items.\n\n{getItemsProbability()}");
|
||||
MessageDialog.instance.ShowMessage(chestData.name, $"This chest will drop following items.\n\n{chestData.getInfo()}");
|
||||
}
|
||||
|
||||
void OnClick(){
|
||||
MessageDialog.instance.ShowQuestion("Are you sure?", $"Are you sure to purchase {ChestName} for {Price} Gems?", Buy,null);
|
||||
MessageDialog.instance.ShowQuestion("Are you sure?", $"Are you sure to purchase {chestData.name} for {Price} Gems?", Buy,null);
|
||||
}
|
||||
|
||||
void OnAdClicked(){
|
||||
@@ -46,7 +45,7 @@ public class ChestButton : MonoBehaviour
|
||||
}
|
||||
|
||||
DBmanager.SetGems(DBmanager.Gems - Price);
|
||||
ChestOpener.instance.OpenChest((int)minLuck, (int)maxLuck);
|
||||
ChestOpener.instance.OpenChest(chestData);
|
||||
}
|
||||
|
||||
public void BuyFree(){
|
||||
@@ -56,49 +55,20 @@ public class ChestButton : MonoBehaviour
|
||||
|
||||
IEnumerator buyFree(){
|
||||
yield return new WaitForSeconds(1);
|
||||
ChestOpener.instance.OpenChest((int)minLuck, (int)maxLuck);
|
||||
}
|
||||
|
||||
public string getItemsProbability()
|
||||
{
|
||||
string items = "Gold";
|
||||
|
||||
if (maxLuck > 50)
|
||||
{
|
||||
float probability = ((maxLuck - 50f) / (maxLuck - minLuck)) * 100f;
|
||||
items += $"\nGems : {probability.ToString("n1")}%";
|
||||
}
|
||||
|
||||
if (maxLuck > 70)
|
||||
{
|
||||
//some skins
|
||||
float probability = ((maxLuck - 70f) / (maxLuck - minLuck)) * 100f;
|
||||
items += $"\nCommon Skin : {probability.ToString("n1")}%";
|
||||
}
|
||||
if (maxLuck > 85)
|
||||
{
|
||||
float probability = ((maxLuck - 85f) / (maxLuck - minLuck)) * 100f;
|
||||
items += $"\nRare Skin : {probability.ToString("n1")}%";
|
||||
}
|
||||
if (maxLuck > 95)
|
||||
{
|
||||
float probability = ((maxLuck - 95f) / (maxLuck - minLuck)) * 100f;
|
||||
items += $"\nLegendary Skin : {probability.ToString("n1")}%";
|
||||
}
|
||||
|
||||
|
||||
return items;
|
||||
ChestOpener.instance.OpenChest(chestData);
|
||||
}
|
||||
|
||||
void OnValidate()
|
||||
{
|
||||
infoTxt = getItemsProbability();
|
||||
|
||||
infoTxt = chestData.getInfo();
|
||||
if(!overridePrice){Price=chestData.Price;}
|
||||
txtPrice.text = Price.ToString();
|
||||
txtChestName.text = chestData.name;
|
||||
if (!readFromTexts) { return; }
|
||||
|
||||
if (txtPrice != null)
|
||||
{
|
||||
Price = int.Parse(txtPrice.text);
|
||||
}
|
||||
// if (txtPrice != null)
|
||||
// {
|
||||
// Price = int.Parse(txtPrice.text);
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -81,7 +81,7 @@ public class SpecialChest : MonoBehaviour
|
||||
|
||||
IEnumerator StartChestList(){
|
||||
for(int i=0; i< quantity; i++){
|
||||
ChestOpener.instance.OpenChest((int)chestButton.minLuck, (int)chestButton.maxLuck);
|
||||
ChestOpener.instance.OpenChest(chestButton.chestData);
|
||||
while(ChestOpener.instance.active){
|
||||
yield return new WaitForEndOfFrame();
|
||||
}
|
||||
|
||||
@@ -2,18 +2,23 @@ using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class TutorialManager : MonoBehaviour
|
||||
{
|
||||
public static bool justRegistered;
|
||||
public static TutorialManager instance;
|
||||
public TutorialScreen[] firstTutorial;
|
||||
public GameObject[] itemsToDisableWhileInTuto;
|
||||
public Button btn_skip;
|
||||
void Awake()
|
||||
{
|
||||
instance = this;
|
||||
}
|
||||
|
||||
void Start(){
|
||||
btn_skip.onClick.AddListener(OnSkip);
|
||||
|
||||
justRegistered= true; //for testing purpose
|
||||
if(justRegistered){
|
||||
StartSequence(firstTutorial);
|
||||
@@ -22,6 +27,11 @@ public class TutorialManager : MonoBehaviour
|
||||
|
||||
|
||||
async void StartSequence(TutorialScreen[] list){
|
||||
skipped=false;
|
||||
btn_skip.gameObject.SetActive(true);
|
||||
foreach(GameObject item in itemsToDisableWhileInTuto){
|
||||
item.SetActive(false);
|
||||
}
|
||||
foreach(TutorialScreen screen in list){
|
||||
screen.Hide();
|
||||
}
|
||||
@@ -30,15 +40,28 @@ public class TutorialManager : MonoBehaviour
|
||||
await Task.Delay(list[i].delayBeforeAppear);
|
||||
list[i].Show();
|
||||
|
||||
while(!nextClicked){
|
||||
while(!nextClicked && !skipped){
|
||||
await Task.Delay(500);
|
||||
}
|
||||
list[i].Hide();
|
||||
|
||||
if(skipped){
|
||||
break;
|
||||
}
|
||||
}
|
||||
foreach(GameObject item in itemsToDisableWhileInTuto){
|
||||
item.SetActive(true);
|
||||
}
|
||||
btn_skip.gameObject.SetActive(false);
|
||||
}
|
||||
bool nextClicked= false;
|
||||
bool skipped = false;
|
||||
|
||||
public static void NextClicked(){
|
||||
instance.nextClicked = true;
|
||||
}
|
||||
|
||||
void OnSkip(){
|
||||
skipped=true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,19 +3,25 @@ using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Events;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class TutorialScreen : MonoBehaviour
|
||||
{
|
||||
public Transform messageParent;
|
||||
public Button btn_next;
|
||||
public Button[] additional_next_buttons;
|
||||
public int delayBeforeAppear;
|
||||
public bool hideNextButtonOnStart=true;
|
||||
public UnityEvent OnNextClicked;
|
||||
|
||||
Dictionary<TMP_Text, string> messages;
|
||||
|
||||
void Awake(){
|
||||
btn_next.onClick.AddListener(OnNextButton);
|
||||
foreach(Button btn in additional_next_buttons){
|
||||
btn.onClick.AddListener(OnNextButton);
|
||||
}
|
||||
}
|
||||
|
||||
public void Show(){
|
||||
@@ -59,6 +65,8 @@ public class TutorialScreen : MonoBehaviour
|
||||
}
|
||||
|
||||
public void OnNextButton(){
|
||||
OnNextClicked.Invoke();
|
||||
Debug.Log("Next button clicked");
|
||||
TutorialManager.NextClicked();
|
||||
AudioManager.instnace.UIClick();
|
||||
}
|
||||
|
||||
12
Assets/Game/Scripts/UIAnchorToWorldPoint.cs
Normal file
12
Assets/Game/Scripts/UIAnchorToWorldPoint.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class UIAnchorToWorldPoint : MonoBehaviour
|
||||
{
|
||||
public Transform worldPoint;
|
||||
void Update()
|
||||
{
|
||||
transform.position = Camera.main.WorldToScreenPoint(worldPoint.position);
|
||||
}
|
||||
}
|
||||
11
Assets/Game/Scripts/UIAnchorToWorldPoint.cs.meta
Normal file
11
Assets/Game/Scripts/UIAnchorToWorldPoint.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 989b71b0166e271688086c991b1b5fe6
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -116,7 +116,7 @@ public class XpPass : MonoBehaviour
|
||||
DBmanager.SetGems(DBmanager.Gems + reward.amount);
|
||||
}else if(reward.rewardType == XpRewardType.Chest){
|
||||
// StartCoroutine(destroyTimer(Instantiate(chestPrefab, chestSpawnParent),5));
|
||||
ChestOpener.instance.OpenChest(0,100);
|
||||
ChestOpener.instance.OpenChest(reward.chestData);
|
||||
}
|
||||
|
||||
break;
|
||||
@@ -134,6 +134,7 @@ public class XpPassReward{
|
||||
public int level;
|
||||
public XpRewardType rewardType;
|
||||
public int amount;
|
||||
public ChestDataObject chestData;
|
||||
}
|
||||
|
||||
public enum XpRewardType{
|
||||
|
||||
@@ -35,7 +35,7 @@ MonoBehaviour:
|
||||
image: {fileID: 21300000, guid: b6daf313078da4746bd859fc9e71e6e0, type: 3}
|
||||
price: 100000
|
||||
xpGain: 10000
|
||||
description: Buy and craft new skins with this structure.
|
||||
description: Allows you to purchase better rockets
|
||||
collectable: 0
|
||||
resourceType: 1
|
||||
productinoRates:
|
||||
|
||||
8
Assets/Resources/ScriptableObjects/Chests.meta
Normal file
8
Assets/Resources/ScriptableObjects/Chests.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: de2ae93ce401bd9329f40f7a83390ab8
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
24
Assets/Resources/ScriptableObjects/Chests/EpicChest.asset
Normal file
24
Assets/Resources/ScriptableObjects/Chests/EpicChest.asset
Normal file
@@ -0,0 +1,24 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 14f135076942807149ce1d9e140a0731, type: 3}
|
||||
m_Name: EpicChest
|
||||
m_EditorClassIdentifier:
|
||||
name: Epic Chest
|
||||
Price: 60
|
||||
minGold: 800
|
||||
maxGold: 3500
|
||||
minGems: 10
|
||||
maxGems: 30
|
||||
gemsChance: 70
|
||||
commonChance: 30
|
||||
rareChance: 20
|
||||
legendaryChance: 1
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7223f5614b378714c81fdbdd42ae7ea6
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
24
Assets/Resources/ScriptableObjects/Chests/LuckyChest.asset
Normal file
24
Assets/Resources/ScriptableObjects/Chests/LuckyChest.asset
Normal file
@@ -0,0 +1,24 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 14f135076942807149ce1d9e140a0731, type: 3}
|
||||
m_Name: LuckyChest
|
||||
m_EditorClassIdentifier:
|
||||
name: Lucky Chest
|
||||
Price: 12
|
||||
minGold: 100
|
||||
maxGold: 500
|
||||
minGems: 2
|
||||
maxGems: 6
|
||||
gemsChance: 50
|
||||
commonChance: 30
|
||||
rareChance: 10
|
||||
legendaryChance: 0.1
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3e4af45f1ddc6ecba83d3a0a165746fc
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
125
upf.sln
125
upf.sln
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user