1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306 |
- using UnityEngine;
- using UnityEngine.UI;
- using UnityEngine.Serialization;
- using System;
- using System.Xml;
- using System.Collections;
- using System.Collections.Generic;
- using Random = UnityEngine.Random;
- public class Award
- {
- #region 变量
- public static int BonusCoin;
- public static int BonusDiamond;
- public int DiamondMin;
- public int DiamondMax;
- public string CoinFml;
- public string FlowerFml;
- public string DiamondFml;
- public List<float> Odds;
- public List<float> Standard;
- #endregion
- public Award(XmlAttributeCollection attribute)
- {
- CoinFml = attribute[1].Value;
- FlowerFml = attribute[4].Value;
- DiamondFml = attribute[3].Value;
-
- string[] strings = attribute[2].Value.Split(',');
- DiamondMin = int.Parse(strings[0]);
- DiamondMax = int.Parse(strings[1]);
- strings = attribute[5].Value.Split(',');
- Odds = new List<float>()
- {
- float.Parse(strings[0]),
- float.Parse(strings[1]),
- float.Parse(strings[2]),
- };
- strings = attribute[6].Value.Split(',');
- Standard = new List<float>()
- {
- float.Parse(strings[0]),
- float.Parse(strings[1]),
- float.Parse(strings[2]),
- };
- }
- public void GetAward(int score)
- {
- if (Initializer.Tutorial)
- {
- TutorialAward(score);
- }
- else
- {
- RegularAward(score);
- }
- }
- private void TutorialAward(int score)
- {
- ManaReso.Get("Da_Info").TweenForCG();
- ManaReso.SetActive("Da_Lab", false);
- ManaReso.SetActive("Da_Quit", false);
- ManaReso.SetActive("Da_Cancel", false);
- ManaReso.SetActive("Da_VGroup", false);
- ManaReso.SetActive("Da_HGroup", false);
- ManaReso.SetActive("Da_ScoreTit", false);
- ManaReso.SetActive("Da_GetAward", false);
- ManaReso.SetActive("Da_FlowerGroup", false);
- ManaReso.SetActive("Da_DiamondGroup", false);
- bool diamondFlag = false;
- int coin = (int)Auxiliary.FmlParse(CoinFml, "s", score.ToString());
- coin = Mathf.FloorToInt(coin * (1 + ManaData.SkillPlus)) + BonusCoin;
- ManaData.Coin += coin;
- int diamond = 0;
- float diamondRate = (float)Auxiliary.FmlParse(DiamondFml, "l", Mathf.Clamp(ManaData.Level, 1, 1000).ToString());
- if (Random.Range(0, 1f) <= diamondRate)
- {
- diamondFlag = true;
- ManaReso.SetActive("Da_Diamond", true);
- diamond = Mathf.FloorToInt(Mathf.Lerp(DiamondMin, DiamondMax, Random.Range(0, 1f)) + BonusDiamond);
- ManaData.Diamond += diamond;
- }
- else
- {
- if (BonusDiamond > 0)
- {
- diamondFlag = true;
- ManaReso.SetActive("Da_Diamond", true);
- ManaData.Diamond += BonusDiamond;
- }
- }
- int standard;
- if (score < Standard[1])
- {
- standard = 0;
- }
- else if (score < Standard[2])
- {
- standard = 1;
- }
- else
- {
- standard = 2;
- }
- FlowerInfo flowerInfo = ManaGarden.FlowerInfoList[0];
- Vector2 newSize = flowerInfo.Sprite.rect.size;
- newSize.x *= 0.2f;
- newSize.y *= 0.2f;
- ManaReso.Get<Image>("Da_FlowerIcon").sprite = flowerInfo.Sprite;
- ManaReso.Get<Image>("Da_FlowerIcon").rectTransform.sizeDelta = newSize;
- ManaReso.SetText("Da_FlowerLab", Language.GetStr("FlowerName", "Flower" + flowerInfo.ID));
- BonusCoin = 0;
- BonusDiamond = 0;
- ManaReso.SetActive("Da_VGroup", true);
- ManaReso.SetActive("Da_CoinGroup", true);
- if (diamondFlag)
- {
- ManaReso.SetActive("Da_DiamondGroup", true);
- }
- ManaReso.SetActive("Da_FlowerGroup", true);
- Auxiliary.Instance.DelayCall
- (
- () =>
- {
- ManaReso.SetActive("Da_FlowerGroup", false);
- ManaReso.SetActive("Da_DiamondGroup", false);
- ManaReso.Get("Da_VGroup").GetComponent<VerticalLayoutGroup>().enabled = false;
- },
- 1
- );
- Tween tween = ManaReso.Get("Da_Info").GetTweenCG();
- tween.OnForwardFinish = () =>
- {
- ManaReso.SetActive("Da_HGroup", true);
- ManaReso.Get("Da_Star1").TweenForScale();
- };
- ManaReso.SetText("Da_CoinLab", "");
- ManaReso.SetText("Da_ScoreLab", "");
- ManaReso.SetText("Da_DiamondLab", "");
- ManaReso.Get("Da_CoinLab").CreateTweenNumber(0, coin, 1.5f, true, true, Curve.EaseOutQuad);
- ManaReso.Get("Da_ScoreLab").CreateTweenNumber(0, score, 1.5f, true, true, Curve.EaseOutQuad);
- ManaReso.Get("Da_DiamondLab").CreateTweenNumber(0, diamond, 1.5f, true, true, Curve.EaseOutQuad);
- tween = ManaReso.Get("Da_ScoreTit").GetTweenText();
- tween.InOrigin = true;
- tween = ManaReso.Get("Da_Star3").GetTweenScale();
- tween.InOrigin = true;
- tween.OnForwardFinish = null;
- tween = ManaReso.Get("Da_Star2").GetTweenScale();
- tween.InOrigin = true;
- tween.OnForwardFinish = null;
- tween = ManaReso.Get("Da_Star1").GetTweenScale();
- tween.InOrigin = true;
- tween.OnForwardFinish = null;
- if (standard == 0)
- {
- ManaReso.SetActive("Da_Star2", false);
- ManaReso.SetActive("Da_Star3", false);
- }
- else if (standard == 1)
- {
- ManaReso.SetActive("Da_Star2", true);
- ManaReso.SetActive("Da_Star3", false);
- tween = ManaReso.Get("Da_Star1").GetTweenScale();
- tween.OnForwardFinish += () =>
- {
- ManaReso.Get("Da_Star2").TweenForScale();
- };
- tween = ManaReso.Get("Da_Star2").GetTweenScale();
- }
- else if (standard == 2)
- {
- ManaReso.SetActive("Da_Star2", true);
- ManaReso.SetActive("Da_Star3", true);
- tween = ManaReso.Get("Da_Star1").GetTweenScale();
- tween.OnForwardFinish += () =>
- {
- ManaReso.Get("Da_Star2").TweenForScale();
- };
- tween = ManaReso.Get("Da_Star2").GetTweenScale();
- tween.OnForwardFinish += () =>
- {
- ManaReso.Get("Da_Star3").TweenForScale();
- };
- tween = ManaReso.Get("Da_Star3").GetTweenScale();
- }
- tween.OnForwardFinish = () =>
- {
- ManaReso.Get("Da_ScoreTit").TweenForText();
- };
- tween = ManaReso.Get("Da_ScoreTit").GetTweenText();
- tween.OnForwardFinish = () =>
- {
- ManaReso.Get("Da_ScoreLab").TweenForNumber();
- };
- tween = ManaReso.Get("Da_ScoreLab").GetTweenNumber();
- tween.OnForwardFinish = () =>
- {
- ManaReso.Get<CanvasGroup>("Da_VGroup").alpha = 1;
- ManaReso.SetActive("Da_VGroup", true);
- ManaReso.Get("Da_CoinGroup").TweenForScale();
- if (diamondFlag)
- {
- ManaReso.Get("Da_DiamondGroup").TweenForScale();
- }
- };
- tween = ManaReso.Get("Da_CoinGroup").GetTweenScale();
- tween.OnForwardFinish = () =>
- {
- ManaReso.Get("Da_CoinLab").TweenForNumber();
- };
- tween = ManaReso.Get("Da_CoinLab").GetTweenNumber();
- if (diamondFlag)
- {
- tween = ManaReso.Get("Da_DiamondGroup").GetTweenScale();
- tween.OnForwardFinish = () =>
- {
- ManaReso.Get("Da_DiamondLab").TweenForNumber();
- };
- tween = ManaReso.Get("Da_DiamondLab").GetTweenNumber();
- }
- else
- {
- ManaReso.Get("Da_DiamondGroup").GetTweenScale().OnForwardFinish = () =>
- {
- };
- }
- tween = ManaReso.Get("Da_CoinLab").GetTweenNumber();
- tween.OnForwardFinish = () =>
- {
- ManaReso.SetActive("Da_FlowerGroup", true);
- ManaReso.Get("Da_FlowerGroup").TweenForScale();
- };
- tween = ManaReso.Get("Da_FlowerGroup").GetTweenScale();
- tween.OnForwardFinish = () =>
- {
- ManaReso.Get("Da_GetAward").TweenForCG();
- };
- }
- private void RegularAward(int score)
- {
- ManaReso.Get("Da_Info").TweenForCG();
- ManaReso.SetActive("Da_Lab", false);
- ManaReso.SetActive("Da_Quit", false);
- ManaReso.SetActive("Da_Cancel", false);
- ManaReso.SetActive("Da_VGroup", false);
- ManaReso.SetActive("Da_HGroup", false);
- ManaReso.SetActive("Da_ScoreTit", false);
- ManaReso.SetActive("Da_GetAward", false);
- ManaReso.SetActive("Da_FlowerGroup", false);
- ManaReso.SetActive("Da_DiamondGroup", false);
- bool flowerFlag = false;
- bool diamondFlag = false;
- int coin = (int)Auxiliary.FmlParse(CoinFml, "s", score.ToString());
- coin = (int)(coin * (1 + ManaData.SkillPlus)) + BonusCoin;
- ManaData.Coin += coin;
- int diamond = 0;
- float diamondRate = (float)Auxiliary.FmlParse(DiamondFml, "l", Mathf.Clamp(ManaData.Level, 1, 1000).ToString());
- if (Random.Range(0, 1f) <= diamondRate)
- {
- diamondFlag = true;
- ManaReso.SetActive("Da_Diamond", true);
- diamond = (int)Mathf.Lerp(DiamondMin, DiamondMax, Random.Range(0, 1f)) + BonusDiamond;
- ManaData.Diamond += diamond;
- }
- else
- {
- if (BonusDiamond > 0)
- {
- diamondFlag = true;
- ManaReso.SetActive("Da_Diamond", true);
- ManaData.Diamond += BonusDiamond;
- }
- }
- int standard;
- if (score < Standard[1])
- {
- standard = 0;
- }
- else if (score < Standard[2])
- {
- standard = 1;
- }
- else
- {
- standard = 2;
- }
- float flowerRate = (float)Auxiliary.FmlParse(DiamondFml, "l", ManaData.Level.ToString(), "f", ManaGarden.MyFlower.ToString());
- if (Random.Range(0, 1f) <= flowerRate)
- {
- if (Random.Range(0, 1f) <= Odds[standard])
- {
- int Anti = 0;
- FlowerInfo flowerInfo;
- while (true)
- {
- Anti++;
- if (Anti > 1000)
- {
- throw new Exception();
- }
- flowerInfo = ManaGarden.FlowerInfoList.Random();
- if (flowerInfo.Unlock)
- {
- flowerFlag = true;
- Vector2 newSize = flowerInfo.Sprite.rect.size;
- newSize.x *= 0.2f;
- newSize.y *= 0.2f;
- ManaReso.Get<Image>("Da_FlowerIcon").sprite = flowerInfo.Sprite;
- ManaReso.Get<Image>("Da_FlowerIcon").rectTransform.sizeDelta = newSize;
- ManaReso.SetText("Da_FlowerLab", Language.GetStr("FlowerName", "Flower" + flowerInfo.ID));
- break;
- }
- }
- }
- }
- BonusCoin = 0;
- BonusDiamond = 0;
- ManaReso.SetActive("Da_VGroup", true);
- ManaReso.SetActive("Da_CoinGroup", true);
- if (diamondFlag)
- {
- ManaReso.SetActive("Da_DiamondGroup", true);
- }
- if (flowerFlag)
- {
- ManaReso.SetActive("Da_FlowerGroup", true);
- }
- Auxiliary.Instance.DelayCall
- (
- () =>
- {
- ManaReso.SetActive("Da_FlowerGroup", false);
- ManaReso.SetActive("Da_DiamondGroup", false);
- ManaReso.Get("Da_VGroup").GetComponent<VerticalLayoutGroup>().enabled = false;
- },
- 1
- );
- Tween tween = ManaReso.Get("Da_Info").GetTweenCG();
- tween.OnForwardFinish = () =>
- {
- ManaReso.SetActive("Da_HGroup", true);
- ManaReso.Get("Da_Star1").TweenForScale();
- };
- ManaReso.SetText("Da_CoinLab", "");
- ManaReso.SetText("Da_ScoreLab", "");
- ManaReso.SetText("Da_DiamondLab", "");
- ManaReso.Get("Da_CoinLab").CreateTweenNumber(0, coin, 1.5f, true, true, Curve.EaseOutQuad);
- ManaReso.Get("Da_ScoreLab").CreateTweenNumber(0, score, 1.5f, true, true, Curve.EaseOutQuad);
- ManaReso.Get("Da_DiamondLab").CreateTweenNumber(0, diamond, 1.5f, true, true, Curve.EaseOutQuad);
- tween = ManaReso.Get("Da_ScoreTit").GetTweenText();
- tween.InOrigin = true;
- tween = ManaReso.Get("Da_Star3").GetTweenScale();
- tween.InOrigin = true;
- tween.OnForwardFinish = null;
- tween = ManaReso.Get("Da_Star2").GetTweenScale();
- tween.InOrigin = true;
- tween.OnForwardFinish = null;
- tween = ManaReso.Get("Da_Star1").GetTweenScale();
- tween.InOrigin = true;
- tween.OnForwardFinish = null;
- if (standard == 0)
- {
- ManaReso.SetActive("Da_Star2", false);
- ManaReso.SetActive("Da_Star3", false);
- }
- else if (standard == 1)
- {
- ManaReso.SetActive("Da_Star2", true);
- ManaReso.SetActive("Da_Star3", false);
- tween = ManaReso.Get("Da_Star1").GetTweenScale();
- tween.OnForwardFinish += () =>
- {
- ManaReso.Get("Da_Star2").TweenForScale();
- };
- tween = ManaReso.Get("Da_Star2").GetTweenScale();
- }
- else if (standard == 2)
- {
- ManaReso.SetActive("Da_Star2", true);
- ManaReso.SetActive("Da_Star3", true);
- tween = ManaReso.Get("Da_Star1").GetTweenScale();
- tween.OnForwardFinish += () =>
- {
- ManaReso.Get("Da_Star2").TweenForScale();
- };
- tween = ManaReso.Get("Da_Star2").GetTweenScale();
- tween.OnForwardFinish += () =>
- {
- ManaReso.Get("Da_Star3").TweenForScale();
- };
- tween = ManaReso.Get("Da_Star3").GetTweenScale();
- }
- tween.OnForwardFinish = () =>
- {
- ManaReso.Get("Da_ScoreTit").TweenForText();
- };
- tween = ManaReso.Get("Da_ScoreTit").GetTweenText();
- tween.OnForwardFinish = () =>
- {
- ManaReso.Get("Da_ScoreLab").TweenForNumber();
- };
- tween = ManaReso.Get("Da_ScoreLab").GetTweenNumber();
- tween.OnForwardFinish = () =>
- {
- ManaReso.Get<CanvasGroup>("Da_VGroup").alpha = 1;
- ManaReso.SetActive("Da_VGroup", true);
- ManaReso.Get("Da_CoinGroup").TweenForScale();
- if (diamondFlag)
- {
- ManaReso.Get("Da_DiamondGroup").TweenForScale();
- }
- };
- tween = ManaReso.Get("Da_CoinGroup").GetTweenScale();
- tween.OnForwardFinish = () =>
- {
- ManaReso.Get("Da_CoinLab").TweenForNumber();
- };
- tween = ManaReso.Get("Da_CoinLab").GetTweenNumber();
- if (diamondFlag)
- {
- tween = ManaReso.Get("Da_DiamondGroup").GetTweenScale();
- tween.OnForwardFinish = () =>
- {
- ManaReso.Get("Da_DiamondLab").TweenForNumber();
- };
- tween = ManaReso.Get("Da_DiamondLab").GetTweenNumber();
- }
- else
- {
- ManaReso.Get("Da_DiamondGroup").GetTweenScale().OnForwardFinish = () =>
- {
- };
- }
- if (flowerFlag)
- {
- tween = ManaReso.Get("Da_CoinLab").GetTweenNumber();
- tween.OnForwardFinish = () =>
- {
- ManaReso.SetActive("Da_FlowerGroup", true);
- ManaReso.Get("Da_FlowerGroup").TweenForScale();
- };
- tween = ManaReso.Get("Da_FlowerGroup").GetTweenScale();
- }
- else
- {
- ManaReso.Get("Da_CoinLab").GetTweenNumber().OnForwardFinish = () =>
- {
- };
- }
- tween.OnForwardFinish = () =>
- {
- ManaReso.Get("Da_GetAward").TweenForCG();
- };
- }
- }
- public class ManaMiniGame : Regist
- {
- #region 变量
- public static int Score
- {
- get { return _Score; }
- set
- {
- _Score = value;
- ManaReso.SetText("D_ScoreLab", _Score.ToString());
- }
- }
- public static bool Game
- {
- get { return _Game; }
- set
- {
- _Game = value;
- if (_Game)
- {
- ManaReso.SetText("D_StatusLab", Language.GetStr("UI", "D_StatusLab1"));
- }
- else
- {
- ManaReso.SetText("D_StatusLab", Language.GetStr("UI", "D_StatusLab0"));
- }
- }
- }
- public static bool Pause
- {
- get { return _Pause; }
- set
- {
- _Pause = value;
- if (Game)
- {
- if (_Pause)
- {
- ManaReso.SetText("D_StatusLab", Language.GetStr("UI", "D_StatusLab2"));
- }
- else
- {
- ManaReso.SetText("D_StatusLab", Language.GetStr("UI", "D_StatusLab1"));
- }
- }
- }
- }
- public static bool Panalty
- {
- get { return _Panalty; }
- set
- {
- _Panalty = value;
- if (_Panalty)
- {
- ManaReso.SetText("D_StatusLab", Language.GetStr("UI", "D_StatusLab3"));
- }
- else
- {
- ManaReso.SetText("D_StatusLab", Language.GetStr("UI", "D_StatusLab1"));
- }
- }
- }
- public static bool Prepare
- {
- get { return _Prepare; }
- set
- {
- _Prepare = value;
- if (Prepare)
- {
- PrepareTimer = 3;
- ManaReso.Get("D_Rip1").SetActive(true);
- ManaReso.Get("D_Water1").SetActive(true);
- ManaReso.Get("D_Fertilize1").SetActive(true);
- ManaReso.Get("D_Begin").SetActive(false);
- PrepareLab.SetActive(true);
- }
- }
- }
- public static float GameTimer
- {
- get { return _GameTimer; }
- set
- {
- _GameTimer = value;
- TimerIcon.fillAmount = _GameTimer / GameTime;
-
- TimerLab.text = _GameTimer.ToString("0.0");
- }
- }
- public static float PrepareTimer
- {
- get { return _PrepareTimer; }
- set
- {
- _PrepareTimer = value;
- PrepareLab.text = Mathf.CeilToInt(_PrepareTimer).ToString();
- }
- }
- private static int _Score;
- private static bool _Game;
- private static bool _Pause;
- private static bool _Panalty;
- private static bool _Prepare;
- private static float _GameTimer;
- private static float _PrepareTimer;
- public static int MiniGameIndex;
- public static bool TutorialValid = true;
- public static bool DropDiamond;
- public static List<DropGold> GoldList;
- public static List<DropDiamond> DiamondList;
- public static Text BtnLab;
- public static Text TimerLab;
- public static Text PrepareLab;
- public static Image TimerIcon;
- public static Award Award;
- public static List<Flower> OpList;
- public static List<Flower> IdleList;
- private static float OpTime;
- private static float OpTimer;
- private static float GoldTimer;
- private static float GameTime;
- private static float PanaltyTime;
- private static float PanaltyTimer;
- private static float DIamondTimer;
- #endregion
- private void FixedUpdate()
- {
- if (Initializer.Tutorial)
- {
- TutorialFixedUpdate();
- }
- else
- {
- RegularFixedUpdate();
- }
- }
- private void TutorialFixedUpdate()
- {
- if (Pause)
- {
- return;
- }
- if (Prepare)
- {
- PrepareTimer -= Time.fixedDeltaTime;
- if (PrepareTimer <= 0)
- {
- GameBegin();
- PrepareLab.text = Language.GetStr("UI", "D_PrepareLab");
- PrepareLab.TweenForGra();
- PrepareLab.TweenForText();
- }
- }
- if (Game == false)
- {
- return;
- }
- GoldTimer -= Time.fixedDeltaTime;
- if (GoldTimer < 0)
- {
- GoldTimer = Random.Range(3f, 6f);
- GoldList.Add(ManaReso.GetGold());
- }
- if (DropDiamond)
- {
- DIamondTimer -= Time.fixedDeltaTime;
- if (DIamondTimer < 0)
- {
- DropDiamond = false;
- DiamondList.Add(ManaReso.GetDiamond());
- }
- }
- GameTimer -= Time.fixedDeltaTime;
- if (GameTimer <= 0)
- {
- GameOver();
- return;
- }
- if (Panalty)
- {
- PanaltyTimer -= Time.fixedDeltaTime;
- if (PanaltyTimer <= 0)
- {
- Panalty = false;
- }
- }
- if (IdleList.Count > 0)
- {
- OpTimer -= Time.fixedDeltaTime;
- if (OpTimer <= 0)
- {
- OpTime -= OpTime * 0.03f;
- OpTimer = OpTime;
- Flower flower = IdleList[Random.Range(0, IdleList.Count)];
- flower.CreateOp(OpList.Count);
- OpList.Add(flower);
- IdleList.Remove(flower);
- if (TutorialValid)
- {
- Pause = true;
- TutorialValid = false;
- if (OpList[0].OpType == OpType.Rip)
- {
- Tutorial.HightScreen(ManaReso.Get("D_RipArrow0"), ManaReso.Get("D_RipArrow1"), ManaReso.Get("D_Rip1"));
- ManaReso.AddButtonEvent
- (
- "D_Rip2",
- () =>
- {
- Pause = false;
- Tutorial.HightDisable();
- }
- );
- }
- else if (OpList[0].OpType == OpType.Water)
- {
- Tutorial.HightScreen(ManaReso.Get("D_WaterArrow0"), ManaReso.Get("D_WaterArrow1"), ManaReso.Get("D_Water1"));
- ManaReso.AddButtonEvent
- (
- "D_Water2",
- () =>
- {
- Pause = false;
- Tutorial.HightDisable();
- }
- );
- }
- else if (OpList[0].OpType == OpType.Fertilize)
- {
- Tutorial.HightScreen(ManaReso.Get("D_FertilizeArrow0"), ManaReso.Get("D_Fertilize2"), ManaReso.Get("D_Fertilize1"));
- ManaReso.AddButtonEvent
- (
- "D_Fertilize2",
- () =>
- {
- Pause = false;
- Tutorial.HightDisable();
- }
- );
- }
- SceneMask.SetArea(OpList[0].OperateIcon.transform, 0.1f, 0.125f);
- }
- }
- }
- }
- private void RegularFixedUpdate()
- {
- if (Pause)
- {
- return;
- }
- if (Prepare)
- {
- PrepareTimer -= Time.fixedDeltaTime;
- if (PrepareTimer <= 0)
- {
- GameBegin();
- PrepareLab.text = Language.GetStr("UI", "D_PrepareLab");
- PrepareLab.TweenForGra();
- PrepareLab.TweenForText();
- }
- }
- if (Game == false)
- {
- return;
- }
- GoldTimer -= Time.fixedDeltaTime;
- if (GoldTimer < 0)
- {
- GoldTimer = Random.Range(3f, 6f);
- GoldList.Add(ManaReso.GetGold());
- }
- if (DropDiamond)
- {
- DIamondTimer -= Time.fixedDeltaTime;
- if (DIamondTimer < 0)
- {
- DropDiamond = false;
- DiamondList.Add(ManaReso.GetDiamond());
- }
- }
- GameTimer -= Time.fixedDeltaTime;
- if (GameTimer <= 0)
- {
- GameOver();
- return;
- }
- if (Panalty)
- {
- PanaltyTimer -= Time.fixedDeltaTime;
- if (PanaltyTimer <= 0)
- {
- Panalty = false;
- }
- }
- if (IdleList.Count > 0)
- {
- OpTimer -= Time.fixedDeltaTime;
- if (OpTimer <= 0)
- {
- OpTime -= OpTime * 0.03f;
- OpTimer = OpTime;
- Flower flower = IdleList[Random.Range(0, IdleList.Count)];
- flower.CreateOp(OpList.Count);
- OpList.Add(flower);
- IdleList.Remove(flower);
- }
- }
- }
- public override void RegistValueA()
- {
- OpTime = 1.5f;
- GameTime = 5;
- PanaltyTime = 1;
- OpTimer = OpTime;
- GameTimer = GameTime;
- MiniGameIndex = Data.PlayerInt("MiniGameIndex");
- Award = new Award(Data.GetAwardConfig());
- PrepareLab.color = ManaColor.Orange;
- PrepareLab.CreateTweenGra(1, 0, 0.25f, true, false, Curve.EaseOutQuad);
- Tween tween = PrepareLab.CreateTweenText(90, 100, 0.25f, true, false, Curve.EaseOutQuad);
- tween.OnForwardFinish += () =>
- {
- PrepareLab.SetAlpha(1);
- PrepareLab.fontSize = 90;
- };
- }
- public override void TutorialRegistValue()
- {
- RegistValueA();
- }
- public override void RegistReference()
- {
- TimerIcon = ManaReso.Get<Image>("D_TimerIcon");
- BtnLab = ManaReso.Get<Text>("D_BeginLab");
- TimerLab = ManaReso.Get<Text>("D_TimerLab");
- PrepareLab = ManaReso.Get<Text>("D_PrepareLab");
- }
- public override void TutorialRegistReference()
- {
- RegistReference();
- }
- #region MiniGame
- public static void Rip()
- {
- if (Panalty)
- {
- return;
- }
- if (OpList.Count == 0)
- {
- return;
- }
- if (OpList[0].Operate(OpType.Rip))
- {
- IdleList.Add(OpList[0]);
- OpList.Remove(OpList[0]);
- ResetOperate();
- }
- else
- {
- Panalty = true;
- PanaltyTimer = PanaltyTime;
- }
- }
- public static void Water()
- {
- if (Panalty)
- {
- return;
- }
- if (OpList.Count == 0)
- {
- return;
- }
- if (OpList[0].Operate(OpType.Water))
- {
- IdleList.Add(OpList[0]);
- OpList.Remove(OpList[0]);
- ResetOperate();
- }
- else
- {
- Panalty = true;
- PanaltyTimer = PanaltyTime;
- }
- }
- public static void Fertilize()
- {
- if (Panalty)
- {
- return;
- }
- if (OpList.Count == 0)
- {
- return;
- }
- if (OpList[0].Operate(OpType.Fertilize))
- {
- IdleList.Add(OpList[0]);
- OpList.Remove(OpList[0]);
- ResetOperate();
- }
- else
- {
- Panalty = true;
- PanaltyTimer = PanaltyTime;
- }
- }
- public static void GameOver()
- {
- ManaData.MiniGame++;
- Award.GetAward(Score);
- GameAbort();
- }
- public static void GameBegin()
- {
- MiniGameIndex++;
- GoldTimer = Random.Range(3f, 6f);
- DIamondTimer = Random.Range(0f, 40f);
- ManaDebug.Log(string.Format("第<color=red>{0}</color>次小游戏", MiniGameIndex));
- if (Random.Range(5, 9) <= MiniGameIndex)
- {
- MiniGameIndex = 0;
- DropDiamond = true;
- }
- else
- {
- if (Random.Range(0, 1f) <= 0.01f)
- {
- DropDiamond = true;
- }
- else
- {
- DropDiamond = false;
- }
- }
- Score = 0;
- Game = true;
- Pause = false;
- Panalty = false;
- Prepare = false;
- OpTimer = OpTime;
- GameTimer = GameTime;
- PanaltyTimer = 0;
- for (int i = 0; i < IdleList.Count; i++)
- {
- IdleList[i].GameBegin();
- }
- }
- public static void GameAbort()
- {
- PrepareLab.SetActive(false);
- ManaGarden.AwardLock = false;
- for (int i = 0; i < GoldList.Count; i++)
- {
- GoldList[i].Retrieve();
- }
- for (int i = 0; i < DiamondList.Count; i++)
- {
- DiamondList[i].Retrieve();
- }
- if (Game)
- {
- ManaData.Mini = false;
- ManaData.MiniTimer = Mathf.Lerp(180, 300, Random.Range(0, 1f));
- ManaReso.Get("C_MiniGame").TweenBacCG();
- ManaDebug.Log(string.Format("<color=red>{0:0}</color>秒后激活小游戏", ManaData.MiniTimer));
- }
- ManaReso.SetActive("D_Rip1", false);
- ManaReso.SetActive("D_Water1", false);
- ManaReso.SetActive("D_Fertilize1", false);
- ManaReso.SetActive("D_Begin", true);
- ManaReso.SetText("Da_Tit", string.Format(Language.GetStr("UI", "Da_Tit1")));
- Score = 0;
- Game = false;
- Pause = false;
- Panalty = false;
- Prepare = false;
- OpTimer = OpTime;
- GameTimer = GameTime;
- PanaltyTimer = 0;
- for (int i = 0; i < IdleList.Count; i++)
- {
- IdleList[i].GameOver();
- }
- for (int i = 0; i < OpList.Count; i++)
- {
- OpList[i].GameOver();
- }
- }
- public static void GamePrepare()
- {
- if (Initializer.Tutorial)
- {
- TutorialPrepare();
- }
- else
- {
- RegularPrepare();
- }
- }
- public static void ResetOperate()
- {
- if (OpList.Count >= 2)
- {
- OpList[0].SetFirstOp();
- OpList[1].SetSecondOp();
- }
- else if (OpList.Count >= 1)
- {
- OpList[0].SetFirstOp();
- }
- }
- private static void TutorialPrepare()
- {
- GoldList = new List<DropGold>();
- DiamondList = new List<DropDiamond>();
- ManaReso.SetText("Da_CoinLab", "");
- ManaReso.SetText("Da_FlowerLab", "");
- ManaReso.SetText("Da_DiamondLab", "");
- ManaReso.SetActive("Da_Coin", true);
- ManaReso.SetActive("Da_Flower", true);
- ManaReso.SetActive("Da_Diamond", true);
- ManaGarden.AwardLock = true;
- OpList = new List<Flower>();
- IdleList = new List<Flower>();
- IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[0], ManaReso.Get("SlotMini1")));
- IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[0], ManaReso.Get("SlotMini2")));
- IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[0], ManaReso.Get("SlotMini3")));
- IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[0], ManaReso.Get("SlotMini4")));
- IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[0], ManaReso.Get("SlotMini5")));
- IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[0], ManaReso.Get("SlotMini6")));
- IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[0], ManaReso.Get("SlotMini7")));
- IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[0], ManaReso.Get("SlotMini8")));
- IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[0], ManaReso.Get("SlotMini9")));
- }
- private static void RegularPrepare()
- {
- GoldList = new List<DropGold>();
- DiamondList = new List<DropDiamond>();
- ManaReso.SetText("Da_CoinLab", "");
- ManaReso.SetText("Da_FlowerLab", "");
- ManaReso.SetText("Da_DiamondLab", "");
- ManaReso.SetActive("Da_Coin", true);
- ManaReso.SetActive("Da_Flower", true);
- ManaReso.SetActive("Da_Diamond", true);
- ManaGarden.AwardLock = true;
- OpList = new List<Flower>();
- IdleList = new List<Flower>();
- IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[0], ManaReso.Get("SlotMini1")));
- IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[1], ManaReso.Get("SlotMini2")));
- IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[2], ManaReso.Get("SlotMini3")));
- IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[3], ManaReso.Get("SlotMini4")));
- IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[4], ManaReso.Get("SlotMini5")));
- IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[5], ManaReso.Get("SlotMini6")));
- IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[6], ManaReso.Get("SlotMini7")));
- IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[7], ManaReso.Get("SlotMini8")));
- IdleList.Add(ManaReso.GetFlower(ManaGarden.FlowerInfoList[8], ManaReso.Get("SlotMini9")));
- }
- #endregion
- }
|