AIController.OnDestroy C# (CSharp) Method

OnDestroy() public method

public OnDestroy ( ) : void
return void
	void OnDestroy ()
	{
		// Unregister for all messages that were previously registered for
		MessageCenter.Instance.UnregisterListener (MessageType.PlayerGrabbedNPCs, grabbedListener);
		MessageCenter.Instance.UnregisterListener (MessageType.NPCEaten, eatenListener);
		MessageCenter.Instance.UnregisterListener (MessageType.PlayerReleasedNPCs, releasedListener);
		MessageCenter.Instance.UnregisterListener (MessageType.TrapEntered, trapEnterListener);
		MessageCenter.Instance.UnregisterListener (MessageType.TrapReleased, trapReleaseListener);
		MessageCenter.Instance.UnregisterListener (MessageType.LureRadiusEntered, lureEnterListener);
		MessageCenter.Instance.UnregisterListener (MessageType.LureReleased, lureReleaseListener);
		MessageCenter.Instance.UnregisterListener (MessageType.AbilityPlaced, abilityPlacedListener);
		MessageCenter.Instance.UnregisterListener (MessageType.NewMarkedBounty, markedBountyListener);

		if (alertTexture != null) {
				Destroy (alertTexture.gameObject);
		}
		if (panicTexture != null) {
				Destroy (panicTexture.gameObject);
		}
		if (scaredTexture != null)
				Destroy (scaredTexture.gameObject);
		if (lureTexture != null)
						Destroy (lureTexture.gameObject);
		if (marked)
		{
			MessageCenter.Instance.Broadcast (new MarkedBountyDestroyedMessage());
		}

		NPCDestroyedMessage message = new NPCDestroyedMessage (gameObject, false);
		MessageCenter.Instance.Broadcast (message);

		NPCOnDestroy ();
	}