Very partial Avatar Appearance (ie, clothes/body parts) "storage". In standalone mode it will mean that when you log off and log back on ,as long as the region server hasn't been restarted , your avatar will start with wearing the clothes that it wore on log off. In grid mode its even more limited in that wearing/removing clothes/body parts are only stored in the region server instance you are one. so if you are in a different region to your login region (which are on different region server instances), and then change clothes, those changes won't be remembered. So as said, its very limited but is a small step towards having proper appearance persist.

Just need to store this data out to a database.
This commit is contained in:
MW
2007-12-02 14:56:23 +00:00
parent 86ae8e97cd
commit cac98171e5
5 changed files with 104 additions and 41 deletions

View File

@@ -333,7 +333,7 @@ namespace OpenSim.Framework.Communications.Cache
//really need to fix this call, if lbsa71 saw this he would die.
m_userTransactions.Manager.CommsManager.AssetCache.AddAsset(Asset);
CachedUserInfo userInfo =
m_userTransactions.Manager.CommsManager.UserProfileCache.GetUserDetails(ourClient.AgentId);
m_userTransactions.Manager.CommsManager.UserProfileCacheService.GetUserDetails(ourClient.AgentId);
if (userInfo != null)
{
InventoryItemBase item = new InventoryItemBase();

View File

@@ -64,11 +64,11 @@ namespace OpenSim.Framework.Communications
get { return m_interRegion; }
}
protected UserProfileCacheService m_userProfileCache;
protected UserProfileCacheService m_userProfileCacheService;
public UserProfileCacheService UserProfileCache
public UserProfileCacheService UserProfileCacheService
{
get { return m_userProfileCache; }
get { return m_userProfileCacheService; }
}
protected AssetTransactionManager m_transactionsManager;
@@ -97,7 +97,7 @@ namespace OpenSim.Framework.Communications
{
m_networkServersInfo = serversInfo;
m_assetCache = assetCache;
m_userProfileCache = new UserProfileCacheService(this);
m_userProfileCacheService = new UserProfileCacheService(this);
m_transactionsManager = new AssetTransactionManager(this, dumpAssetsToFile);
}
@@ -156,7 +156,7 @@ namespace OpenSim.Framework.Communications
public void HandleUUIDNameRequest(LLUUID uuid, IClientAPI remote_client)
{
if (uuid == m_userProfileCache.libraryRoot.agentID)
if (uuid == m_userProfileCacheService.libraryRoot.agentID)
{
remote_client.SendNameReply(uuid, "Mr", "OpenSim");
}
@@ -175,11 +175,7 @@ namespace OpenSim.Framework.Communications
}
public List<AvatarPickerAvatar> GenerateAgentPickerRequestResponse(LLUUID queryID, string query)
{
List<AvatarPickerAvatar> pickerlist = m_userService.GenerateAgentPickerRequestResponse(queryID, query);
List<AvatarPickerAvatar> pickerlist = m_userService.GenerateAgentPickerRequestResponse(queryID, query);
return pickerlist;
}