public bool IsSameSpecies(GameObject mobToCheck)
        {
            if (mobToCheck.TryGetComponent <PlayerScript>(out var playerScript) == false)
            {
                return(false);
            }
            var race = CharacterSettings.GetRaceData(playerScript.characterSettings);

            if (race == null || allowedSpecies.Contains(race) == false)
            {
                return(false);
            }
            return(true);
        }
Example #2
0
        /// <summary>
        /// Responsible for making sure the right audio plays
        /// for the correct body type.
        /// </summary>
        protected List <AddressableAudioSource> GetBodyTypeAudio(GameObject player)
        {
            if (player.TryGetComponent <PlayerScript>(out var playerScript) == false)
            {
                return(defaultSounds);
            }
            var bodyType = playerScript.characterSettings.BodyType;
            //Get the player's species
            var       race           = CharacterSettings.GetRaceData(playerScript.characterSettings);
            VoiceType voiceTypeToUse = new VoiceType();

            foreach (var voice in TypedSounds)
            {
                if (race != voice.VoiceRace)
                {
                    continue;
                }
                voiceTypeToUse = voice;
            }

            List <AddressableAudioSource> GetSounds(BodyType bodyTypeToCheck)
            {
                foreach (var sound in voiceTypeToUse.VoiceDatas)
                {
                    if (sound.VoiceSex != bodyTypeToCheck)
                    {
                        continue;
                    }
                    return(sound.Sounds);
                }
                return(defaultSounds);
            }

            switch (bodyType)
            {
            case (BodyType.Male):
                return(GetSounds(BodyType.Male));

            case (BodyType.Female):
                return(GetSounds(BodyType.Female));

            default:                     //for body types other than Male and Female (ex : Non-binary)
                return(defaultSounds);
            }
        }