示例#1
0
文件: Map.cs 项目: T4NK/SunDofus
        public void AddPlayer(Characters.Character character)
        {
            Send(string.Format("GM|+{0}", character.PatternDisplayChar()));

            character.NetworkClient.Send(string.Format("fC{0}", Fights.Count)); //Fight

            lock (Characters)
                Characters.Add(character);

            character.NetworkClient.Send(string.Format("GM{0}", CharactersPattern()));

            if(Npcs.Count > 0)
                character.NetworkClient.Send(string.Format("GM{0}", NPCsPattern()));

            if (MonstersGroups.Count > 0)
                character.NetworkClient.Send(string.Format("GM{0}", MonstersGroupsPattern()));
        }
示例#2
0
文件: Map.cs 项目: Guiedo/SunDofus
        public void AddPlayer(Characters.Character character)
        {
            Send(string.Concat("GM|+", character.PatternDisplayChar()));

            character.NClient.Send(string.Concat("fC", Fights.Count)); //Fight

            lock (Characters)
                Characters.Add(character);

            if (Characters.Count > 0)
                character.NClient.Send(string.Concat("GM", CharactersPattern()));

            if (Npcs.Count > 0)
                character.NClient.Send(string.Concat("GM", NPCsPattern()));

            if (MonstersGroups.Count > 0)
                character.NClient.Send(string.Concat("GM", MonstersGroupsPattern()));

            if (Collector != null && !Collector.IsInFight)
                character.NClient.Send(string.Concat("GM", Collector.PatternMap()));

            if (Fights.Count > 0)
            {
                character.NClient.Send(FormatFightCount());

                foreach (Fight fight in Fights)
                {
                    if (fight.State == FightState.STARTING)
                    {
                        character.NClient.Send(fight.FormatFlagShow());
                        character.NClient.Send(fight.FormatFlagFighter(fight.Team1.GetFighters()));
                        character.NClient.Send(fight.FormatFlagFighter(fight.Team2.GetFighters()));

                        if (fight.Team1.IsToggle(ToggleType.LOCK))
                            character.NClient.Send("Go+A" + fight.Team1.ID);
                        if (fight.Team1.IsToggle(ToggleType.HELP))
                            character.NClient.Send("Go+H" + fight.Team1.ID);
                        if (fight.Team1.IsToggle(ToggleType.PARTY))
                            character.NClient.Send("Go+P" + fight.Team1.ID);
                        if (fight.Team1.IsToggle(ToggleType.SPECTATOR))
                            character.NClient.Send("Go+S" + fight.Team1.ID);

                        if (fight.Team2.IsToggle(ToggleType.LOCK))
                            character.NClient.Send("Go+A" + fight.Team2.ID);
                        if (fight.Team2.IsToggle(ToggleType.HELP))
                            character.NClient.Send("Go+H" + fight.Team2.ID);
                        if (fight.Team2.IsToggle(ToggleType.PARTY))
                            character.NClient.Send("Go+P" + fight.Team2.ID);
                        if (fight.Team2.IsToggle(ToggleType.SPECTATOR))
                            character.NClient.Send("Go+S" + fight.Team2.ID);
                    }
                }
            }
        }