public int SignalChangeObject(int aAction, int aObjectID, string aAttribute = "") {
var Payload = new TByteBuffer();
if (!IsPublished && connection.AutoPublish)
Publish();
if (IsPublished) {
Payload.Prepare(ID);
Payload.Prepare((Int32) 0); // tick
Payload.Prepare((Int32) TEventKind.ekChangeObjectEvent);
Payload.Prepare(aAction);
Payload.Prepare(aObjectID);
Payload.Prepare(aAttribute);
Payload.PrepareApply();
Payload.QWrite(ID);
Payload.QWrite((Int32) (0)); // tick
Payload.QWrite((Int32) TEventKind.ekChangeObjectEvent);
Payload.QWrite(aAction);
Payload.QWrite(aObjectID);
Payload.QWrite(aAttribute);
return connection.WriteCommand(TConnectionPlatform.TCommands.icEvent, Payload.Buffer);
}
else
return TConnection.iceNotEventPublished;
}