コード例 #1
0
 public AreaChangedArgs(Message message)
 {
     OldHash = message.GetInput <uint>(0);
     NewHash = message.GetInput <uint>(1);
     OldArea = message.GetInput <DatWorldAreaWrapper>(2);
     NewArea = message.GetInput <DatWorldAreaWrapper>(3);
 }
コード例 #2
0
 public AreaChangedArgs(uint oldHash, uint newHash, DatWorldAreaWrapper oldArea, DatWorldAreaWrapper newArea)
 {
     OldHash = oldHash;
     NewHash = newHash;
     OldArea = oldArea;
     NewArea = newArea;
 }
コード例 #3
0
ファイル: Gui.xaml.cs プロジェクト: Lajt/compare-eb-versions
        private void ShowAreaInformation(DatWorldAreaWrapper area)
        {
            TextBoxInfoRaw.AppendText(area.ToString());

            var sb = new StringBuilder();

            // Handle updates when the bot isn't running.
            if (!BotManager.IsRunning)
            {
                ExilePather.Reload();
                //StaticLocationManager.Tick();
            }

            /*sb.AppendLine(string.Format("[Static Locations]"));
             * foreach (var kvp in StaticLocationManager.StaticLocations)
             * {
             *      sb.AppendLine(string.Format("\t{0}", kvp.Key));
             *      foreach (var pos in kvp.Value)
             *      {
             *              sb.AppendLine(string.Format("\t\t{0}", pos));
             *      }
             * }*/

            /*sb.AppendLine(string.Format("[Static Waypoints]"));
             * foreach (var pos in StaticLocationManager.StaticWaypointLocations)
             * {
             *      sb.AppendLine(string.Format("\t{0}", pos));
             * }*/

            sb.AppendLine(string.Format("[Mods]"));
            foreach (var mod in LokiPoe.LocalData.MapMods)
            {
                sb.AppendLine(string.Format("\t{0}: {1}", mod.Key, mod.Value));
            }

            sb.AppendLine(string.Format("[Terrain]"));
            sb.AppendLine(string.Format("\tCols: {0}", LokiPoe.TerrainData.Cols));
            sb.AppendLine(string.Format("\tRows: {0}", LokiPoe.TerrainData.Rows));

            TextBoxInfoRaw.AppendText(sb.ToString());
        }
コード例 #4
0
 public CachedTransition(int id, WalkablePosition position, TransitionType type, DatWorldAreaWrapper destination)
     : base(id, position)
 {
     Type        = type;
     Destination = destination;
 }
コード例 #5
0
ファイル: Events.cs プロジェクト: Lajt/compare-eb-versions
        public static void Tick()
        {
            if (!LokiPoe.IsInGame)
            {
                return;
            }

            if (_checkStart)
            {
                _checkStart = false;
                GlobalLog.Info("[Events] Ingame bot start.");
                Utility.BroadcastMessage(null, Messages.IngameBotStart);
            }

            var newHash = LokiPoe.LocalData.AreaHash;

            if (newHash != _areaHash)
            {
                var oldArea = _area;
                var oldHash = _areaHash;
                _area     = World.CurrentArea;
                _areaHash = newHash;
                var areaName = _area.Name;

                GlobalLog.Info($"[Events] Area changed ({oldArea?.Name ?? "null"} -> {areaName})");
                Utility.BroadcastMessage(null, Messages.AreaChanged, oldHash, newHash, oldArea, _area);

                if (newHash != _combatAreaHash && _area.IsCombatArea)
                {
                    var oldCombatArea = _combatArea;
                    var oldCombatHash = _combatAreaHash;
                    _combatArea     = _area;
                    _combatAreaHash = newHash;

                    GlobalLog.Info($"[Events] Combat area changed ({oldCombatArea?.Name ?? "null"} -> {areaName})");
                    Utility.BroadcastMessage(null, Messages.CombatAreaChanged, oldCombatHash, newHash, oldCombatArea, _area);
                }
            }

            var me = LokiPoe.Me;

            if (me.IsDead)
            {
                if (!_isDead)
                {
                    _isDead = true;
                    var cache = CombatAreaCache.Current;
                    ++cache.DeathCount;
                    GlobalLog.Info($"[Events] Player died ({cache.DeathCount})");
                    Utility.BroadcastMessage(null, Messages.PlayerDied, cache.DeathCount);
                }
            }
            else
            {
                _isDead = false;
            }

            var name  = me.Name;
            var level = me.Level;

            if (name != _name)
            {
                _name  = name;
                _level = level;
            }
            else
            {
                if (level > _level)
                {
                    _level = level;
                    GlobalLog.Info($"[Events] Player leveled ({level})");
                    Utility.BroadcastMessage(null, Messages.PlayerLeveled, level);
                }
            }
        }