lib-unity-tutorial-m2h-2-Assets-Standard-Assets-Scripts-ActivateTrigger.cs / cs
using UnityEngine; public class ActivateTrigger : MonoBehaviour { public enum Mode { Trigger = 0, // Just broadcast the action on to the target Replace = 1, // replace target with source Activate = 2, // Activate the target GameObject Enable = 3, // Enable a component Animate = 4, // Start animation on target Deactivate= 5 // Decativate target GameObject }
if (triggerCount == 0 || repeatTrigger) { Object currentTarget = target != null ? target : gameObject; Behaviour targetBehaviour = currentTarget as Behaviour; GameObject targetGameObject = currentTarget as GameObject; if (targetBehaviour != null) targetGameObject = targetBehaviour.gameObject; switch (action) { case Mode.Trigger: targetGameObject.BroadcastMessage ("DoActivateTrigger"); break; case Mode.Replace: if (source != null) { Object.Instantiate (source, targetGameObject.transform.position, targetGameObject.transform.rotation); DestroyObject (targetGameObject); } break; case Mode.Activate: targetGameObject.active = true; break; case Mode.Enable: if (targetBehaviour != null) targetBehaviour.enabled = true; break; case Mode.Animate: targetGameObject.animation.Play (); break; case Mode.Deactivate: targetGameObject.active = false; break; } } } void OnTriggerEnter (Collider other) { DoActivateTrigger (); } }
(C) Æliens 04/09/2009
You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.