Example #1
0
        AttackModifier GetAttackModifier(CFGData cfg, EnemyGroups group)
        {
            AttackModifier result = AttackModifier.Normal;

            switch (group)
            {
            case EnemyGroups.Undead:
                if (HasFlags(cfg.AttackModifierFlags, 0x01))
                {
                    result = AttackModifier.Bonus;
                }
                else if (HasFlags(cfg.AttackModifierFlags, 0x10))
                {
                    result = AttackModifier.Phobia;
                }
                break;

            case EnemyGroups.Daedra:
                if (HasFlags(cfg.AttackModifierFlags, 0x02))
                {
                    result = AttackModifier.Bonus;
                }
                else if (HasFlags(cfg.AttackModifierFlags, 0x20))
                {
                    result = AttackModifier.Phobia;
                }
                break;

            case EnemyGroups.Humanoid:
                if (HasFlags(cfg.AttackModifierFlags, 0x04))
                {
                    result = AttackModifier.Bonus;
                }
                else if (HasFlags(cfg.AttackModifierFlags, 0x40))
                {
                    result = AttackModifier.Phobia;
                }
                break;

            case EnemyGroups.Animals:
                if (HasFlags(cfg.AttackModifierFlags, 0x08))
                {
                    result = AttackModifier.Bonus;
                }
                else if (HasFlags(cfg.AttackModifierFlags, 0x80))
                {
                    result = AttackModifier.Phobia;
                }
                break;
            }

            return(result);
        }
Example #2
0
    void readEnemyModel(int[] EnemyIDs, int EnemyAmount, String path)
    {
        string[] ModelLine = File.ReadAllLines(path);
        //然后把变量行提取出来
        string[] keys = ModelLine[1].Split(',');
        for (int index = 0; index < EnemyAmount; index++)
        {
            EnemyGroups newEnemy = new EnemyGroups();
            for (int i = 3; i < ModelLine.Length; i++)
            {
                /* 每一行的内容都是逗号分隔,读取每一列的值 */
                string[] lineData = ModelLine[i].Split(',');
                //Debug.Log(EnemyIDs.Length);
                newEnemy.EnemyID = EnemyIDs[index];
                if (Convert.ToInt32(lineData[0]) == EnemyIDs[index])  //
                //TODO:找到了,需要读路径和怪物动作
                {
                    for (int j = 0; j < lineData.Length; j++)
                    {
                        if (keys[j] == "EnemySprite")
                        {
                            newEnemy.EnemySprite = lineData[j];
                        }
                        if (keys[j] == "EnemyTexture")
                        {
                            newEnemy.EnemyTexture = lineData[j];
                        }
                    }
                }
                // Debug.Log(newEnemy.EnemySprite);
            }
            enemyList.Add(newEnemy);
        }


        LevelEnemyInitialize();
    }
        AttackModifier GetAttackModifier(CFGData cfg, EnemyGroups group)
        {
            AttackModifier result = AttackModifier.Normal;

            switch (group)
            {
                case EnemyGroups.Undead:
                    if (HasFlags(cfg.AttackModifierFlags, 0x01))
                        result = AttackModifier.Bonus;
                    else if (HasFlags(cfg.AttackModifierFlags, 0x10))
                        result = AttackModifier.Phobia;
                    break;
                case EnemyGroups.Daedra:
                    if (HasFlags(cfg.AttackModifierFlags, 0x02))
                        result = AttackModifier.Bonus;
                    else if (HasFlags(cfg.AttackModifierFlags, 0x20))
                        result = AttackModifier.Phobia;
                    break;
                case EnemyGroups.Humanoid:
                    if (HasFlags(cfg.AttackModifierFlags, 0x04))
                        result = AttackModifier.Bonus;
                    else if (HasFlags(cfg.AttackModifierFlags, 0x40))
                        result = AttackModifier.Phobia;
                    break;
                case EnemyGroups.Animals:
                    if (HasFlags(cfg.AttackModifierFlags, 0x08))
                        result = AttackModifier.Bonus;
                    else if (HasFlags(cfg.AttackModifierFlags, 0x80))
                        result = AttackModifier.Phobia;
                    break;
            }

            return result;
        }