Exemple #1
0
        private void Clear()
        {
            OccupationTimer.Stop();
            OccupationTimer = null;

            Torches.ForEach(t => t.Delete());
            Torches.Clear();
        }
Exemple #2
0
        public void CheckOccupy()
        {
            if (!IsActive || Map == null || Map == Map.Internal)
            {
                return;
            }

            IPooledEnumerable eable = Map.GetMobilesInBounds(new Rectangle2D(X - 2, Y - 2, 5, 5));
            int count = 0;

            foreach (Mobile m in eable)
            {
                VvVPlayerEntry entry;

                if (m.Alive && ViceVsVirtueSystem.IsVvV(m, out entry, false, true))
                {
                    count++;

                    if (OccupationTimer != null)
                    {
                        Guild g = OccupationTimer.Occupier;

                        if (g == null || entry.Guild != g && !entry.Guild.IsAlly(g))
                        {
                            Clear();
                            break;
                        }
                    }
                    else
                    {
                        OccupationTimer = new OccupyTimer(this, entry.Guild);
                    }
                }
            }

            if (OccupationTimer != null && !OccupationTimer.Running && count > 0)
            {
                OccupationTimer.Start();
            }
            else if (OccupationTimer != null && count == 0)
            {
                Clear();
            }

            eable.Free();
        }
Exemple #3
0
        private void Clear()
        {
            if (OccupationTimer != null)
            {
                OccupationTimer.Stop();
                OccupationTimer = null;
            }

            for (var index = 0; index < Torches.Count; index++)
            {
                var t = Torches[index];

                t.Delete();
            }

            Torches.Clear();
        }
Exemple #4
0
        public override void Delete()
        {
            base.Delete();

            Torches.ForEach(t => t.Delete());

            if (OccupationTimer != null)
            {
                OccupationTimer.Stop();
                OccupationTimer = null;
            }

            if (CheckTimer != null)
            {
                CheckTimer.Stop();
                CheckTimer = null;
            }
        }
Exemple #5
0
        public override void Delete()
        {
            base.Delete();

            for (var index = 0; index < Torches.Count; index++)
            {
                var t = Torches[index];

                t.Delete();
            }

            if (OccupationTimer != null)
            {
                OccupationTimer.Stop();
                OccupationTimer = null;
            }

            if (CheckTimer != null)
            {
                CheckTimer.Stop();
                CheckTimer = null;
            }
        }