예제 #1
0
 public Miniboss(string name, TgtPosition tgtPosition, WalkablePosition position, bool killed)
 {
     Name        = name;
     TgtPosition = tgtPosition;
     Position    = position;
     Killed      = killed;
 }
예제 #2
0
 public static async Task MoveAndWait(WalkablePosition pos, string log = null, int distance = 20)
 {
     if (pos.Distance > distance)
     {
         pos.Come();
     }
     else
     {
         GlobalLog.Debug(log ?? $"Waiting for {pos.Name}");
         await Wait.StuckDetectionSleep(200);
     }
 }
        public static WalkablePosition GetCachedWalkable(Vector2i pos)
        {
            if (CachedArakaaliPositions.TryGetValue(pos, out WalkablePosition walkable))
            {
                return(walkable);
            }

            walkable = new WalkablePosition("walkable Arakaali position", pos, 5);
            if (!walkable.Initialize())
            {
                GlobalLog.Error($"[MotherOfSpiders] Cannot find walkable position for current Arakaali position {pos}.");
                return(null);
            }
            GlobalLog.Warn($"[MotherOfSpiders] Registering walkable Arakaali position {walkable.AsVector}.");
            CachedArakaaliPositions.Add(pos, walkable);
            return(walkable);
        }
예제 #4
0
 public CachedTransition(int id, WalkablePosition position, TransitionType type, DatWorldAreaWrapper destination)
     : base(id, position)
 {
     Type        = type;
     Destination = destination;
 }
예제 #5
0
 public CachedBoss(int id, WalkablePosition position, bool isDead) : base(id, position)
 {
     IsDead = isDead;
 }
예제 #6
0
 public CachedWorldItem(int id, WalkablePosition position, Vector2i size, Rarity rarity)
     : base(id, position)
 {
     Size   = size;
     Rarity = rarity;
 }
예제 #7
0
 public CachedStrongbox(int id, WalkablePosition position, Rarity rarity)
     : base(id, position)
 {
     Rarity = rarity;
 }
 public CachedArchitect(int id, WalkablePosition pos, string type) : base(id, pos)
 {
     Type = type;
 }