| 59 |
public event RexStartUpDelegate OnRexStartUp; |
public event RexStartUpDelegate OnRexStartUp; |
| 60 |
public event RexClientScriptCmdDelegate OnRexClientScriptCmd; |
public event RexClientScriptCmdDelegate OnRexClientScriptCmd; |
| 61 |
public event ReceiveRexMediaURL OnReceiveRexMediaURL; |
public event ReceiveRexMediaURL OnReceiveRexMediaURL; |
| 62 |
|
public event RexGenericMessageDelegate OnPrimFreeData; |
| 63 |
|
|
| 64 |
public RexClientView(EndPoint remoteEP, IScene scene, IAssetCache assetCache, |
public RexClientView(EndPoint remoteEP, IScene scene, IAssetCache assetCache, |
| 65 |
LLPacketServer packServer, AuthenticateResponse authenSessions, UUID agentId, |
LLPacketServer packServer, AuthenticateResponse authenSessions, UUID agentId, |
| 97 |
AddGenericPacketHandler("RexAppearance", RealXtendClientView_OnGenericMessage); |
AddGenericPacketHandler("RexAppearance", RealXtendClientView_OnGenericMessage); |
| 98 |
AddGenericPacketHandler("RexFaceExpression", RealXtendClientView_OnGenericMessage); |
AddGenericPacketHandler("RexFaceExpression", RealXtendClientView_OnGenericMessage); |
| 99 |
AddGenericPacketHandler("RexAvatarProp", RealXtendClientView_OnGenericMessage); |
AddGenericPacketHandler("RexAvatarProp", RealXtendClientView_OnGenericMessage); |
| 100 |
|
|
| 101 |
|
//This added here only to disable warning about unhandled generic message |
| 102 |
|
//RexPrimData is actually handled in RexClientView_BinaryGenericMessage |
| 103 |
AddGenericPacketHandler("RexPrimData", RealXtendClientView_OnGenericMessage); |
AddGenericPacketHandler("RexPrimData", RealXtendClientView_OnGenericMessage); |
| 104 |
AddGenericPacketHandler("RexData", RealXtendClientView_OnGenericMessage); |
AddGenericPacketHandler("RexData", RealXtendClientView_OnGenericMessage); |
| 105 |
AddGenericPacketHandler("RexMediaUrl", RealXtendClientView_OnGenericMessage); |
AddGenericPacketHandler("RexMediaUrl", RealXtendClientView_OnGenericMessage); |
| 108 |
m_genericMessageHandlers.Add("rexfaceexpression", OnRexFaceExpression); |
m_genericMessageHandlers.Add("rexfaceexpression", OnRexFaceExpression); |
| 109 |
m_genericMessageHandlers.Add("rexavatarprop", OnRexAvatarProperties); |
m_genericMessageHandlers.Add("rexavatarprop", OnRexAvatarProperties); |
| 110 |
m_genericMessageHandlers.Add("rexmediaurl", TriggerOnReceivedRexMediaURL); |
m_genericMessageHandlers.Add("rexmediaurl", TriggerOnReceivedRexMediaURL); |
| 111 |
|
m_genericMessageHandlers.Add("rexdata", TriggerOnPrimFreeData); |
| 112 |
} |
} |
| 113 |
|
|
| 114 |
/// <summary> |
/// <summary> |
| 120 |
{ |
{ |
| 121 |
RegisterInterface<IClientRexAppearance>(this); |
RegisterInterface<IClientRexAppearance>(this); |
| 122 |
RegisterInterface<IClientRexFaceExpression>(this); |
RegisterInterface<IClientRexFaceExpression>(this); |
| 123 |
|
RegisterInterface<IClientMediaURL>(this); |
| 124 |
|
|
| 125 |
// Register our own class 'as-is' so it can be |
// Register our own class 'as-is' so it can be |
| 126 |
// used via IClientCore.Get<RexClientView>()... |
// used via IClientCore.Get<RexClientView>()... |
| 326 |
return; |
return; |
| 327 |
} |
} |
| 328 |
} |
} |
| 329 |
|
if (method == "rexprimdata") |
| 330 |
|
return; |
| 331 |
|
|
| 332 |
m_log.Warn("[REXCLIENT] Unhandled GenericMessage (" + method + ") {"); |
m_log.Warn("[REXCLIENT] Unhandled GenericMessage (" + method + ") {"); |
| 333 |
foreach (string s in args) |
foreach (string s in args) |
| 337 |
m_log.Warn("}"); |
m_log.Warn("}"); |
| 338 |
} |
} |
| 339 |
|
|
| 340 |
|
private void TriggerOnPrimFreeData(IClientAPI sender, List<string> args) |
| 341 |
|
{ |
| 342 |
|
try |
| 343 |
|
{ |
| 344 |
|
//foreach (string s in args) |
| 345 |
|
//{ |
| 346 |
|
// m_log.Debug("[REXCLIENT] PrimFreeData: " + s); |
| 347 |
|
//} |
| 348 |
|
|
| 349 |
|
if (OnPrimFreeData != null) |
| 350 |
|
{ |
| 351 |
|
OnPrimFreeData(this, args); |
| 352 |
|
} |
| 353 |
|
} |
| 354 |
|
catch (Exception e) |
| 355 |
|
{ |
| 356 |
|
m_log.ErrorFormat("[REXCLIENT] Error parseing incoming prim free data. Exception: ", e); |
| 357 |
|
} |
| 358 |
|
} |
| 359 |
|
|
| 360 |
private void TriggerOnReceivedRexMediaURL(IClientAPI sender, List<string> args) |
private void TriggerOnReceivedRexMediaURL(IClientAPI sender, List<string> args) |
| 361 |
{ |
{ |
| 362 |
try |
try |
| 678 |
{ |
{ |
| 679 |
List<string> pack = new List<string>(); |
List<string> pack = new List<string>(); |
| 680 |
|
|
| 681 |
pack.Add(direction.ToString()); |
string slightDirection = direction.X.ToString() + " " + direction.Y.ToString() + " " + direction.Z.ToString(); |
| 682 |
pack.Add(colour.ToString()); |
slightDirection = slightDirection.Replace(",", "."); |
| 683 |
pack.Add(ambientColour.ToString()); |
string slightColour = colour.X.ToString() + " " + colour.Y.ToString() + " " + colour.Z.ToString(); |
| 684 |
|
slightColour = slightColour.Replace(",", "."); |
| 685 |
|
string sambientColour = ambientColour.X.ToString() + " " + ambientColour.Y.ToString() + " " + ambientColour.Z.ToString(); |
| 686 |
|
sambientColour = sambientColour.Replace(",", "."); |
| 687 |
|
|
| 688 |
|
pack.Add(slightDirection); |
| 689 |
|
pack.Add(slightColour); |
| 690 |
|
pack.Add(sambientColour); |
| 691 |
|
|
| 692 |
SendGenericMessage("RexAmbientL", pack); |
SendGenericMessage("RexAmbientL", pack); |
| 693 |
} |
} |