public override void ExitState() { base.ExitState(); ai?.Dispose(); ai = null; buff?.RemoveAndDisposeCompanionBuff(); buff = null; combatWithheldDialogue?.Clear(); combatWithheldDialogue = null; seenDialogueForLocations?.Clear(); seenDialogueForLocations = null; r = null; Patches.companion = null; ModEntry.modHelper.Events.GameLoop.UpdateTicked -= GameLoop_UpdateTicked; ModEntry.modHelper.Events.GameLoop.TimeChanged -= GameLoop_TimeChanged; ModEntry.modHelper.Events.GameLoop.DayEnding -= GameLoop_DayEnding; ModEntry.modHelper.Events.Player.Warped -= Player_Warped; ModEntry.modHelper.Events.Display.MenuChanged -= Display_MenuChanged; ModEntry.modHelper.Events.World.NpcListChanged -= World_NpcListChanged; }
public override void EnterState() { base.EnterState(); ai = new AI_StateMachine(this); combatWithheldDialogue = new Stack <Dialogue>(); buff = CompanionBuff.InitializeBuffFromCompanionName(stateMachine.companion.Name, stateMachine.manager.farmer, stateMachine.manager); seenDialogueForLocations = new Dictionary <string, bool>(); r = new Random((int)Game1.uniqueIDForThisGame + (int)Game1.stats.DaysPlayed + Game1.timeOfDay); Patches.companion = stateMachine.companion.Name; stateMachine.companion.faceTowardFarmerTimer = 0; stateMachine.companion.movementPause = 0; stateMachine.companion.controller = null; stateMachine.companion.temporaryController = null; ModEntry.modHelper.Events.GameLoop.UpdateTicked += GameLoop_UpdateTicked; ModEntry.modHelper.Events.GameLoop.TimeChanged += GameLoop_TimeChanged; ModEntry.modHelper.Events.GameLoop.DayEnding += GameLoop_DayEnding; ModEntry.modHelper.Events.Player.Warped += Player_Warped; ModEntry.modHelper.Events.Display.MenuChanged += Display_MenuChanged; ModEntry.modHelper.Events.World.NpcListChanged += World_NpcListChanged;; }
public override void Init(Blackboard blackboard) { this.blackboard = blackboard; companion = blackboard.GetValueFromKey <CompanionBuff>("companion"); }
public override void Init(Blackboard blackboard) { this.blackboard = blackboard; companion = blackboard.GetValueFromKey <CompanionBuff>("companion"); material = companion.GetComponent <Renderer>().material; }