/// <summary> /// Write the relevant extra data to the packet /// </summary> public void WriteExtraData(IMessageComposer composer, Item item, bool inventoryView = false) { var interactor = item.Interactor; composer.Data.Add((int)interactor.ExtraDataType); switch (interactor.ExtraDataType) { case ExtraDataType.StringData: composer.Data.Add((string)interactor.GetExtraData(inventoryView)); break; case ExtraDataType.StringArrayData: var values = (Dictionary <string, string>)interactor.GetExtraData(inventoryView); composer.Data.Add(values.Count); foreach (var kvp in values) { composer.Data.Add(kvp.Key); composer.Data.Add(kvp.Value); } break; } }
public static void Compose(IMessageComposer messageComposer, RoomData room) { messageComposer.Data.Add(room.Id); messageComposer.Data.Add(room.Name); messageComposer.Data.Add(true); messageComposer.Data.Add(room.OwnerId); messageComposer.Data.Add(room.OwnerData == null ? string.Empty : room.OwnerData.Name); messageComposer.Data.Add((int)room.Status); messageComposer.Data.Add(room.UsersNow); messageComposer.Data.Add(room.UsersMax); messageComposer.Data.Add(room.Description); messageComposer.Data.Add(0); messageComposer.Data.Add(room.Category.IsTradingAllowed ? 2 : 0); // can category trade? messageComposer.Data.Add(room.Rating); messageComposer.Data.Add(0); messageComposer.Data.Add(room.Category.Id); messageComposer.Data.Add(0); messageComposer.Data.Add(0); messageComposer.Data.Add(""); messageComposer.Data.Add(0); // tags messageComposer.Data.Add(0); messageComposer.Data.Add(0); messageComposer.Data.Add(0); messageComposer.Data.Add(true); messageComposer.Data.Add(true); messageComposer.Data.Add(0); messageComposer.Data.Add(0); }
public static void Compose(IMessageComposer messageComposer, RoomData room) { messageComposer.Data.Add(room.Id); messageComposer.Data.Add(room.Name); messageComposer.Data.Add(true); messageComposer.Data.Add(room.OwnerId); messageComposer.Data.Add(room.OwnerData == null ? string.Empty : room.OwnerData.Name); messageComposer.Data.Add((int)room.Status); messageComposer.Data.Add(room.UsersNow); messageComposer.Data.Add(room.UsersMax); messageComposer.Data.Add(room.Description); messageComposer.Data.Add(0); messageComposer.Data.Add(room.TradeSetting);// room.TradeSetting); messageComposer.Data.Add(room.Rating); messageComposer.Data.Add(0); messageComposer.Data.Add(room.Category.Id); messageComposer.Data.Add(0); messageComposer.Data.Add(0); messageComposer.Data.Add(""); messageComposer.Data.Add(room.Tags.Count); foreach (var tag in room.Tags) { messageComposer.Data.Add(tag.Text); } messageComposer.Data.Add(0); messageComposer.Data.Add(0); messageComposer.Data.Add(0); messageComposer.Data.Add(true); messageComposer.Data.Add(true); messageComposer.Data.Add(0); messageComposer.Data.Add(0); }
internal static void Compose(Effect effect, IMessageComposer composer) { composer.Data.Add(effect.Id); composer.Data.Add(effect.IsCostume ? 1 : 0); composer.Data.Add(effect.Duration); composer.Data.Add(effect.Data.IsActivated ? effect.Data.Quantity - 1 : effect.Data.Quantity); composer.Data.Add(effect.Data.IsActivated ? effect.TimeLeft : -1); }
public static void HandleComposer(Session Session, IMessageComposer Composer, params object[] Parameters) { var Bytes = Composer.Invoke(Parameters).Result; if (Bytes.Count() > 0) { Session.Send(Bytes); } }
public static void Serialize(IMessageComposer composer, Item item) { composer.Data.Add(item.Id.ToString()); composer.Data.Add(item.Definition.Data.SpriteId); composer.Data.Add(item.Data.WallPosition); composer.Data.Add((string)item.Interactor.GetExtraData()); composer.Data.Add(-1); composer.Data.Add(item.Definition.Data.MaxStatus > 1 ? 1 : 0); }
public ZeroFormatterImpl(List <InternalPayloadDefinition> payloadTypes, IMessageComposer composer) { payloadDefinitions = new InternalPayloadDefinition[payloadTypes.Count]; for (int i = 0; i < payloadDefinitions.Length; i++) { payloadDefinitions[i] = payloadTypes[i]; } this.MessageComposer = composer; }
/// <summary> /// Send packet to entire player list in room /// </summary> public void Send(IMessageComposer composer, List <Player> specificUsers = null) { if (specificUsers == null) { specificUsers = EntityManager.GetEntities <Player>(); } foreach (var player in specificUsers) { player.Send(composer); } }
/// <summary> /// Send message composer /// </summary> public void Send(IMessageComposer composer) { if (!composer.Composed) { composer.Composed = true; composer.Write(); } try { Channel.WriteAndFlushAsync(composer); } catch { } }
public static void Serialize(IMessageComposer composer, Item item) { composer.Data.Add(item.Id); composer.Data.Add(item.Definition.Type.ToUpper()); composer.Data.Add(item.Id); composer.Data.Add(item.Definition.Data.SpriteId); switch (item.Definition.Data.Sprite) { case "landscape": composer.Data.Add(4); break; case "wallpaper": composer.Data.Add(2); break; case "floor": composer.Data.Add(3); break; case "poster": composer.Data.Add(6); break; default: composer.Data.Add(1); break; } InteractionManager.Instance.WriteExtraData(composer, item, true); composer.Data.Add(item.Definition.Data.IsRecyclable); composer.Data.Add(item.Definition.Data.IsTradable); composer.Data.Add(item.Definition.InteractorType == InteractorType.DECORATION ? true : item.Definition.Data.IsStackable); composer.Data.Add(item.Definition.Data.IsSellable); composer.Data.Add(-1); // timer composer.Data.Add(false); // hasRentPeriodStarted():Boolean composer.Data.Add(-1); // embed room id if (!item.Definition.HasBehaviour(ItemBehaviour.WALL_ITEM)) { composer.Data.Add(""); composer.Data.Add(0); // todo: sprite code for wrapping } }
public static void Compose(IMessageComposer messageComposer, PublicItemData publicItem) { messageComposer.Data.Add(publicItem.BannerId); messageComposer.Data.Add(publicItem.BannerType != BannerType.PUBLIC_FLAT ? publicItem.Label : string.Empty); messageComposer.Data.Add(publicItem.Description); messageComposer.Data.Add((int)publicItem.ImageType); messageComposer.Data.Add(publicItem.BannerType != BannerType.PUBLIC_FLAT ? publicItem.Label : string.Empty); messageComposer.Data.Add(publicItem.Image); messageComposer.Data.Add(publicItem.ParentId); messageComposer.Data.Add(publicItem.Room != null ? publicItem.Room.UsersNow : 0); messageComposer.Data.Add((int)publicItem.BannerType); if (publicItem.BannerType == BannerType.TAG) { messageComposer.Data.Add(string.Empty); // Tag to search } if (publicItem.BannerType == BannerType.CATEGORY) { messageComposer.Data.Add(true); // is open } if (publicItem.BannerType == BannerType.FLAT) { FlatListComposer.Compose(messageComposer, publicItem.Room); } if (publicItem.BannerType == BannerType.PUBLIC_FLAT) { /* * public function _SafeStr_3944(k:_SafeStr_2170) * { * this._SafeStr_10591 = k.readString(); * this._SafeStr_10175 = k.readInt(); * this._SafeStr_10592 = k.readInt(); * this._SafeStr_10174 = k.readString(); * this._SafeStr_10658 = k.readInt(); * this._SafeStr_10173 = k.readInt(); * } */ messageComposer.Data.Add(publicItem.Description); messageComposer.Data.Add(0); messageComposer.Data.Add(publicItem.DescriptionEntry); messageComposer.Data.Add(publicItem.Room.CCTs); messageComposer.Data.Add(publicItem.Room.UsersMax); messageComposer.Data.Add(publicItem.Room.Id); } }
private void ComposeAndDeliverMessage(MailboxSession session, StoreObjectId draftsFolderId, IMailboxLocator recipient, IMailboxAssociationPerformanceTracker performanceTracker, IExtensibleLogger logger) { EmailNotificationHandler.Tracer.TraceDebug <IMailboxLocator, string>((long)this.GetHashCode(), "EmailNotificationHandler.ComposeAndDeliverMessage: Processing recipient {0}. Group {1}.", recipient, this.groupMailbox.ExternalDirectoryObjectId); using (MessageItem messageItem = MessageItem.Create(session, draftsFolderId)) { ADUser recipient2 = recipient.FindAdUser(); IMessageComposer messageComposer = this.messageComposerBuilder.Build(recipient2); messageComposer.WriteToMessage(messageItem); bool flag = false; if (this.groupMailbox.WhenCreatedUTC != null) { TimeSpan timeSpan = DateTime.UtcNow - this.groupMailbox.WhenCreatedUTC.Value; if (timeSpan < EmailNotificationHandler.DelaySendTime) { messageItem[MessageItemSchema.DeferredSendTime] = DateTime.UtcNow + EmailNotificationHandler.DelaySendTime - timeSpan; flag = true; } } else { messageItem[MessageItemSchema.DeferredSendTime] = DateTime.UtcNow + EmailNotificationHandler.DelaySendTime; flag = true; } if (flag) { logger.LogEvent(new SchemaBasedLogEvent <MailboxAssociationLogSchema.Warning> { { MailboxAssociationLogSchema.Warning.Context, "EmailNotificationHandler" }, { MailboxAssociationLogSchema.Warning.Message, string.Format("Welcome email for recipient {0}, Group {1} is delayed to send", recipient, this.groupMailbox.ExternalDirectoryObjectId) } }); EmailNotificationHandler.Tracer.TraceDebug <IMailboxLocator, string>((long)this.GetHashCode(), "EmailNotificationHandler.ComposeAndDeliverMessage: Welcome email for recipient {0}, Group {1} is delayed to send.", recipient, this.groupMailbox.ExternalDirectoryObjectId); } StoreObjectId saveSentMessageFolder = session.GetDefaultFolderId(DefaultFolderType.TemporarySaves) ?? session.CreateDefaultFolder(DefaultFolderType.TemporarySaves); messageItem.Send(saveSentMessageFolder, SubmitMessageFlags.IgnoreSendAsRight); performanceTracker.IncrementAssociationsUpdated(); } }
private static void SimpleContextListener() { IContext context = CreateContext("TestContext"); IDispatcher dispatcher = context.Dispatcher; IMessageComposer composer = context.MessageComposer; ListenerA listener = new ListenerA(); dispatcher.RegisterListenerForAll(listener); PayloadA plA = new PayloadA(); PayloadB plB = new PayloadB(); var message = composer.Compose(plA, plB); dispatcher.Send(message); dispatcher.DispatchMessages(); }
internal static void SerialiseOffer(IMessageComposer composer, CatalogueItem item)//, bool spriteAsSaleCode = false) { composer.Data.Add(item.Data.Id); composer.Data.Add(item.Data.SaleCode);//composer.Data.Add(spriteAsSaleCode ? ItemManager.Instance.GetDefinition(item.Packages[0].Data.DefinitionId).Data.Sprite : item.Data.SaleCode); composer.Data.Add(item.Data.PriceCoins); composer.Data.Add(item.Data.PriceSeasonal); composer.Data.Add((int)item.Data.SeasonalType); composer.Data.Add(false); composer.Data.Add(item.Packages.Count); foreach (CataloguePackage package in item.Packages) { composer.Data.Add(package.Definition.Type); composer.Data.Add(package.Definition.Data.SpriteId); composer.Data.Add(package.Data.SpecialSpriteId); // extra data composer.Data.Add(package.Data.Amount); composer.Data.Add(false); } composer.Data.Add(0); composer.Data.Add(item.AllowBulkPurchase); }
public SmtpMailer(IMessageComposer composer, ILogger logger, IFailedMessageDumper dumper) { this.composer = composer; this.logger = logger; this.dumper = dumper; }
/// <summary> /// Send message composer /// </summary> public void Send(IMessageComposer composer) { Connection.Send(composer); }
public bool sendUnencrypted(IMessageComposer arg1) { throw new NotImplementedException(); }
public NullMailer(IMessageComposer composer, ILogger logger) { this.composer = composer; this.logger = logger; }