示例#1
0
        private static void handleTreasureHuntMessage(NetworkMessage message)
        {
            Point startMap;

            showMessageInfos(message);

            TreasureHuntMessage treasureHuntMessage = (TreasureHuntMessage)message;

            TreasureHuntStep lastStep = treasureHuntMessage.KnownStepsList.Last();

            if (treasureHuntMessage.TotalStepCount == treasureHuntMessage.Flags.Count)
            {
                Console.WriteLine("Etape terminée !");
                return;
            }

            if (treasureHuntMessage.KnownStepsList.Count == 1)
            {
                startMap = D2OParsing.GetMapCoordinates(treasureHuntMessage.StartMapId);
            }
            else
            {
                startMap = currentMap;
            }

            //Console.Write(" " + startMap.x + "," + startMap.y + "\n");

            try
            {
                TreasureHuntStepFollowDirectionToHint stepToFollow = (TreasureHuntStepFollowDirectionToHint)lastStep;
                npcIdToFind = stepToFollow.NpcId;
                Console.WriteLine("On cherche : \n" + D2OParsing.GetNpcName(stepToFollow.NpcId) + " vers " + WebService.getDir(stepToFollow.Direction));
            }
            catch (Exception e)
            {
                TreasureHuntStepFollowDirectionToPOI stepToFollow = (TreasureHuntStepFollowDirectionToPOI)lastStep;
                WebService.getData(startMap, stepToFollow.Direction, stepToFollow.PoiLabelId);
                //Console.WriteLine("On cherche : " + D2OParsing.GetPoiName(stepToFollow.PoiLabelId));
            }
        }