Exemple #1
0
    public static void playDamageSound(string id, Character.ID playerType = Character.ID.LEO)
    {
                #if UNITY_EDITOR
        if (BattleSimulator.nowSimulation && BattleSimulator.instance.skipTime > 1)
        {
            return;
        }
                #endif

        if (GameManager.info.soundData.TryGetValue(id, out _sd) == false)
        {
            return;
        }

        if (string.IsNullOrEmpty(_sd.link) == false)
        {
            playDamageSound(_sd.link, playerType);
            return;
        }

        if (_sd.type == Type.Chracter)
        {
            play(_sd.getDamageSound());
        }
        else if (_sd.type == Type.Player)
        {
            string[] temp = null;

            switch (playerType)
            {
            case Character.ID.LEO:
                temp = Character.LEO_DMG;
                break;

            case Character.ID.KILEY:
                temp = Character.KILEY_DMG;
                break;

            case Character.ID.CHLOE:
                temp = Character.CHLOE_DMG;
                break;
            }

            if (temp != null)
            {
                if (_sd.dmgNum > 1)
                {
                    int dmgNum = UnityEngine.Random.Range(0, _sd.dmgNum);

                    playVoice(temp[dmgNum]);
                }
                else
                {
                    playVoice(temp[0]);
                }
            }
        }
    }
Exemple #2
0
    public static void playGroanSound(string id, Character.ID playerType = Character.ID.LEO)
    {
                #if UNITY_EDITOR
        if (BattleSimulator.nowSimulation && BattleSimulator.instance.skipTime > 1)
        {
            return;
        }
                #endif

        if (GameManager.info.soundData.TryGetValue(id, out _sd) == false)
        {
            return;
        }

        if (_sd.type == Type.Player)
        {
            string[] temp = null;

            switch (playerType)
            {
            case Character.ID.LEO:
                temp = Character.LEO_GRN;
                break;

            case Character.ID.KILEY:
                temp = Character.KILEY_GRN;
                break;

            case Character.ID.CHLOE:
                temp = Character.CHLOE_GRN;
                break;
            }

            if (temp != null)
            {
                List <SoundData> grnSounds = new List <SoundData>();
                for (int i = 0; i < _sd.grnNum; ++i)
                {
                    if (GameManager.info == null ||
                        GameManager.info.soundData.ContainsKey(temp[i]) == false)
                    {
                        continue;
                    }

                    grnSounds.Add(GameManager.info.soundData[temp[i]]);
                }

                if (grnSounds.Count > 0)
                {
                    SoundManager.instance.playGroanVoice(grnSounds.ToArray());
                }
            }
        }
    }
Exemple #3
0
    public static void playPlayerAttackSound(SoundData sd, Character.ID playerType = Character.ID.LEO, int playChance = 60)
    {
                #if UNITY_EDITOR
        if (BattleSimulator.nowSimulation && BattleSimulator.instance.skipTime > 1)
        {
            return;
        }
                #endif

        //기합 : 공격할 때, 약 60%확률로 플레이 여부 결정 후, 기합 보이스 5개중 한 개 랜덤선택 플레이
        if (UnityEngine.Random.Range(0, 100) <= playChance)
        {
            string[] temp = null;

            switch (playerType)
            {
            case Character.ID.LEO:
                temp = Character.LEO_ATK;
                break;

            case Character.ID.KILEY:
                temp = Character.KILEY_ATK;
                break;

            case Character.ID.CHLOE:
                temp = Character.CHLOE_ATK;
                break;
            }

            if (temp != null)
            {
                if (sd.atkNum > 1)
                {
                    int atkNum = UnityEngine.Random.Range(0, sd.atkNum);
                    playVoice(temp[atkNum]);
                }
                else
                {
                    playVoice(temp[0]);
                }
            }
        }
    }
 public ICharacter Get(Character.ID id)
 {
     //For larger list, we can sort the characterList in ascending order by Character.ID and then we can use Binary Search for performance;
     return(characterList.Find(character => character.CurrentID == id));
 }