Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
136
Scripts/SubSystem/Knives Chat 3.0 Beta 6/Gumps/MessageGump.cs
Normal file
136
Scripts/SubSystem/Knives Chat 3.0 Beta 6/Gumps/MessageGump.cs
Normal file
@@ -0,0 +1,136 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using Server;
|
||||
using Knives.Utils;
|
||||
|
||||
namespace Knives.Chat3
|
||||
{
|
||||
public class MessageGump : GumpPlus
|
||||
{
|
||||
public static void SendTo(Mobile m, Message msg)
|
||||
{
|
||||
new MessageGump(m, msg);
|
||||
}
|
||||
|
||||
#region Class Definitions
|
||||
|
||||
private Message c_Message;
|
||||
|
||||
public Data GetData { get { return Data.GetData(Owner); } }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
public MessageGump(Mobile m, Message msg) : base(m, 200, 400)
|
||||
{
|
||||
c_Message = msg;
|
||||
|
||||
if (GetData.Messages.Contains(msg))
|
||||
{
|
||||
if (!msg.Read && Data.GetData(msg.From).ReadReceipt && msg.From.AccessLevel >= m.AccessLevel)
|
||||
msg.From.SendMessage(Data.GetData(msg.From).SystemC, m.Name + " " + General.Local(197) + " " + msg.Subject);
|
||||
|
||||
msg.Read = true;
|
||||
}
|
||||
|
||||
NewGump();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
|
||||
protected override void BuildGump()
|
||||
{
|
||||
AddBackground(0, 0, 300, 200, 0x1400);
|
||||
|
||||
int y = 10;
|
||||
|
||||
AddHtml(10, y, 280, 21, HTML.White + c_Message.Subject, false, false);
|
||||
AddHtml(15, y += 18, 150, 21, HTML.White + General.Local(60) + " " + c_Message.From.Name, false, false);
|
||||
|
||||
AddHtml(10, y += 20, 280, 200 - y - 40, HTML.White + c_Message.Msg, true, true);
|
||||
|
||||
if (GetData.Messages.Contains(c_Message))
|
||||
{
|
||||
if (c_Message.Type == MsgType.Normal)
|
||||
{
|
||||
if (Message.CanMessage(Owner, c_Message.From))
|
||||
AddButton(200, 170, 0xFA5, 0xFA6, "Reply", new TimerCallback(Reply));
|
||||
|
||||
AddButton(140, 170, 0xFB1, 0xFB2, "Delete", new TimerCallback(Delete));
|
||||
AddButton(80, 170, 0xFA2, 0xFA3, "Ignore", new TimerCallback(Ignore));
|
||||
}
|
||||
else if (c_Message.Type == MsgType.Invite)
|
||||
{
|
||||
AddButton(200, 170, 0xFA8, 0xFA9, "Accept", new TimerCallback(Accept));
|
||||
AddButton(140, 170, 0xFB1, 0xFB2, "Deny", new TimerCallback(Deny));
|
||||
AddButton(80, 170, 0xFA2, 0xFA3, "Ignore", new TimerCallback(Ignore));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Responses
|
||||
|
||||
private void Reply()
|
||||
{
|
||||
if (Message.CanMessage(Owner, c_Message.From))
|
||||
SendMessageGump.SendTo(Owner, c_Message.From, c_Message);
|
||||
}
|
||||
|
||||
private void Delete()
|
||||
{
|
||||
GetData.DeleteMessage(c_Message);
|
||||
|
||||
General.RefreshGump(Owner, typeof(MailGump));
|
||||
General.RefreshGump(Owner, typeof(FriendsGump));
|
||||
}
|
||||
|
||||
private void Ignore()
|
||||
{
|
||||
GetData.Ignores.Add(c_Message.From);
|
||||
|
||||
Owner.SendMessage(GetData.SystemC, General.Local(68) + " " + c_Message.From.Name);
|
||||
|
||||
Deny();
|
||||
}
|
||||
|
||||
private void Accept()
|
||||
{
|
||||
c_Message.From.SendMessage(Data.GetData(c_Message.From).SystemC, Owner.Name + " " + General.Local(87));
|
||||
|
||||
GetData.AddFriend(c_Message.From);
|
||||
Data.GetData(c_Message.From).AddFriend(Owner);
|
||||
|
||||
GetData.Messages.Remove(c_Message);
|
||||
|
||||
if (Owner.HasGump(typeof(FriendsGump)))
|
||||
General.RefreshGump(Owner, typeof(FriendsGump));
|
||||
else
|
||||
FriendsGump.SendTo(Owner, true);
|
||||
|
||||
General.RefreshGump(Owner, typeof(MailGump));
|
||||
}
|
||||
|
||||
private void Deny()
|
||||
{
|
||||
c_Message.From.SendMessage(Data.GetData(c_Message.From).SystemC, Owner.Name + " " + General.Local(88));
|
||||
Owner.SendMessage(GetData.SystemC, General.Local(89) + " " + c_Message.From.Name);
|
||||
|
||||
GetData.Messages.Remove(c_Message);
|
||||
|
||||
if (Owner.HasGump(typeof(FriendsGump)))
|
||||
General.RefreshGump(Owner, typeof(FriendsGump));
|
||||
else
|
||||
FriendsGump.SendTo(Owner, true);
|
||||
|
||||
General.RefreshGump(Owner, typeof(MailGump));
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user