Пример #1
0
        public void OnRexClientScriptCommand(IRexClientCore remoteClient, UUID agentID, List<string> commands)
        {
            try
            {
                string Paramlist = "";
                foreach (string s in commands)
                    Paramlist = Paramlist + "," + "\"" + s + "\"";

                string EventParams = "\"client_event\",\"" + agentID.ToString() + "\"" + Paramlist;
                m_scriptEngine.ExecutePythonCommand("CreateEventWithName(" + EventParams + ")");
            }
            catch (Exception e)
            {
                m_log.WarnFormat("[RexScriptEngine]: OnRexClientScriptCommand: " + e.ToString());
            }
        }
Пример #2
0
 /// <summary>
 /// Listens to all world scripts and clients. Sends event from that to python scripts
 /// </summary>
 //public void OnRexScriptListen(object sender, OSChatMessage chat)//uint vPrimLocalId, int vChannel, string vName, UUID vId, string vMessage)
 //{
 //    try
 //    {
 //        if (chat.Message != "")
 //        {
 //            uint localId = 0;
 //            string sid = "0";
 //            string name = chat.From;
 //            SceneObjectPart sop = m_scriptEngine.World.GetSceneObjectPart(chat.SenderUUID);
 //            if (sop != null)
 //            {
 //                localId = sop.LocalId;
 //                sid = sop.ParentGroup.LocalId.ToString();
 //            }
 //            if (chat.Sender != null)
 //            {
 //                ScenePresence sp = m_scriptEngine.World.GetScenePresence(chat.Sender.AgentId);
 //                if (sp != null)
 //                {
 //                    return;
 //                    localId = sp.LocalId;
 //                    sid = chat.Sender.AgentId.ToString();
 //                    if (name == "" || name == null) name = chat.Sender.Name;
 //                }
 //            }
 //            //if (chat.SenderObject != null)
 //            //{
 //            //    m_log.Info("sender is an "+chat.SenderObject.GetType());
 //            //}
 //            string eventParams = "\"listen\"," + localId + "," + chat.Channel.ToString() + "," +
 //                "\"" + name + "\"" + "," + "\"" + sid + "\"" + "," + "\"" + chat.Message + "\"";
 //            m_scriptEngine.ExecutePythonCommand("CreateEventWithName(" + eventParams + ")");
 //            //m_log.Info(eventParams);
 //        }
 //    }
 //    catch (Exception e)
 //    {
 //        m_log.WarnFormat("[RexScriptEngine]: OnRexScriptListen: " + e.ToString());
 //    }
 //}
 public void OnRexClientStartUp(IRexClientCore client, UUID agentID, string status)
 {
     try
     {
         string EventParams = "\"client_startup\",\"" + agentID.ToString() + "\",\"" + status + "\"";
         m_scriptEngine.ExecutePythonCommand("CreateEventWithName(" + EventParams + ")");
     }
     catch (Exception e)
     {
         m_log.WarnFormat("[RexScriptEngine]: OnRexClientStartUp: " + e.ToString());
     }
 }
Пример #3
0
 /// <summary>
 /// Fired when a client is started (rendering world after loading menu)
 /// </summary>
 void mcv_OnRexClientStartUp(IRexClientCore remoteClient, UUID agentID, string status)
 {
     if (status.ToLower() == "started" && remoteClient is IClientRexAppearance)
         SendAppearanceToAllUsers(remoteClient.AgentId, ((IClientRexAppearance)remoteClient).RexAvatarURLVisible, !string.IsNullOrEmpty(((IClientRexAppearance)remoteClient).RexAvatarURLOverride));
 }