public CampfireEntry(PlayerMobile player, Campfire fire) { m_Player = player; m_Fire = fire; m_Start = DateTime.UtcNow; m_Safe = false; }
public override void OnDoubleClick(Mobile from) { if (this.Parent != null || !this.VerifyMove(from)) { return; } if (!from.InRange(this, 2)) { from.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1019045); // I can't reach that. return; } if (this.ItemID == 0xA57) // rolled { Direction dir = PlayerMobile.GetDirection4(from.Location, this.Location); if (dir == Direction.North || dir == Direction.South) { this.ItemID = 0xA55; } else { this.ItemID = 0xA56; } } else // unrolled { this.ItemID = 0xA57; if (!from.HasGump(typeof(LogoutGump))) { CampfireEntry entry = Campfire.GetEntry(from); if (entry != null && entry.Safe) { from.SendGump(new LogoutGump(entry, this)); } } } }
public override void OnResponse(NetState sender, RelayInfo info) { PlayerMobile pm = m_Entry.Player; m_CloseTimer.Stop(); if (Campfire.GetEntry(pm) != m_Entry) { return; } if (info.ButtonID == 1 && m_Entry.Safe && m_Bedroll.Parent == null && m_Bedroll.IsAccessibleTo(pm) && m_Bedroll.VerifyMove(pm) && m_Bedroll.Map == pm.Map && pm.InRange(m_Bedroll, 2)) { pm.PlaceInBackpack(m_Bedroll); pm.BedrollLogout = true; sender.Dispose(); } Campfire.RemoveEntry(m_Entry); }
private void CloseGump() { Campfire.RemoveEntry(m_Entry); m_Entry.Player.CloseGump(typeof(LogoutGump)); }
public InternalTimer(Mobile from, Campfire campfire) : base(TimeSpan.FromSeconds(5.0)) { m_From = from; m_Campfire = campfire; }