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 }
public static Category GetCollisionCategories(TriggererType triggeredBy) { var collidesWith = Physics.CollisionNone; if (triggeredBy.HasFlag(TriggererType.Human) || triggeredBy.HasFlag(TriggererType.Creature)) { collidesWith |= Physics.CollisionCharacter; } if (triggeredBy.HasFlag(TriggererType.Item)) { collidesWith |= Physics.CollisionItem | Physics.CollisionProjectile; } if (triggeredBy.HasFlag(TriggererType.Submarine)) { collidesWith |= Physics.CollisionWall; } return(collidesWith); }
public static bool IsTriggeredByEntity(Entity entity, TriggererType triggeredBy, bool mustBeOutside = false, (bool mustBe, Submarine sub) mustBeOnSpecificSub = default)