using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Reflection; using System.Threading.Tasks; using HotUpdate.Gameplay; using HotUpdate.Net; using HotUpdate.UI; using TMPro; using UnityEditor; using UnityEngine; using UnityEngine.UI; using UnityEngine.EventSystems; public static class VerifyInventory { static PrototypeFlow Flow=>UnityEngine.Object.FindObjectOfType(); static void Check(bool b,string message){if(!b)throw new Exception(message);} static T Get(string name)=>(T)typeof(PrototypeFlow).GetField(name,BindingFlags.NonPublic|BindingFlags.Instance).GetValue(Flow); static void Set(string name,object value)=>typeof(PrototypeFlow).GetField(name,BindingFlags.NonPublic|BindingFlags.Instance).SetValue(Flow,value); static async Task Until(Func condition,int seconds=20){var end=DateTime.UtcNow.AddSeconds(seconds);while(!condition()){Check(DateTime.UtcNowUnityEngine.Object.FindObjectsOfType