| 25 |
/// In the case whereby functionality uses the same packets but differs |
/// In the case whereby functionality uses the same packets but differs |
| 26 |
/// between Rex and LL, you can use a override on those specific functions |
/// between Rex and LL, you can use a override on those specific functions |
| 27 |
/// to overload the request. |
/// to overload the request. |
| 28 |
|
/// |
| 29 |
|
/// This class acts as a base class for legacy client and new rex-ng client (Bob) |
| 30 |
/// </summary> |
/// </summary> |
| 31 |
public class RexClientView : LLClientView, IClientRexFaceExpression, IClientRexAppearance, IClientMediaURL, IRexClientCore |
public class RexClientViewBase : LLClientView, IClientRexFaceExpression, IClientRexAppearance, IClientMediaURL, IRexClientCore |
| 32 |
{ |
{ |
| 33 |
private static readonly ILog m_log = |
private static readonly ILog m_log = |
| 34 |
LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
| 39 |
private string m_rexAvatarURL; |
private string m_rexAvatarURL; |
| 40 |
private string m_rexAvatarURLOverride; |
private string m_rexAvatarURLOverride; |
| 41 |
private string m_rexAuthURL; |
private string m_rexAuthURL; |
|
private string m_rexSkypeURL; |
|
| 42 |
|
|
| 43 |
private float m_RexCharacterSpeedMod = 1.0f; |
private float m_RexCharacterSpeedMod = 1.0f; |
| 44 |
private float m_RexVertMovementSpeedMod = 1.0f; |
private float m_RexVertMovementSpeedMod = 1.0f; |
| 51 |
public event RexClientScriptCmdDelegate OnRexClientScriptCmd; |
public event RexClientScriptCmdDelegate OnRexClientScriptCmd; |
| 52 |
public event ReceiveRexMediaURL OnReceiveRexMediaURL; |
public event ReceiveRexMediaURL OnReceiveRexMediaURL; |
| 53 |
public event RexGenericMessageDelegate OnPrimFreeData; |
public event RexGenericMessageDelegate OnPrimFreeData; |
|
public event ReceiveRexSkypeStore OnReceiveRexSkypeStore; |
|
| 54 |
|
|
| 55 |
public RexClientView(EndPoint remoteEP, IScene scene, IAssetCache assetCache, |
public RexClientViewBase(EndPoint remoteEP, IScene scene, IAssetCache assetCache, |
| 56 |
LLPacketServer packServer, AuthenticateResponse authenSessions, UUID agentId, |
LLPacketServer packServer, AuthenticateResponse authenSessions, UUID agentId, |
| 57 |
UUID sessionId, uint circuitCode, EndPoint proxyEP, ClientStackUserSettings userSettings) |
UUID sessionId, uint circuitCode, EndPoint proxyEP, ClientStackUserSettings userSettings) |
| 58 |
: base(remoteEP, scene, assetCache, packServer, authenSessions, agentId, |
: base(remoteEP, scene, assetCache, packServer, authenSessions, agentId, |
| 66 |
OnGenericMessage += RealXtendClientView_OnGenericMessage; |
OnGenericMessage += RealXtendClientView_OnGenericMessage; |
| 67 |
} |
} |
| 68 |
|
|
| 69 |
public RexClientView(EndPoint remoteEP, IScene scene, IAssetCache assetCache, |
public RexClientViewBase(EndPoint remoteEP, IScene scene, IAssetCache assetCache, |
| 70 |
LLPacketServer packServer, AuthenticateResponse authenSessions, UUID agentId, |
LLPacketServer packServer, AuthenticateResponse authenSessions, UUID agentId, |
| 71 |
UUID sessionId, uint circuitCode, EndPoint proxyEP, string rexAvatarURL, string rexAuthURL, ClientStackUserSettings userSettings) |
UUID sessionId, uint circuitCode, EndPoint proxyEP, string rexAvatarURL, string rexAuthURL, ClientStackUserSettings userSettings) |
| 72 |
: base(remoteEP, scene, assetCache, packServer, authenSessions, agentId, |
: base(remoteEP, scene, assetCache, packServer, authenSessions, agentId, |
| 95 |
AddGenericPacketHandler("RexData", RealXtendClientView_OnGenericMessage); |
AddGenericPacketHandler("RexData", RealXtendClientView_OnGenericMessage); |
| 96 |
AddGenericPacketHandler("RexMediaUrl", RealXtendClientView_OnGenericMessage); |
AddGenericPacketHandler("RexMediaUrl", RealXtendClientView_OnGenericMessage); |
| 97 |
AddGenericPacketHandler("rexstartup", RealXtendClientView_OnGenericMessage); |
AddGenericPacketHandler("rexstartup", RealXtendClientView_OnGenericMessage); |
|
AddGenericPacketHandler("RexSkypeStore", RealXtendClientView_OnGenericMessage); |
|
| 98 |
|
|
| 99 |
m_genericMessageHandlers.Add("rexfaceexpression", OnRexFaceExpression); |
m_genericMessageHandlers.Add("rexfaceexpression", OnRexFaceExpression); |
| 100 |
m_genericMessageHandlers.Add("rexavatarprop", OnRexAvatarProperties); |
m_genericMessageHandlers.Add("rexavatarprop", OnRexAvatarProperties); |
| 101 |
m_genericMessageHandlers.Add("rexmediaurl", TriggerOnReceivedRexMediaURL); |
m_genericMessageHandlers.Add("rexmediaurl", TriggerOnReceivedRexMediaURL); |
| 102 |
m_genericMessageHandlers.Add("rexdata", TriggerOnPrimFreeData); |
m_genericMessageHandlers.Add("rexdata", TriggerOnPrimFreeData); |
|
m_genericMessageHandlers.Add("rexskypestore", HandleOnSkypeStore); |
|
| 103 |
} |
} |
| 104 |
|
|
| 105 |
|
|
| 177 |
} |
} |
| 178 |
} |
} |
| 179 |
|
|
|
|
|
|
/// <summary> |
|
|
/// Skype username of the avatar |
|
|
/// eg: Skypeuser |
|
|
/// </summary> |
|
|
public string RexSkypeURL |
|
|
{ |
|
|
get { return m_rexSkypeURL; } |
|
|
set |
|
|
{ |
|
|
m_rexSkypeURL = value; |
|
|
if (OnReceiveRexSkypeStore != null) |
|
|
{ |
|
|
OnReceiveRexSkypeStore(this); |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
| 180 |
/// <summary> |
/// <summary> |
| 181 |
/// The full Rex Username of this account |
/// The full Rex Username of this account |
| 182 |
/// Eg: user@hostname.com:10001 |
/// Eg: user@hostname.com:10001 |
| 334 |
m_log.Warn("}"); |
m_log.Warn("}"); |
| 335 |
} |
} |
| 336 |
|
|
|
private void HandleOnSkypeStore(IClientAPI sender, List<string> args) |
|
|
{ |
|
|
string skypeAddr = args[0]; |
|
|
this.RexSkypeURL = skypeAddr; |
|
|
} |
|
|
|
|
| 337 |
private void TriggerOnPrimFreeData(IClientAPI sender, List<string> args) |
private void TriggerOnPrimFreeData(IClientAPI sender, List<string> args) |
| 338 |
{ |
{ |
| 339 |
try |
try |
| 894 |
SendGenericMessage("RexCSEffect", pack); |
SendGenericMessage("RexCSEffect", pack); |
| 895 |
} |
} |
| 896 |
|
|
|
public void SendSkypeAddress(UUID agentID, string skypeAddress) |
|
|
{ |
|
|
List<string> pack = new List<string>(); |
|
|
|
|
|
pack.Add(skypeAddress); |
|
|
pack.Add(agentID.ToString()); |
|
|
|
|
|
SendGenericMessage("SkypeAdderss", pack); |
|
|
} |
|
|
|
|
| 897 |
public override void InformClientOfNeighbour(ulong neighbourHandle, IPEndPoint neighbourExternalEndPoint) |
public override void InformClientOfNeighbour(ulong neighbourHandle, IPEndPoint neighbourExternalEndPoint) |
| 898 |
{ |
{ |
| 899 |
IRexUDPPort module = m_scene.RequestModuleInterface<IRexUDPPort>(); |
IRexUDPPort module = m_scene.RequestModuleInterface<IRexUDPPort>(); |