* Encapsulated all CommunicationsManager services
parent
13c1c33ed4
commit
40468f18a4
|
@ -37,7 +37,7 @@ using OpenSim.Framework.Interfaces;
|
|||
using OpenSim.Framework.Types;
|
||||
using OpenSim.Framework.Utilities;
|
||||
|
||||
namespace OpenSim.Framework.Communications.Caches
|
||||
namespace OpenSim.Framework.Communications.Cache
|
||||
{
|
||||
public delegate void DownloadComplete(AssetCache.TextureSender sender);
|
||||
|
||||
|
@ -180,7 +180,7 @@ namespace OpenSim.Framework.Communications.Caches
|
|||
|
||||
public void DeleteAsset(LLUUID assetID)
|
||||
{
|
||||
// this._assetServer.DeleteAsset(assetID);
|
||||
// this._assetServer.DeleteAsset(assetID);
|
||||
|
||||
//Todo should delete it from memory too
|
||||
}
|
||||
|
@ -268,7 +268,7 @@ namespace OpenSim.Framework.Communications.Caches
|
|||
if (this.SendingTextures.ContainsKey(sender.request.ImageInfo.FullID))
|
||||
{
|
||||
this.SendingTextures.Remove(sender.request.ImageInfo.FullID);
|
||||
// this.AvatarRecievedTextures[sender.request.RequestUser.AgentId].Add(sender.request.ImageInfo.FullID);
|
||||
// this.AvatarRecievedTextures[sender.request.RequestUser.AgentId].Add(sender.request.ImageInfo.FullID);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -791,5 +791,4 @@ namespace OpenSim.Framework.Communications.Caches
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -31,10 +31,10 @@ using System.Collections.Generic;
|
|||
using System.Text;
|
||||
using System.IO;
|
||||
using libsecondlife;
|
||||
using OpenSim.Framework.Communications.Cache;
|
||||
using OpenSim.Framework.Servers;
|
||||
using OpenSim.Framework.Types;
|
||||
using OpenSim.Framework.Utilities;
|
||||
using OpenSim.Framework.Communications.Caches;
|
||||
using OpenSim.Framework.Data;
|
||||
|
||||
namespace OpenSim.Region.Capabilities
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
using System.Text;
|
||||
using libsecondlife;
|
||||
using libsecondlife.Packets;
|
||||
using OpenSim.Framework.Communications.Cache;
|
||||
using OpenSim.Framework.Data;
|
||||
using OpenSim.Framework.Interfaces;
|
||||
using OpenSim.Framework.Types;
|
||||
|
@ -40,33 +41,80 @@ namespace OpenSim.Framework.Communications
|
|||
|
||||
public class CommunicationsManager
|
||||
{
|
||||
public IUserServices UserServer;
|
||||
public IGridServices GridServer;
|
||||
public IInventoryServices InventoryServer;
|
||||
public IInterRegionCommunications InterRegion;
|
||||
public UserProfileCache UserProfiles;
|
||||
public AssetTransactionManager TransactionsManager;
|
||||
public AssetCache AssetCache;
|
||||
|
||||
public NetworkServersInfo ServersInfo;
|
||||
public CommunicationsManager(NetworkServersInfo serversInfo, BaseHttpServer httpServer, AssetCache assetCache)
|
||||
{
|
||||
ServersInfo = serversInfo;
|
||||
this.AssetCache = assetCache;
|
||||
UserProfiles = new UserProfileCache(this);
|
||||
TransactionsManager = new AssetTransactionManager(this);
|
||||
this.serversInfo = serversInfo;
|
||||
this.m_assetCache = assetCache;
|
||||
m_userProfiles = new UserProfileCache(this);
|
||||
m_transactionsManager = new AssetTransactionManager(this);
|
||||
}
|
||||
|
||||
private IUserServices m_userServer;
|
||||
public IUserServices UserServer
|
||||
{
|
||||
get { return m_userServer; }
|
||||
set { m_userServer = value; }
|
||||
}
|
||||
|
||||
private IGridServices m_gridServer;
|
||||
public IGridServices GridServer
|
||||
{
|
||||
get { return m_gridServer; }
|
||||
set { m_gridServer = value; }
|
||||
}
|
||||
|
||||
private IInventoryServices m_inventoryServer;
|
||||
public IInventoryServices InventoryServer
|
||||
{
|
||||
get { return m_inventoryServer; }
|
||||
set { m_inventoryServer = value; }
|
||||
}
|
||||
|
||||
private IInterRegionCommunications m_interRegion;
|
||||
public IInterRegionCommunications InterRegion
|
||||
{
|
||||
get { return m_interRegion; }
|
||||
set { m_interRegion = value; }
|
||||
}
|
||||
|
||||
private UserProfileCache m_userProfiles;
|
||||
public UserProfileCache UserProfiles
|
||||
{
|
||||
get { return m_userProfiles; }
|
||||
set { m_userProfiles = value; }
|
||||
}
|
||||
|
||||
private AssetTransactionManager m_transactionsManager;
|
||||
public AssetTransactionManager TransactionsManager
|
||||
{
|
||||
get { return m_transactionsManager; }
|
||||
set { m_transactionsManager = value; }
|
||||
}
|
||||
|
||||
private AssetCache m_assetCache;
|
||||
public AssetCache AssetCache
|
||||
{
|
||||
get { return m_assetCache; }
|
||||
set { m_assetCache = value; }
|
||||
}
|
||||
|
||||
private NetworkServersInfo serversInfo;
|
||||
public NetworkServersInfo ServersInfo
|
||||
{
|
||||
get { return serversInfo; }
|
||||
set { serversInfo = value; }
|
||||
}
|
||||
|
||||
#region Packet Handlers
|
||||
public void HandleUUIDNameRequest(LLUUID uuid, IClientAPI remote_client)
|
||||
{
|
||||
if (uuid == UserProfiles.libraryRoot.agentID)
|
||||
if (uuid == m_userProfiles.libraryRoot.agentID)
|
||||
{
|
||||
remote_client.SendNameReply(uuid , "Mr" , "OpenSim");
|
||||
}
|
||||
else
|
||||
{
|
||||
UserProfileData profileData = this.UserServer.GetUserProfile(uuid);
|
||||
UserProfileData profileData = this.m_userServer.GetUserProfile(uuid);
|
||||
if (profileData != null)
|
||||
{
|
||||
LLUUID profileId = profileData.UUID;
|
||||
|
|
|
@ -31,6 +31,7 @@ using System.Collections.Generic;
|
|||
using System.IO;
|
||||
using System.Text;
|
||||
using Nini.Config;
|
||||
using OpenSim.Framework.Communications.Cache;
|
||||
using OpenSim.Framework.Communications.Caches;
|
||||
using OpenSim.Framework.Console;
|
||||
using OpenSim.Framework.Interfaces;
|
||||
|
@ -270,7 +271,7 @@ namespace OpenSim
|
|||
}
|
||||
assetServer.SetServerInfo(m_networkServersInfo.AssetURL, m_networkServersInfo.AssetSendKey);
|
||||
m_assetCache = new AssetCache(assetServer);
|
||||
// m_assetCache = new AssetCache("OpenSim.Region.GridInterfaces.Local.dll", m_networkServersInfo.AssetURL, m_networkServersInfo.AssetSendKey);
|
||||
// m_assetCache = new assetCache("OpenSim.Region.GridInterfaces.Local.dll", m_networkServersInfo.AssetURL, m_networkServersInfo.AssetSendKey);
|
||||
}
|
||||
|
||||
protected override LogBase CreateLog()
|
||||
|
|
|
@ -34,13 +34,12 @@ using System.Timers;
|
|||
using libsecondlife;
|
||||
using libsecondlife.Packets;
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Framework.Communications.Cache;
|
||||
using OpenSim.Framework.Console;
|
||||
using OpenSim.Framework.Interfaces;
|
||||
using OpenSim.Framework.Inventory;
|
||||
using OpenSim.Framework.Types;
|
||||
using OpenSim.Framework.Utilities;
|
||||
using OpenSim.Framework.Communications.Caches;
|
||||
|
||||
using Timer = System.Timers.Timer;
|
||||
|
||||
namespace OpenSim.Region.ClientStack
|
||||
|
|
|
@ -30,9 +30,9 @@ using System.Net;
|
|||
using System.Net.Sockets;
|
||||
using libsecondlife.Packets;
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Framework.Communications.Cache;
|
||||
using OpenSim.Framework.Types;
|
||||
using OpenSim.Framework.Interfaces;
|
||||
using OpenSim.Framework.Communications.Caches;
|
||||
using libsecondlife;
|
||||
|
||||
namespace OpenSim.Region.ClientStack
|
||||
|
|
|
@ -29,6 +29,7 @@ using System;
|
|||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Framework.Communications.Cache;
|
||||
using OpenSim.Framework.Console;
|
||||
using OpenSim.Framework.Data;
|
||||
using OpenSim.Framework.Interfaces;
|
||||
|
@ -39,7 +40,6 @@ using OpenSim.Region.Environment;
|
|||
using libsecondlife;
|
||||
using OpenSim.Region.Environment.Scenes;
|
||||
using OpenSim.Framework.Communications;
|
||||
using OpenSim.Framework.Communications.Caches;
|
||||
|
||||
namespace OpenSim.Region.ClientStack
|
||||
{
|
||||
|
|
|
@ -31,10 +31,10 @@ using System.Net;
|
|||
using System.Net.Sockets;
|
||||
using libsecondlife.Packets;
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Framework.Communications.Cache;
|
||||
using OpenSim.Framework.Types;
|
||||
using OpenSim.Framework.Console;
|
||||
using OpenSim.Framework.Interfaces;
|
||||
using OpenSim.Framework.Communications.Caches;
|
||||
|
||||
namespace OpenSim.Region.ClientStack
|
||||
{
|
||||
|
|
|
@ -27,9 +27,9 @@
|
|||
*/
|
||||
using System;
|
||||
using OpenSim.Framework.Communications;
|
||||
using OpenSim.Framework.Communications.Cache;
|
||||
using OpenSim.Framework.Types;
|
||||
using OpenSim.Framework.Servers;
|
||||
using OpenSim.Framework.Communications.Caches;
|
||||
using OpenSim.Framework.Console;
|
||||
using OpenSim.Framework.Utilities;
|
||||
using OpenSim.Framework.Data;
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
using OpenSim.Framework.Communications;
|
||||
using OpenSim.Framework.Communications.Cache;
|
||||
using OpenSim.Framework.Types;
|
||||
using OpenSim.Framework.Servers;
|
||||
using OpenSim.Framework.Communications.Caches;
|
||||
|
||||
|
||||
|
||||
namespace OpenSim.Region.Communications.OGS1
|
||||
{
|
||||
|
|
|
@ -320,7 +320,7 @@ namespace OpenSim.Region.Communications.OGS1
|
|||
return new XmlRpcResponse();
|
||||
}
|
||||
|
||||
#region InterRegion Comms
|
||||
#region m_interRegion Comms
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
|
|
|
@ -6,152 +6,152 @@ using OpenSim.Framework.Utilities;
|
|||
using OpenSim.Region.Environment.Interfaces;
|
||||
using OpenSim.Region.Environment.Scenes;
|
||||
|
||||
namespace OpenSim.Region.Environment.Modules
|
||||
{
|
||||
public class DynamicTextureModule : IRegionModule, IDynamicTextureManager
|
||||
{
|
||||
namespace OpenSim.Region.Environment.Modules
|
||||
{
|
||||
public class DynamicTextureModule : IRegionModule, IDynamicTextureManager
|
||||
{
|
||||
private Dictionary<LLUUID, Scene> RegisteredScenes = new Dictionary<LLUUID, Scene>();
|
||||
|
||||
private Dictionary<string, IDynamicTextureRender> RenderPlugins =
|
||||
new Dictionary<string, IDynamicTextureRender>();
|
||||
|
||||
private Dictionary<LLUUID, DynamicTextureUpdater> Updaters = new Dictionary<LLUUID, DynamicTextureUpdater>();
|
||||
|
||||
public void Initialise(Scene scene)
|
||||
{
|
||||
if (!RegisteredScenes.ContainsKey(scene.RegionInfo.SimUUID))
|
||||
{
|
||||
RegisteredScenes.Add(scene.RegionInfo.SimUUID, scene);
|
||||
scene.RegisterModuleInterface<IDynamicTextureManager>(this);
|
||||
}
|
||||
}
|
||||
|
||||
public void PostInitialise()
|
||||
private Dictionary<LLUUID, DynamicTextureUpdater> Updaters = new Dictionary<LLUUID, DynamicTextureUpdater>();
|
||||
|
||||
public void Initialise(Scene scene)
|
||||
{
|
||||
}
|
||||
|
||||
public void CloseDown()
|
||||
{
|
||||
}
|
||||
|
||||
public string GetName()
|
||||
{
|
||||
return "DynamicTextureModule";
|
||||
}
|
||||
|
||||
public bool IsSharedModule()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public void RegisterRender(string handleType, IDynamicTextureRender render)
|
||||
{
|
||||
if (!RenderPlugins.ContainsKey(handleType))
|
||||
{
|
||||
RenderPlugins.Add(handleType, render);
|
||||
}
|
||||
}
|
||||
|
||||
public void ReturnData(LLUUID id, byte[] data)
|
||||
{
|
||||
if (Updaters.ContainsKey(id))
|
||||
{
|
||||
DynamicTextureUpdater updater = Updaters[id];
|
||||
if (RegisteredScenes.ContainsKey(updater.SimUUID))
|
||||
{
|
||||
Scene scene = RegisteredScenes[updater.SimUUID];
|
||||
updater.DataReceived(data, scene);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!RegisteredScenes.ContainsKey(scene.RegionInfo.SimUUID))
|
||||
{
|
||||
RegisteredScenes.Add(scene.RegionInfo.SimUUID, scene);
|
||||
scene.RegisterModuleInterface<IDynamicTextureManager>(this);
|
||||
}
|
||||
}
|
||||
|
||||
public void PostInitialise()
|
||||
{
|
||||
}
|
||||
|
||||
public void CloseDown()
|
||||
{
|
||||
}
|
||||
|
||||
public string GetName()
|
||||
{
|
||||
return "DynamicTextureModule";
|
||||
}
|
||||
|
||||
public bool IsSharedModule()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public void RegisterRender(string handleType, IDynamicTextureRender render)
|
||||
{
|
||||
if (!RenderPlugins.ContainsKey(handleType))
|
||||
{
|
||||
RenderPlugins.Add(handleType, render);
|
||||
}
|
||||
}
|
||||
|
||||
public void ReturnData(LLUUID id, byte[] data)
|
||||
{
|
||||
if (Updaters.ContainsKey(id))
|
||||
{
|
||||
DynamicTextureUpdater updater = Updaters[id];
|
||||
if (RegisteredScenes.ContainsKey(updater.SimUUID))
|
||||
{
|
||||
Scene scene = RegisteredScenes[updater.SimUUID];
|
||||
updater.DataReceived(data, scene);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public LLUUID AddDynamicTextureURL(LLUUID simID, LLUUID primID, string contentType, string url,
|
||||
string extraParams, int updateTimer)
|
||||
{
|
||||
Console.WriteLine("dynamic texture being created: " + url + " of type " + contentType);
|
||||
if (RenderPlugins.ContainsKey(contentType))
|
||||
{
|
||||
DynamicTextureUpdater updater = new DynamicTextureUpdater();
|
||||
updater.SimUUID = simID;
|
||||
updater.PrimID = primID;
|
||||
updater.ContentType = contentType;
|
||||
updater.Url = url;
|
||||
updater.UpdateTimer = updateTimer;
|
||||
updater.UpdaterID = LLUUID.Random();
|
||||
updater.Params = extraParams;
|
||||
|
||||
if (!Updaters.ContainsKey(updater.UpdaterID))
|
||||
{
|
||||
Updaters.Add(updater.UpdaterID, updater);
|
||||
}
|
||||
|
||||
RenderPlugins[contentType].AsyncConvertUrl(updater.UpdaterID, url, extraParams);
|
||||
return updater.UpdaterID;
|
||||
}
|
||||
return LLUUID.Zero;
|
||||
}
|
||||
|
||||
string extraParams, int updateTimer)
|
||||
{
|
||||
Console.WriteLine("dynamic texture being created: " + url + " of type " + contentType);
|
||||
if (RenderPlugins.ContainsKey(contentType))
|
||||
{
|
||||
DynamicTextureUpdater updater = new DynamicTextureUpdater();
|
||||
updater.SimUUID = simID;
|
||||
updater.PrimID = primID;
|
||||
updater.ContentType = contentType;
|
||||
updater.Url = url;
|
||||
updater.UpdateTimer = updateTimer;
|
||||
updater.UpdaterID = LLUUID.Random();
|
||||
updater.Params = extraParams;
|
||||
|
||||
if (!Updaters.ContainsKey(updater.UpdaterID))
|
||||
{
|
||||
Updaters.Add(updater.UpdaterID, updater);
|
||||
}
|
||||
|
||||
RenderPlugins[contentType].AsyncConvertUrl(updater.UpdaterID, url, extraParams);
|
||||
return updater.UpdaterID;
|
||||
}
|
||||
return LLUUID.Zero;
|
||||
}
|
||||
|
||||
public LLUUID AddDynamicTextureData(LLUUID simID, LLUUID primID, string contentType, string data,
|
||||
string extraParams, int updateTimer)
|
||||
{
|
||||
if (RenderPlugins.ContainsKey(contentType))
|
||||
{
|
||||
DynamicTextureUpdater updater = new DynamicTextureUpdater();
|
||||
updater.SimUUID = simID;
|
||||
updater.PrimID = primID;
|
||||
updater.ContentType = contentType;
|
||||
updater.BodyData = data;
|
||||
updater.UpdateTimer = updateTimer;
|
||||
updater.UpdaterID = LLUUID.Random();
|
||||
updater.Params = extraParams;
|
||||
|
||||
if (!Updaters.ContainsKey(updater.UpdaterID))
|
||||
{
|
||||
Updaters.Add(updater.UpdaterID, updater);
|
||||
}
|
||||
|
||||
RenderPlugins[contentType].AsyncConvertData(updater.UpdaterID, data, extraParams);
|
||||
return updater.UpdaterID;
|
||||
}
|
||||
return LLUUID.Zero;
|
||||
}
|
||||
|
||||
public class DynamicTextureUpdater
|
||||
{
|
||||
public LLUUID SimUUID;
|
||||
public LLUUID UpdaterID;
|
||||
public string ContentType;
|
||||
public string Url;
|
||||
public string BodyData;
|
||||
public LLUUID PrimID;
|
||||
public int UpdateTimer;
|
||||
public LLUUID LastAssetID;
|
||||
public string Params;
|
||||
|
||||
public DynamicTextureUpdater()
|
||||
{
|
||||
LastAssetID = LLUUID.Zero;
|
||||
UpdateTimer = 0;
|
||||
BodyData = null;
|
||||
}
|
||||
|
||||
public void DataReceived(byte[] data, Scene scene)
|
||||
{
|
||||
//TODO delete the last asset(data), if it was a dynamic texture
|
||||
|
||||
AssetBase asset = new AssetBase();
|
||||
asset.FullID = LLUUID.Random();
|
||||
asset.Data = data;
|
||||
asset.Name = "DynamicImage" + Util.RandomClass.Next(1, 10000);
|
||||
asset.Type = 0;
|
||||
scene.commsManager.AssetCache.AddAsset(asset);
|
||||
|
||||
LastAssetID = asset.FullID;
|
||||
|
||||
SceneObjectPart part = scene.GetSceneObjectPart(PrimID);
|
||||
part.Shape.TextureEntry = new LLObject.TextureEntry(asset.FullID).ToBytes();
|
||||
part.ScheduleFullUpdate();
|
||||
}
|
||||
}
|
||||
}
|
||||
string extraParams, int updateTimer)
|
||||
{
|
||||
if (RenderPlugins.ContainsKey(contentType))
|
||||
{
|
||||
DynamicTextureUpdater updater = new DynamicTextureUpdater();
|
||||
updater.SimUUID = simID;
|
||||
updater.PrimID = primID;
|
||||
updater.ContentType = contentType;
|
||||
updater.BodyData = data;
|
||||
updater.UpdateTimer = updateTimer;
|
||||
updater.UpdaterID = LLUUID.Random();
|
||||
updater.Params = extraParams;
|
||||
|
||||
if (!Updaters.ContainsKey(updater.UpdaterID))
|
||||
{
|
||||
Updaters.Add(updater.UpdaterID, updater);
|
||||
}
|
||||
|
||||
RenderPlugins[contentType].AsyncConvertData(updater.UpdaterID, data, extraParams);
|
||||
return updater.UpdaterID;
|
||||
}
|
||||
return LLUUID.Zero;
|
||||
}
|
||||
|
||||
public class DynamicTextureUpdater
|
||||
{
|
||||
public LLUUID SimUUID;
|
||||
public LLUUID UpdaterID;
|
||||
public string ContentType;
|
||||
public string Url;
|
||||
public string BodyData;
|
||||
public LLUUID PrimID;
|
||||
public int UpdateTimer;
|
||||
public LLUUID LastAssetID;
|
||||
public string Params;
|
||||
|
||||
public DynamicTextureUpdater()
|
||||
{
|
||||
LastAssetID = LLUUID.Zero;
|
||||
UpdateTimer = 0;
|
||||
BodyData = null;
|
||||
}
|
||||
|
||||
public void DataReceived(byte[] data, Scene scene)
|
||||
{
|
||||
//TODO delete the last asset(data), if it was a dynamic texture
|
||||
|
||||
AssetBase asset = new AssetBase();
|
||||
asset.FullID = LLUUID.Random();
|
||||
asset.Data = data;
|
||||
asset.Name = "DynamicImage" + Util.RandomClass.Next(1, 10000);
|
||||
asset.Type = 0;
|
||||
scene.commsManager.AssetCache.AddAsset(asset);
|
||||
|
||||
LastAssetID = asset.FullID;
|
||||
|
||||
SceneObjectPart part = scene.GetSceneObjectPart(PrimID);
|
||||
part.Shape.TextureEntry = new LLObject.TextureEntry(asset.FullID).ToBytes();
|
||||
part.ScheduleFullUpdate();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -35,7 +35,7 @@ using Axiom.Math;
|
|||
using libsecondlife;
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Framework.Communications;
|
||||
using OpenSim.Framework.Communications.Caches;
|
||||
using OpenSim.Framework.Communications.Cache;
|
||||
using OpenSim.Framework.Console;
|
||||
using OpenSim.Framework.Interfaces;
|
||||
using OpenSim.Framework.Servers;
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using libsecondlife;
|
||||
using OpenSim.Framework.Communications.Caches;
|
||||
using OpenSim.Framework.Communications.Cache;
|
||||
using OpenSim.Framework.Console;
|
||||
using OpenSim.Framework.Interfaces;
|
||||
using OpenSim.Framework.Types;
|
||||
|
|
|
@ -80,7 +80,7 @@ namespace OpenSim.Region.Environment.Scenes
|
|||
}
|
||||
}
|
||||
|
||||
public LLVector3 AbsolutePosition
|
||||
public override LLVector3 AbsolutePosition
|
||||
{
|
||||
get { return m_rootPart.GroupPosition; }
|
||||
set
|
||||
|
|
|
@ -138,7 +138,7 @@ namespace OpenSim.Region.Environment.Scenes
|
|||
get { return m_controllingClient; }
|
||||
}
|
||||
|
||||
public LLVector3 AbsolutePosition
|
||||
public override LLVector3 AbsolutePosition
|
||||
{
|
||||
get
|
||||
{
|
||||
|
@ -172,7 +172,7 @@ namespace OpenSim.Region.Environment.Scenes
|
|||
}
|
||||
}
|
||||
|
||||
public LLVector3 Velocity
|
||||
public override LLVector3 Velocity
|
||||
{
|
||||
get
|
||||
{
|
||||
|
|
|
@ -2,6 +2,7 @@ using System.Collections.Generic;
|
|||
using libsecondlife;
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Framework.Communications;
|
||||
using OpenSim.Framework.Communications.Cache;
|
||||
using OpenSim.Framework.Interfaces;
|
||||
using OpenSim.Framework.Servers;
|
||||
using OpenSim.Framework.Types;
|
||||
|
@ -9,8 +10,6 @@ using OpenSim.Framework.Types;
|
|||
using OpenSim.Region.Environment.Scenes;
|
||||
using OpenSim.Region.Terrain;
|
||||
using OpenSim.Region.Environment;
|
||||
using OpenSim.Framework.Communications.Caches;
|
||||
|
||||
using Avatar=OpenSim.Region.Environment.Scenes.ScenePresence;
|
||||
|
||||
namespace SimpleApp
|
||||
|
|
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|||
using System.IO;
|
||||
using System.Net;
|
||||
using libsecondlife;
|
||||
using OpenSim.Framework.Communications.Cache;
|
||||
using OpenSim.Framework.Communications.Caches;
|
||||
using OpenSim.Framework.Console;
|
||||
using OpenSim.Framework.Types;
|
||||
|
|
Loading…
Reference in New Issue