| 305 |
return; |
return; |
| 306 |
} |
} |
| 307 |
|
|
| 308 |
m_log.Warn("[REXCLIENTVIEW] Unhandled GenericMessage (" + method + ") {"); |
m_log.Warn("[REXCLIENT] Unhandled GenericMessage (" + method + ") {"); |
| 309 |
foreach (string s in args) |
foreach (string s in args) |
| 310 |
{ |
{ |
| 311 |
m_log.Warn("\t" + s); |
m_log.Warn("\t" + s); |
| 319 |
{ |
{ |
| 320 |
foreach (string s in args) |
foreach (string s in args) |
| 321 |
{ |
{ |
| 322 |
m_log.Debug("[REXCLIENTVIEW] MediaURL: " + s); |
m_log.Debug("[REXCLIENT] MediaURL: " + s); |
| 323 |
} |
} |
| 324 |
|
|
| 325 |
UUID assetID = new UUID(args[0]); |
UUID assetID = new UUID(args[0]); |
| 333 |
} |
} |
| 334 |
catch (Exception e) |
catch (Exception e) |
| 335 |
{ |
{ |
| 336 |
m_log.ErrorFormat("[REXCLIENTVIEW] Error parseing incoming media url. Exception: ", e); |
m_log.ErrorFormat("[REXCLIENT] Error parseing incoming media url. Exception: ", e); |
| 337 |
} |
} |
| 338 |
} |
} |
| 339 |
|
|
| 659 |
SendGenericMessage("RexFlashAnim", pack); |
SendGenericMessage("RexFlashAnim", pack); |
| 660 |
} |
} |
| 661 |
|
|
| 662 |
internal void SendRexPreloadAvatarAssets(List<string> vAssetsList) |
/// <summary> |
| 663 |
|
/// Sends preload avatar assets |
| 664 |
|
/// </summary> |
| 665 |
|
/// <param name="assetList">List of avatar assets</param> |
| 666 |
|
public void SendRexPreloadAvatarAssets(List<string> assetList) |
| 667 |
|
{ |
| 668 |
|
try |
| 669 |
|
{ |
| 670 |
|
List<string> pack = new List<string>(); |
| 671 |
|
|
| 672 |
|
foreach (string avatarUrl in assetList) |
| 673 |
|
{ |
| 674 |
|
pack.Add(avatarUrl); |
| 675 |
|
} |
| 676 |
|
|
| 677 |
|
SendGenericMessage("RexPreloadAppearance", pack); |
| 678 |
|
} |
| 679 |
|
catch (Exception exep) |
| 680 |
{ |
{ |
| 681 |
throw new System.NotImplementedException(); |
m_log.Error("[REXCLIENT]: SendRexPreloadAvatarAssets fail:" + exep.ToString()); |
| 682 |
|
} |
| 683 |
} |
} |
| 684 |
|
|
| 685 |
/// <summary> |
/// <summary> |
| 737 |
SendGenericMessage("RexSky", pack); |
SendGenericMessage("RexSky", pack); |
| 738 |
} |
} |
| 739 |
|
|
| 740 |
internal void SendRexPreloadAssets(Dictionary<UUID, uint> tempassetlist) |
/// <summary> |
| 741 |
|
/// Sends list of preloaded assets to user |
| 742 |
|
/// </summary> |
| 743 |
|
/// <param name="assetList"></param> |
| 744 |
|
public void SendRexPreloadAssets(Dictionary<UUID, uint> assetList) |
| 745 |
|
{ |
| 746 |
|
try |
| 747 |
|
{ |
| 748 |
|
List<string> pack = new List<string>(); |
| 749 |
|
|
| 750 |
|
string assetline = String.Empty; |
| 751 |
|
foreach (UUID materialUUID in assetList.Keys) |
| 752 |
|
{ |
| 753 |
|
assetline = assetList[materialUUID] + " " + materialUUID.ToString(); |
| 754 |
|
pack.Add(assetline); |
| 755 |
|
} |
| 756 |
|
|
| 757 |
|
SendGenericMessage("RexPreloadAssets", pack); |
| 758 |
|
} |
| 759 |
|
catch (Exception exep) |
| 760 |
{ |
{ |
| 761 |
throw new System.NotImplementedException(); |
m_log.Error("[REXCLIENT]: SendRexPreloadAssets fail:" + exep.ToString()); |
| 762 |
|
} |
| 763 |
} |
} |
| 764 |
|
|
| 765 |
/// <summary> |
/// <summary> |
| 772 |
{ |
{ |
| 773 |
if (mediaURL == null) |
if (mediaURL == null) |
| 774 |
{ |
{ |
| 775 |
m_log.Warn("[REXCLIENTVIEW]: Did not send media url to user, because it was null"); |
m_log.Warn("[REXCLIENT]: Did not send media url to user, because it was null"); |
| 776 |
return; |
return; |
| 777 |
} |
} |
| 778 |
List<string> pack = new List<string>(); |
List<string> pack = new List<string>(); |
| 833 |
SendGenericMessage("RexMorph", pack); |
SendGenericMessage("RexMorph", pack); |
| 834 |
} |
} |
| 835 |
|
|
| 836 |
internal void SendRexMeshAnimation(UUID uUID, string vAnimName, float vRate, bool vbLooped, bool vbStopAnim) |
/// <summary> |
| 837 |
|
/// Send Mesh Animation command to client |
| 838 |
|
/// </summary> |
| 839 |
|
/// <param name="primId">id of the primitive</param> |
| 840 |
|
/// <param name="animationName">Name of the animation to launch</param> |
| 841 |
|
/// <param name="rate">Speed of the animation, where 1.0 is default speed</param> |
| 842 |
|
/// <param name="loop">True to make the animation looped, false to play it only once</param> |
| 843 |
|
/// <param name="stopAnimation">True to stop the animation, false to launch the animation</param> |
| 844 |
|
public void SendRexMeshAnimation(UUID primId, string animationName, float rate, bool loop, bool stopAnimation) |
| 845 |
{ |
{ |
| 846 |
throw new System.NotImplementedException(); |
List<string> pack = new List<string>(); |
| 847 |
|
|
| 848 |
|
pack.Add(primId.ToString()); |
| 849 |
|
pack.Add(animationName); |
| 850 |
|
pack.Add(rate.ToString()); |
| 851 |
|
pack.Add(loop.ToString()); |
| 852 |
|
pack.Add(stopAnimation.ToString()); |
| 853 |
|
|
| 854 |
|
SendGenericMessage("RexPrimAnim", pack); |
| 855 |
} |
} |
| 856 |
|
|
| 857 |
internal void SendRexClientSideEffect(string assetId, float vTimeUntilLaunch, float vTimeUntilDeath, Vector3 pos, Quaternion rot, float vSpeed) |
/// <summary> |
| 858 |
|
/// Send Client side effect to client |
| 859 |
|
/// </summary> |
| 860 |
|
/// <param name="assetId">Id of the asset</param> |
| 861 |
|
/// <param name="timeUntilLaunch">Time in seconds until the effect is launched on the client. |
| 862 |
|
/// Set to zero to launch immediatelly</param> |
| 863 |
|
/// <param name="timeUntilDeath">The duration of the effect. The particle system gets completely |
| 864 |
|
/// destroyed after this duration. The duration is counted after the effect is launched. </param> |
| 865 |
|
/// <param name="pos">Position of the effect in the world</param> |
| 866 |
|
/// <param name="rot">Rotation of the particle system. Affects it's movement if speed > 0</param> |
| 867 |
|
/// <param name="speed">Speed at which the particle system moves. The system moves at the direction |
| 868 |
|
/// specified by rot. Set to zero to make it stationary.</param> |
| 869 |
|
public void SendRexClientSideEffect(string assetId, float timeUntilLaunch, float timeUntilDeath, Vector3 pos, Quaternion rot, float speed) |
| 870 |
{ |
{ |
| 871 |
throw new System.NotImplementedException(); |
List<string> pack = new List<string>(); |
| 872 |
|
|
| 873 |
|
pack.Add(assetId.ToString()); |
| 874 |
|
pack.Add(timeUntilLaunch.ToString().Replace(",", ".")); |
| 875 |
|
pack.Add(timeUntilDeath.ToString().Replace(",", ".")); |
| 876 |
|
|
| 877 |
|
string sPos = pos.X.ToString() + " " + pos.Y.ToString() + " " + pos.Z.ToString(); |
| 878 |
|
sPos = sPos.Replace(",", "."); |
| 879 |
|
pack.Add(sPos); |
| 880 |
|
|
| 881 |
|
string sRot = rot.X.ToString() + " " + rot.Y.ToString() + " " + rot.Z.ToString() + " " + rot.W.ToString(); |
| 882 |
|
sRot = sRot.Replace(",", "."); |
| 883 |
|
pack.Add(sRot); |
| 884 |
|
|
| 885 |
|
pack.Add(speed.ToString().Replace(",", ".")); |
| 886 |
|
|
| 887 |
|
SendGenericMessage("RexCSEffect", pack); |
| 888 |
} |
} |
| 889 |
|
|
| 890 |
|
//public override void InformClientOfNeighbour(ulong neighbourHandle, IPEndPoint neighbourExternalEndPoint) |
| 891 |
|
//{ |
| 892 |
|
// m_log.Debug("[REXCLIENT]: Informing Client About Neighbour"); |
| 893 |
|
// neighbourExternalEndPoint.Port = neighbourExternalEndPoint.Port - 2000; |
| 894 |
|
// base.InformClientOfNeighbour(neighbourHandle, neighbourExternalEndPoint); |
| 895 |
|
//} |
| 896 |
} |
} |
| 897 |
} |
} |