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
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
 public static bool IsTriggeredByEntity(Entity entity, TriggererType triggeredBy, bool mustBeOutside = false, (bool mustBe, Submarine sub) mustBeOnSpecificSub = default)