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); }
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; }