Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
155
Scripts/Services/Town Cryer/TownCrierGreetingEntry.cs
Normal file
155
Scripts/Services/Town Cryer/TownCrierGreetingEntry.cs
Normal file
@@ -0,0 +1,155 @@
|
||||
using System;
|
||||
using Server;
|
||||
|
||||
namespace Server.Services.TownCryer
|
||||
{
|
||||
[PropertyObject]
|
||||
public class TownCryerGreetingEntry : IComparable<TownCryerGreetingEntry>
|
||||
{
|
||||
[CommandProperty(AccessLevel.Administrator)]
|
||||
public TextDefinition Title { get; set; }
|
||||
|
||||
[CommandProperty(AccessLevel.Administrator)]
|
||||
public TextDefinition Body1 { get; set; }
|
||||
|
||||
[CommandProperty(AccessLevel.Administrator)]
|
||||
public string Body2 { get; set; }
|
||||
|
||||
[CommandProperty(AccessLevel.Administrator)]
|
||||
public string Body3 { get; set; }
|
||||
|
||||
[CommandProperty(AccessLevel.Administrator)]
|
||||
public DateTime Created { get; set; }
|
||||
|
||||
[CommandProperty(AccessLevel.Administrator)]
|
||||
public DateTime Expires { get; set; }
|
||||
|
||||
[CommandProperty(AccessLevel.Administrator)]
|
||||
public string Link { get; set; }
|
||||
|
||||
[CommandProperty(AccessLevel.Administrator)]
|
||||
public string LinkText { get; set; }
|
||||
|
||||
[CommandProperty(AccessLevel.Administrator)]
|
||||
public bool PreLoaded { get; set; }
|
||||
|
||||
[CommandProperty(AccessLevel.Administrator)]
|
||||
public bool CanEdit { get; private set; }
|
||||
|
||||
[CommandProperty(AccessLevel.Administrator)]
|
||||
public bool Expired { get { return Expires != DateTime.MinValue && Expires < DateTime.Now; } }
|
||||
|
||||
[CommandProperty(AccessLevel.Administrator)]
|
||||
public bool Saves { get { return !PreLoaded && Expires != DateTime.MinValue; } }
|
||||
|
||||
public TownCryerGreetingEntry(TextDefinition body)
|
||||
: this(null, body, null, null, -1)
|
||||
{
|
||||
}
|
||||
|
||||
public TownCryerGreetingEntry(TextDefinition title, TextDefinition body, string link, string linkText)
|
||||
: this(title, body, null, null, -1, link, linkText)
|
||||
{
|
||||
}
|
||||
|
||||
public TownCryerGreetingEntry(TextDefinition title, TextDefinition body, string body2, string link, string linkText)
|
||||
: this(title, body, body2, null, -1, link, linkText)
|
||||
{
|
||||
}
|
||||
|
||||
public TownCryerGreetingEntry(TextDefinition title, TextDefinition body, int expires, string link, string linkText)
|
||||
: this(title, body, null, null, expires, link, linkText)
|
||||
{
|
||||
}
|
||||
|
||||
public TownCryerGreetingEntry(TextDefinition title, TextDefinition body, string body2, string body3, int expires = -1, string link = null, string linkText = null, bool canEdit = false)
|
||||
{
|
||||
Title = title;
|
||||
|
||||
Body1 = body;
|
||||
Body2 = body2;
|
||||
Body3 = body3;
|
||||
|
||||
Created = DateTime.Now;
|
||||
|
||||
Link = link;
|
||||
LinkText = linkText;
|
||||
|
||||
if (expires > 0)
|
||||
{
|
||||
Expires = DateTime.Now + TimeSpan.FromDays(expires);
|
||||
}
|
||||
|
||||
CanEdit = canEdit;
|
||||
}
|
||||
|
||||
public int CompareTo(TownCryerGreetingEntry two)
|
||||
{
|
||||
if ((CanEdit || PreLoaded) && !two.CanEdit && !two.PreLoaded)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
if ((two.CanEdit || two.PreLoaded) && !CanEdit && !PreLoaded)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if ((CanEdit || PreLoaded) && (two.CanEdit || two.PreLoaded))
|
||||
{
|
||||
if (Created > two.Created)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
else if (two.Created > Created)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
public TownCryerGreetingEntry(GenericReader reader)
|
||||
{
|
||||
int version = reader.ReadInt();
|
||||
|
||||
switch (version)
|
||||
{
|
||||
case 1:
|
||||
CanEdit = reader.ReadBool();
|
||||
|
||||
Body2 = reader.ReadString();
|
||||
Body3 = reader.ReadString();
|
||||
goto case 0;
|
||||
case 0:
|
||||
Title = TextDefinition.Deserialize(reader);
|
||||
Body1 = TextDefinition.Deserialize(reader);
|
||||
Created = reader.ReadDateTime();
|
||||
Expires = reader.ReadDateTime();
|
||||
|
||||
Link = reader.ReadString();
|
||||
LinkText = reader.ReadString();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public void Serialize(GenericWriter writer)
|
||||
{
|
||||
writer.Write(1);
|
||||
|
||||
writer.Write(CanEdit);
|
||||
|
||||
writer.Write(Body2);
|
||||
writer.Write(Body3);
|
||||
|
||||
TextDefinition.Serialize(writer, Title);
|
||||
TextDefinition.Serialize(writer, Body1);
|
||||
writer.Write(Created);
|
||||
writer.Write(Expires);
|
||||
|
||||
writer.Write(Link);
|
||||
writer.Write(LinkText);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user