You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
93 lines
1.9 KiB
93 lines
1.9 KiB
3 years ago
|
class AvariceMessage extends AcediaObject;
|
||
|
|
||
|
var private Text messageID;
|
||
|
var private Text messageGroup;
|
||
|
|
||
|
var public AcediaObject data;
|
||
|
|
||
|
var private AssociativeArray messageTemplate;
|
||
|
|
||
|
public static function StaticConstructor()
|
||
|
{
|
||
|
if (StaticConstructorGuard()) return;
|
||
|
super.StaticConstructor();
|
||
|
|
||
|
default.messageTemplate = __().collections.EmptyAssociativeArray();
|
||
|
ResetTemplate(default.messageTemplate);
|
||
|
}
|
||
|
|
||
|
protected function Finalizer()
|
||
|
{
|
||
|
__().memory.Free(messageID);
|
||
|
__().memory.Free(messageGroup);
|
||
|
__().memory.Free(data);
|
||
|
messageID = none;
|
||
|
messageGroup = none;
|
||
|
data = none;
|
||
|
}
|
||
|
|
||
|
private static final function ResetTemplate(AssociativeArray template)
|
||
|
{
|
||
|
if (template == none) {
|
||
|
return;
|
||
|
}
|
||
|
template.SetItem(P("i"), none);
|
||
|
template.SetItem(P("g"), none);
|
||
|
template.SetItem(P("p"), none);
|
||
|
}
|
||
|
|
||
|
public final function SetID(Text id)
|
||
|
{
|
||
|
_.memory.Free(messageID);
|
||
|
messageID = none;
|
||
|
if (id != none) {
|
||
|
messageID = id.Copy();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public final function Text GetID()
|
||
|
{
|
||
|
if (messageID != none) {
|
||
|
return messageID.Copy();
|
||
|
}
|
||
|
return none;
|
||
|
}
|
||
|
|
||
|
public final function SetGroup(Text group)
|
||
|
{
|
||
|
_.memory.Free(messageGroup);
|
||
|
messageGroup = none;
|
||
|
if (group != none) {
|
||
|
messageGroup = group.Copy();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public final function Text GetGroup()
|
||
|
{
|
||
|
if (messageGroup != none) {
|
||
|
return messageGroup.Copy();
|
||
|
}
|
||
|
return none;
|
||
|
}
|
||
|
|
||
|
public final function MutableText ToText()
|
||
|
{
|
||
|
local MutableText result;
|
||
|
local AssociativeArray template;
|
||
|
if (messageID == none) return none;
|
||
|
if (messageGroup == none) return none;
|
||
|
|
||
|
template = default.messageTemplate;
|
||
|
template.SetItem(P("i"), messageID);
|
||
|
template.SetItem(P("g"), messageGroup);
|
||
|
if (data != none) {
|
||
|
template.SetItem(P("p"), data);
|
||
|
}
|
||
|
result = _.json.Print(template);
|
||
|
ResetTemplate(template);
|
||
|
return result;
|
||
|
}
|
||
|
|
||
|
defaultproperties
|
||
|
{
|
||
|
}
|