コード例 #1
0
        private static void checkNPCs(GameLocation loc)
        {
            foreach (NPC npc in loc.characters)
            {
                if (npc.name == "Junimo" || npc.name == "Green Slime" || npc.name == "Frost Helly" || npc.IsMonster || npc is Child)
                {
                    continue;
                }
                if (npc.isMarried() && npc.name != Game1.player.spouse)
                {
                    continue;
                }

                NPCState state = new NPCState(npc);
                if (!npcs.ContainsKey(npc.name))
                {
                    npcs.Add(npc.name, state);
                    continue;
                }

                NPCState oldState = npcs[npc.name];
                if (state.isDifferentEnoughFromOldStateToSend(oldState))
                {
                    npcs[npc.name] = state;
                    if (!ignoreUpdates)
                    {
                        Multiplayer.sendFunc(new NPCUpdatePacket(npc));
                    }
                }
            }
        }