示例#1
0
        private void HandleLootAddedToPlayer(object sender, PlayerLootEventArgs plea)
        {
            this.Dispatcher.Invoke(new Action(() =>
            {
                Loot loot     = plea.Loot;
                Player player = plea.Player;
                Run run       = new Run();
                run.Text      = $"{player.Name} looted {loot.Quantity}x{loot.LongName} from {loot.BodyName} at {loot.LocalPickupTime}\r\n";
                LootLog.Inlines.Add(run);

                PlayerView pv = players.FirstOrDefault(p => p.Name == player.Name);
                if (pv == null && player.Id == -1000)
                {
                    pv = players.FirstOrDefault(p => p.Id == player.Id);
                }
                if (pv == null)
                {
                    pv = new PlayerView()
                    {
                        Name = player.Name, Alliance = player.Alliance, Guild = player.Guild, Id = player.Id
                    };
                    players.Add(pv);
                }
                else
                {
                    pv.Name     = player.Name;
                    pv.Guild    = player.Guild;
                    pv.Alliance = player.Alliance;
                }
                pv.Loot.Add(loot);
            }));
        }
示例#2
0
        private void PlayerLootAdded(object sender, PlayerLootEventArgs plea)
        {
            Loot   item   = plea.Loot;
            Player player = plea.Player;
            string path   = Path.Combine(Directory.GetCurrentDirectory(), "aolootlog", PhotonPacketHandler.Instance.LogTimer + ".csv");

            Directory.CreateDirectory(Path.GetDirectoryName(path));
            string logMessage = $"[{item.LocalPickupTime.ToString()}] {player.Name} has looted {item.Quantity}x {item.ItemName} from {item.BodyName}";

            string alliance = "";

            if (player.Alliance != null)
            {
                alliance = player.Alliance;
            }

            string guild = "";

            if (player.Guild != null)
            {
                guild = player.Guild;
            }
            string quality = "0";

            if (item.ItemName.Contains("@"))
            {
                quality = item.ItemName.Split('@')[1];
            }
            string csvMessage = $"{item.UtcPickupTime.ToString()};{player.Name};{item.ItemName};{item.Quantity};{item.BodyName}";

            //string csvMessage = $"{item.ItemRefId},{item.UtcPickupTime.ToString()},{alliance},{guild},{player.Name},{item.ItemName},{item.LongName},{quality},{item.Quantity},{item.BodyName}";

            log.Info(logMessage);
            lock (_lock)
            {
                using (StreamWriter streamWriter = File.AppendText(path))
                {
                    streamWriter.WriteLine(csvMessage);
                }
            }
        }