コード例 #1
0
        /// -----------------------------------------------------------------
        /// <summary>
        /// </summary>
        // -----------------------------------------------------------------
        public Dispatcher.Messages.ResponseBase MessageObjectHandler(Dispatcher.Messages.RequestBase irequest)
        {
            if (irequest.GetType() != typeof(MessageObjectRequest))
            {
                return(OperationFailed("wrong type"));
            }

            MessageObjectRequest request = (MessageObjectRequest)irequest;

            IScriptModule m_scriptModule = m_scene.RequestModuleInterface <IScriptModule>();

            if (m_scriptModule == null)
            {
                return(OperationFailed("unable to locate appropriate handler"));
            }

            SceneObjectGroup sog = m_scene.GetSceneObjectGroup(request.ObjectID);

            if (sog == null)
            {
                return(OperationFailed("no such object"));
            }

            object[] args = new object[] { request._UserAccount.PrincipalID.ToString(), request.Message };
            m_scriptModule.PostObjectEvent(sog.RootPart.UUID, "dataserver", args);

            return(new Dispatcher.Messages.ResponseBase(ResponseCode.Success, ""));
        }