public override void Initialize() { Instance = this; Instance.Log("Blackmoth initializing!"); ModHooks.Instance.HeroUpdateHook += Update; ModHooks.Instance.HeroUpdateHook += GetReferences; ModHooks.Instance.DashVectorHook += CalculateDashVelocity; ModHooks.Instance.DashPressedHook += CheckForDash; ModHooks.Instance.LanguageGetHook += Descriptions; UnityEngine.SceneManagement.SceneManager.sceneLoaded += ResetPosition; EventInfo hi = ModHooks.Instance.GetType().GetEvent("HitInstanceHook", BindingFlags.Instance | BindingFlags.Public); isHitInstance = !Equals(hi, null); if (isHitInstance) { Log("HitInstanceHook found!"); Delegate handler = Delegate.CreateDelegate(hi.EventHandlerType, this, "SetDamages"); hi.AddEventHandler(ModHooks.Instance, handler); } else { Log("HitInstanceHook not found! Using older methods."); ModHooks.Instance.HeroUpdateHook += OldSetDamages; ModHooks.Instance.OnGetEventSenderHook += DashSoul; } Instance.Log("Blackmoth initialized!"); }
public void Unload() { ModHooks.Instance.HeroUpdateHook -= Update; ModHooks.Instance.HeroUpdateHook -= GetReferences; ModHooks.Instance.DashVectorHook -= CalculateDashVelocity; ModHooks.Instance.DashPressedHook -= CheckForDash; ModHooks.Instance.OnGetEventSenderHook -= DashSoul; ModHooks.Instance.LanguageGetHook -= Descriptions; EventInfo hi = ModHooks.Instance.GetType().GetEvent("HitInstanceHook", BindingFlags.Instance | BindingFlags.Public); if (isHitInstance) { Log("HitInstanceHook found!"); Delegate handler = Delegate.CreateDelegate(hi.EventHandlerType, this, "SetDamages"); hi.RemoveEventHandler(ModHooks.Instance, handler); } else { Log("HitInstanceHook not found! Using older methods."); ModHooks.Instance.HeroUpdateHook -= OldSetDamages; ModHooks.Instance.OnGetEventSenderHook -= DashSoul; } PlayerData.instance.nailDamage = 5 + 4 * PlayerData.instance.nailSmithUpgrades; PlayMakerFSM.BroadcastEvent("UPDATE NAIL DAMAGE"); Instance.Log("Blackmoth unloaded!"); }
public override void Initialize() { Instance = this; Instance.Log("Blackmoth initializing!"); ModHooks.Instance.HeroUpdateHook += Update; ModHooks.Instance.NewGameHook += GetReferences; ModHooks.Instance.AfterSavegameLoadHook += GetReferences; ModHooks.Instance.DashVectorHook += CalculateDashVelocity; ModHooks.Instance.DashPressedHook += CheckForDash; ModHooks.Instance.LanguageGetHook += Descriptions; UnityEngine.SceneManagement.SceneManager.sceneLoaded += ResetPosition; ModHooks.Instance.HitInstanceHook += SetDamages; On.PlayMakerFSM.Awake += PlayMakerFSM_Awake; Instance.Log("Blackmoth initialized!"); }
public override void Initialize() { Instance = this; Instance.Log("Blackmoth initializing!"); ModHooks.Instance.NewGameHook += GetReferences; ModHooks.Instance.AfterSavegameLoadHook += GetReferences; ModHooks.Instance.LanguageGetHook += Descriptions; ModHooks.Instance.HeroUpdateHook += Update; ModHooks.Instance.DashVectorHook += CalculateDashVelocity; ModHooks.Instance.DashPressedHook += CheckForDash; ModHooks.Instance.TakeDamageHook += InstanceOnTakeDamageHook; On.HeroController.LookForQueueInput += HeroControllerOnLookForQueueInput; On.HealthManager.TakeDamage += SetDamages; // Init dictionaries to stop nullRef. InitializeDictionaries(); Instance.Log("Blackmoth initialized!"); }
public void Unload() { ModHooks.Instance.HeroUpdateHook -= Update; ModHooks.Instance.HeroUpdateHook -= GetReferences; ModHooks.Instance.DashVectorHook -= CalculateDashVelocity; ModHooks.Instance.DashPressedHook -= CheckForDash; ModHooks.Instance.OnGetEventSenderHook -= DashSoul; ModHooks.Instance.LanguageGetHook -= Descriptions; EventInfo hi = ModHooks.Instance.GetType().GetEvent("HitInstanceHook", BindingFlags.Instance | BindingFlags.Public); ModHooks.Instance.HitInstanceHook -= SetDamages; Instance.Log("Blackmoth unloaded!"); }