public override void _Ready() { GameData.Instance.State = GameData.GameState.Narration; if (GameData.Instance.yokai == YokaiId.None) { Continue(); return; } // Sanity check to avoid the infamous win-crash int money = (100 + GameData.Instance.MoneyPercentageBonus) * GameData.Instance.yokai.Data().Reward / 100; GameData.Instance.yokai = YokaiId.None; GetNode <Label>(moneyPath).Text = $"+{money}"; GameData.Instance.Money += money; CardId card = CardData.AllSpecial().Random(); GetNode <CardVisual>(cardPath).ShowCard(card.Data()); GetNode <CardVisual>(cardPath).IsDisabled = true; GetNode <RichTextLabel>(descriptionPath).BbcodeText = BB.Format(card.Data().Description); GetNode <Button>(addCardbuttonPath).Connect("pressed", this, nameof(AddToDeck), new Godot.Collections.Array() { card }); GetNode <Button>(continuePath).Connect("pressed", this, nameof(Continue)); RNG.StartCycle(); Global.SaveGame(); }
public void Init() { bubbleText.Text = WELCOME_MESSAGES.Random(); buyButton.Hide(); List <CardId> all = CardData.AllSpecial(); Load(all.PopRandom(), all.PopRandom(), all.PopRandom(), GameData.Instance.LeftInShop.Count == 0 ? FoodId.None : GameData.Instance.LeftInShop.Random()); }