Example #1
0
        /// <summary>
        /// The Chat Operation
        /// </summary>
        /// <param name="item">The mmo item</param>
        /// <param name="operation">The operation</param>
        /// <returns>error code OK</returns>
        private OperationResponse ItemOperationChat(MmoItem item, Chat operation, SendParameters sendParameters)
        {
            MethodReturnValue result = this.CheckAccess(item);
            if (result)
            {
                var eventInstance = new ItemChat
                {
                    ItemId = item.Id,
                    ItemType = item.Type,
                    Group = operation.Group,
                    Message = operation.Message
                };

                EventData eventData = new EventData((byte)EventCode.ItemChat, eventInstance);
                sendParameters.ChannelId = Settings.ItemEventChannel;
                var message = new ItemEventMessage(item, eventData, sendParameters);
                item.EventChannel.Publish(message);

                operation.OnComplete();

                return null;
            }

            return operation.GetOperationResponse(result);
        }