コード例 #1
0
        public ICombatStatus getStatus()
        {
            List <ICharacterDisplay> pcDisplays = new List <ICharacterDisplay>();
            string fastestPCName = string.Empty;
            int    fastestPCTime = int.MaxValue;

            foreach (int key in pcs.Keys)
            {
                FullCombatCharacter   current  = pcs[key];
                List <IStatusDisplay> statuses = new List <IStatusDisplay>();
                foreach (CombatModificationsModel cmm in current.mods)
                {
                    statuses.Add(new StatusDisplay(Interfaces.Type.Text, cmm.name));
                }
                CharacterDisplay cd = new CharacterDisplay(current.name, current.hp, current.maxHP, current.mp, current.maxMP, statuses, current.combatUniq, current.turnOrder, current.className, current.level);
                cd.setGlanceStats(current.strength, current.vitality, current.intellect, current.wisdom, current.agility, string.Empty);
                pcDisplays.Add(cd);
                if (pcs[key].turnOrder < fastestPCTime && pcs[key].hp > 0)
                {
                    fastestPCTime = pcs[key].turnOrder;
                    fastestPCName = pcs[key].name;
                }
            }
            List <ICharacterDisplay> npcDisplays = new List <ICharacterDisplay>();

            foreach (int key in npcs.Keys)
            {
                FullCombatCharacter   current  = npcs[key];
                List <IStatusDisplay> statuses = new List <IStatusDisplay>();
                bool hasGlance = false;
                foreach (CombatModificationsModel cmm in current.mods)
                {
                    if (cmm.name == "Glance")
                    {
                        hasGlance = true;
                    }
                    statuses.Add(new StatusDisplay(Interfaces.Type.Text, cmm.name));
                }
                CharacterDisplay cd = new CharacterDisplay(current.name, current.hp, current.maxHP, current.mp, current.maxMP, statuses, current.combatUniq, current.turnOrder, current.className, current.level);
                if (hasGlance)
                {
                    cd.setGlanceStats(current.strength, current.vitality, current.intellect, current.wisdom, current.agility, EnemyDataClasses.DescriptionDirector.getDescription(current.className));
                }
                npcDisplays.Add(cd);
            }

            return(new CombatStatus(fastestPCName, currentEffects, pcDisplays, npcDisplays, MapDataClasses.MapDataManager.getLocation(map)));
        }
コード例 #2
0
        public ICombatStatus getStatus()
        {
            List<ICharacterDisplay> pcDisplays = new List<ICharacterDisplay>();
            string fastestPCName = string.Empty;
            int fastestPCTime = int.MaxValue;
            foreach(int key in pcs.Keys) {
                FullCombatCharacter current = pcs[key];
                List<IStatusDisplay> statuses = new List<IStatusDisplay>();
                foreach (CombatModificationsModel cmm in current.mods)
                {
                    statuses.Add(new StatusDisplay(Interfaces.Type.Text, cmm.name));
                }
                CharacterDisplay cd = new CharacterDisplay(current.name, current.hp, current.maxHP, current.mp, current.maxMP, statuses, current.combatUniq, current.turnOrder, current.className, current.level);
                cd.setGlanceStats(current.strength, current.vitality, current.intellect, current.wisdom, current.agility, string.Empty);
                pcDisplays.Add(cd);
                if (pcs[key].turnOrder < fastestPCTime && pcs[key].hp > 0)
                {
                    fastestPCTime = pcs[key].turnOrder;
                    fastestPCName = pcs[key].name;
                }
            }
            List<ICharacterDisplay> npcDisplays = new List<ICharacterDisplay>();
            foreach (int key in npcs.Keys)
            {
                FullCombatCharacter current = npcs[key];
                List<IStatusDisplay> statuses = new List<IStatusDisplay>();
                bool hasGlance = false;
                foreach (CombatModificationsModel cmm in current.mods)
                {
                    if (cmm.name == "Glance")
                    {
                        hasGlance = true;
                    }
                    statuses.Add(new StatusDisplay(Interfaces.Type.Text, cmm.name));
                }
                CharacterDisplay cd = new CharacterDisplay(current.name, current.hp, current.maxHP, current.mp, current.maxMP, statuses, current.combatUniq, current.turnOrder, current.className, current.level);
                if (hasGlance)
                {
                    cd.setGlanceStats(current.strength, current.vitality, current.intellect, current.wisdom, current.agility, EnemyDataClasses.DescriptionDirector.getDescription(current.className));
                }
                npcDisplays.Add(cd);
            }

            return new CombatStatus(fastestPCName, currentEffects, pcDisplays, npcDisplays, MapDataClasses.MapDataManager.getLocation(map));
        }