/// <summary> /// Deactivates this hotspot /// </summary> public void Deactivate(bool ShouldUnregister = true) { if (bNeedsInitialize) { Initialize(); } //Remove from list if (ShouldUnregister) { HotspotMovement.UnregisterActiveHotspot(this); } //Call event dispatcher if (OnDeactivated != null) { OnDeactivated.Invoke(); } }
/// <summary> /// Activates this hotspot, setting it as the currently active one. Sends OnDeactivate messages to any hotspot that was activated previously /// </summary> public void Activate() { if (bNeedsInitialize) { Initialize(); } //Disable any hotspot currently running if (RequiresFlush && ActiveHotspots.Count > 0) { HotspotMovement.Flush(); } //Move the character and register _playerObject.SmoothTransport(new Trans(PositionOverride ? PositionOverride : gameObject.transform), -1, null, true); HotspotMovement.RegisterActiveHotspot(this); //Call event dispatcher if (OnActivated != null) { OnActivated.Invoke(); } }
public static void UnregisterActiveHotspot(HotspotMovement hotspot) { ActiveHotspots.Remove(hotspot); }
public static void RegisterActiveHotspot(HotspotMovement hotspot) { ActiveHotspots.Add(hotspot); }