void OnValidate() { #if UNITY_EDITOR // Give an editor-time warning if other 'Player' Audio Actor Tags are found in the scene. if (triggererType == TriggererType.Player) { AudioActorTag[] tags = FindObjectsOfType <AudioActorTag>(); if (tags != null) { for (int i = 0; i < tags.Length; i++) { AudioActorTag tag = tags[i]; if (tag.triggererType == TriggererType.Player && tag != this) { EditorUtility.DisplayDialog("Warning", "The scene has multiple Audio Triggerer Tag - components set as 'Player'. " + "Ensure that the player position is only set once.", "Ok"); triggererType = TriggererType.Nothing; } } } } #endif }
void OnTriggerEnter(Collider other) { var audioActorTag = other.gameObject.GetComponent <AudioActorTag>(); if (audioActorTag != null && audioActorTag.triggererType == TriggererType.Player) { insideCounter++; if (insideCounter == 1 && initializationSuccesfull) { if (!alreadyCachedPlayerTag) { playerTag = audioActorTag; alreadyCachedPlayerTag = true; } CalculateBlendValue(); coroutine = StartCoroutine(BlendValueCheck()); } } }
void OnTriggerEnter(Collider other) { AudioActorTag audioActorTag = other.gameObject.GetComponent <AudioActorTag>(); switch (requireTag) { case RequiredTags.Player: { if (audioActorTag != null && audioActorTag.triggererType == TriggererType.Player) { if (singletonTriggerCounter == 0) { singletonTriggerCounter++; ExecuteOnEnter(); } else { singletonTriggerCounter++; } } } break; case RequiredTags.NonPlayer: { if (audioActorTag != null && audioActorTag.triggererType == TriggererType.NonPlayer) { ExecuteOnEnter(); } } break; case RequiredTags.AnyTagged: { if (audioActorTag != null) { ExecuteOnEnter(); } } break; case RequiredTags.Custom: { if (audioActorTag != null && audioActorTag.triggererType == TriggererType.Custom && !string.IsNullOrEmpty(customRequiredTag) && !string.IsNullOrEmpty(audioActorTag.customTriggererTag) && customRequiredTag == audioActorTag.customTriggererTag) { if (singletonTriggerCounter == 0) { singletonTriggerCounter++; ExecuteOnEnter(); } else { singletonTriggerCounter++; } } } break; case RequiredTags.None: { ExecuteOnEnter(); } break; default: break; } }