// Start is called before the first frame update void Start() { LevelController.Instance.onLevelWin.AddListener(OnLevelWin); LevelController.Instance.onLevelLose.AddListener(OnLeveLose); CurrentGameSettings = Resources.Load <GameSettings>("DefaultSettings"); campaignDescriptor = Resources.Load <CampaignDescriptor>("LevelData/DefaultCampaign"); finishedLevels = PlayerPrefs.GetInt("finishedLevels"); GameState = GameStates.Menu; OnGameStateChange.Invoke(); }
public void CampaignDescriptor_Test() { using var harmony = new HarmonyDisposable($"{nameof(DependencyInjectionTests)}.{nameof(CampaignDescriptor_Test)}"); harmony.Patch(AccessTools.DeclaredPropertyGetter(typeof(CampaignTime), "CurrentTicks"), prefix: new HarmonyMethod(DelegateHelper.GetMethodInfo(MockedCurrentTicks))); harmony.Patch(SymbolExtensions.GetMethodInfo(() => CharacterCode.CreateFrom((BasicCharacterObject)null !)), prefix: new HarmonyMethod(DelegateHelper.GetMethodInfo(MockedCreateFrom))); var hero = (Hero)FormatterServices.GetUninitializedObject(typeof(Hero)); #if e143 || e150 || e151 || e152 || e153 || e154 || e155 || e156 || e157 || e158 || e159 AccessTools.Field(typeof(Hero), "Name").SetValue(hero, new TextObject("TestHero")); #elif e1510 || e160 AccessTools.Property(typeof(Hero), "Name").SetValue(hero, new TextObject("TestHero")); #else #error ConstGameVersionWithPrefix is not handled! #endif AccessTools.Field(typeof(Hero), "_birthDay").SetValue(hero, CampaignTime.YearsFromNow(18)); var campaignDescriptor = CampaignDescriptor.Create(hero); Assert.NotNull(campaignDescriptor); Assert.True(campaignDescriptor is CampaignDescriptorImplementation); }