Tutorial done

This commit is contained in:
Sewmina
2022-10-17 04:25:47 +05:30
parent 586dab72d6
commit eb59ea6984
23 changed files with 14789 additions and 216 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -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:

View File

@@ -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);
}
}

View 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;
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 14f135076942807149ce1d9e140a0731
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -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){

View File

@@ -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){

View File

@@ -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){

View File

@@ -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();

View File

@@ -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);
// }
}
}

View File

@@ -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();
}

View File

@@ -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;
}
}

View File

@@ -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();
}

View 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);
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 989b71b0166e271688086c991b1b5fe6
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -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{

View File

@@ -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:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: de2ae93ce401bd9329f40f7a83390ab8
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View 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

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 7223f5614b378714c81fdbdd42ae7ea6
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View 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

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 3e4af45f1ddc6ecba83d3a0a165746fc
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

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