/// <summary> /// スクリプトを更新します<br /> /// </summary> /// /// <returns>IEnumerator</returns> /// <param name="callback">コールバックハンドラ</param> /// <param name="request">リクエストパラメータ</param> public IEnumerator UpdateScript( Request.UpdateScriptRequest request, UnityAction <AsyncResult <Result.UpdateScriptResult> > callback ) { var task = new UpdateScriptTask(request, callback); return(Gs2WebSocketSession.Execute(task)); }
/// <summary> /// スクリプトを更新します<br /> /// </summary> /// /// <returns>IEnumerator</returns> /// <param name="callback">コールバックハンドラ</param> /// <param name="request">リクエストパラメータ</param> public IEnumerator UpdateScript( Request.UpdateScriptRequest request, UnityAction <AsyncResult <Result.UpdateScriptResult> > callback ) { var task = new UpdateScriptTask(request, callback); if (_certificateHandler != null) { task.UnityWebRequest.certificateHandler = _certificateHandler; } return(Gs2RestSession.Execute(task)); }
public void SetupDefaultCapabilities( UUID regionSeedID, Dictionary <string, string> capConfig, Dictionary <string, string> serviceURLs) { /* grid may override the caps through Cap_ ServiceURLs */ foreach (KeyValuePair <string, string> kvp in serviceURLs) { if (kvp.Key.StartsWith("Cap_")) { string capName = kvp.Key.Substring(4); if (capName != "ChatSessionRequest") { m_ServiceURLCapabilities.Add(capName, kvp.Value); } } } ChatSessionRequestCapability = new ChatSessionRequest(Agent, this, RemoteIP, ChatSessionRequestMethodHandlers); try { /* The LSLCompiler is the only one that has this method */ /* there has to be LSLSyntaxId which contains the hash of the file as UUID */ var compiler = CompilerRegistry.ScriptCompilers["lsl"]; var mi = compiler.GetType().GetMethod("GetLSLSyntaxId", Type.EmptyTypes); if (compiler.GetType().GetMethod("WriteLSLSyntaxFile", new Type[] { typeof(Stream) }) != null && mi != null) { AddDefCapability("LSLSyntax", regionSeedID, Cap_LSLSyntax, capConfig); m_ServiceURLCapabilities["LSLSyntaxId"] = (string)mi.Invoke(compiler, new object[0]); } } catch { /* no action needed here */ } AddDefCapabilityFactory("SimulatorFeatures", regionSeedID, (agent) => new SimulatorFeatures(agent, Server.Scene, RemoteIP), capConfig); AddDefCapability("UpdateAgentLanguage", regionSeedID, Cap_UpdateAgentLanguage, capConfig); AddDefCapability("UntrustedSimulatorMessage", regionSeedID, Cap_UntrustedSimulatorMessage, capConfig); AddDefCapability("EnvironmentSettings", regionSeedID, Cap_EnvironmentSettings, capConfig); AddDefCapability("RenderMaterials", regionSeedID, Cap_RenderMaterials, capConfig); AddDefCapability("SimConsoleAsync", regionSeedID, Cap_SimConsoleAsyncCap, capConfig); /* AddDefCapability("ViewerAsset", regionSeedID, Cap_GetAsset, capConfig); TODO: rename needed */ AddDefCapability("GetTexture", regionSeedID, Cap_GetAsset, capConfig); AddDefCapability("GetMesh", regionSeedID, Cap_GetAsset, capConfig); AddDefCapability("GetMesh2", regionSeedID, Cap_GetAsset, capConfig); AddDefCapability("GetDisplayNames", regionSeedID, Cap_GetDisplayNames, capConfig); AddDefCapability("MeshUploadFlag", regionSeedID, Cap_MeshUploadFlag, capConfig); AddDefCapability("GetPhysicsObjectData", regionSeedID, Cap_GetObjectsPhysicsData, capConfig); AddDefCapability("ChatSessionRequest", regionSeedID, ChatSessionRequestCapability.HttpRequestHandler, capConfig); string localHostName = string.Format("{0}://{1}:{2}", m_CapsRedirector.Scheme, m_CapsRedirector.ExternalHostName, m_CapsRedirector.Port); AddDefCapabilityFactory("DispatchRegionInfo", regionSeedID, (agent) => new DispatchRegionInfo(agent, Server.Scene, RemoteIP), capConfig); AddDefCapabilityFactory("CopyInventoryFromNotecard", regionSeedID, (agent) => new CopyInventoryFromNotecard(agent, Server.Scene, RemoteIP), capConfig); AddDefCapabilityFactory("ParcelPropertiesUpdate", regionSeedID, (agent) => new ParcelPropertiesUpdate(agent, Server.Scene, RemoteIP), capConfig); AddDefCapabilityFactory("AgentPreferences", regionSeedID, (agent) => new AgentPreferences(agent, RemoteIP), capConfig); AddDefCapabilityFactory("ObjectAdd", regionSeedID, (agent) => new ObjectAdd(Server.Scene, agent.Owner, RemoteIP), capConfig); AddDefCapabilityFactory("UploadBakedTexture", regionSeedID, (agent) => { UploadAssetAbstractCapability capability = new UploadBakedTexture( agent.Owner, Server.Scene.AssetService, localHostName, RemoteIP); m_UploadCapabilities.Add(capability); return(capability); }, capConfig); AddDefCapabilityFactory("NewFileAgentInventory", regionSeedID, (agent) => { UploadAssetAbstractCapability capability = new NewFileAgentInventory( agent, localHostName, RemoteIP); m_UploadCapabilities.Add(capability); return(capability); }, capConfig); AddDefCapabilityFactory("NewFileAgentInventoryVariablePrice", regionSeedID, (agent) => { UploadAssetAbstractCapability capability = new NewFileAgentInventoryVariablePrice( agent, localHostName, RemoteIP); m_UploadCapabilities.Add(capability); return(capability); }, capConfig); AddDefCapabilityFactory("UpdateGestureAgentInventory", regionSeedID, (agent) => { UploadAssetAbstractCapability capability = new UpdateGestureAgentInventory( agent, agent.InventoryService, agent.AssetService, localHostName, RemoteIP); m_UploadCapabilities.Add(capability); return(capability); }, capConfig); AddDefCapabilityFactory("UpdateNotecardAgentInventory", regionSeedID, (agent) => { UploadAssetAbstractCapability capability = new UpdateNotecardAgentInventory( agent, agent.InventoryService, agent.AssetService, localHostName, RemoteIP); m_UploadCapabilities.Add(capability); return(capability); }, capConfig); AddDefCapabilityFactory("UpdateSettingsAgentInventory", regionSeedID, (agent) => { UploadAssetAbstractCapability capability = new UpdateSettingsAgentInventory( agent, agent.InventoryService, agent.AssetService, localHostName, RemoteIP); m_UploadCapabilities.Add(capability); return(capability); }, capConfig); AddDefCapabilityFactory("UpdateScriptAgent", regionSeedID, (agent) => { UploadAssetAbstractCapability capability = new UpdateScriptAgent( agent, agent.InventoryService, agent.AssetService, localHostName, RemoteIP); m_UploadCapabilities.Add(capability); return(capability); }, capConfig); AddDefCapabilityFactory("UpdateScriptTask", regionSeedID, (agent) => { UploadAssetAbstractCapability capability = new UpdateScriptTask( agent, Server.Scene, localHostName, RemoteIP); m_UploadCapabilities.Add(capability); return(capability); }, capConfig); AddDefCapabilityFactory("UpdateGestureTaskInventory", regionSeedID, (agent) => { UploadAssetAbstractCapability capability = new UpdateGestureTaskInventory( agent, Server.Scene, localHostName, RemoteIP); m_UploadCapabilities.Add(capability); return(capability); }, capConfig); AddDefCapabilityFactory("UpdateNotecardTaskInventory", regionSeedID, (agent) => { UploadAssetAbstractCapability capability = new UpdateNotecardTaskInventory( agent, Server.Scene, localHostName, RemoteIP); m_UploadCapabilities.Add(capability); return(capability); }, capConfig); AddDefCapabilityFactory("UpdateSettingsTaskInventory", regionSeedID, (agent) => { UploadAssetAbstractCapability capability = new UpdateSettingsTaskInventory( agent, Server.Scene, localHostName, RemoteIP); m_UploadCapabilities.Add(capability); return(capability); }, capConfig); AddDefCapabilityFactory("ParcelNavigateMedia", regionSeedID, (agent) => new ParcelNavigateMedia(agent.Owner, Server.Scene, RemoteIP), capConfig); AddDefCapabilityFactory("ObjectMedia", regionSeedID, (agent) => new ObjectMedia(agent, Server.Scene, RemoteIP), capConfig); AddDefCapabilityFactory("ObjectMediaNavigate", regionSeedID, (agent) => new ObjectMediaNavigate(agent, Server.Scene, RemoteIP), capConfig); AddDefCapabilityFactory("UpdateAvatarAppearance", regionSeedID, (agent) => new UpdateAvatarAppearance(agent, Server.Scene, RemoteIP), capConfig); AddDefCapabilityFactory("LandResources", regionSeedID, (agent) => new LandResources(agent, Server.Scene, localHostName, RemoteIP), capConfig); AddDefCapabilityFactory("AttachmentResources", regionSeedID, (agent) => new AttachmentResources(agent, Server.Scene, RemoteIP), capConfig); AddDefCapabilityFactory("ResourceCostSelected", regionSeedID, (agent) => new ResourceCostSelected(agent, Server.Scene, RemoteIP), capConfig); AddDefCapabilityFactory("ViewerStats", regionSeedID, (agent) => ViewerStats = new ViewerStats(agent, Server.Scene, RemoteIP), capConfig); AddDefCapabilityFactory("ViewerMetrics", regionSeedID, (agent) => ViewerMetrics = new ViewerMetrics(agent, Server.Scene, RemoteIP), capConfig); AddDefCapabilityFactory("GetObjectCost", regionSeedID, (agent) => new GetObjectCost(agent, Server.Scene, RemoteIP), capConfig); AddDefCapabilityFactory("EstateAccess", regionSeedID, (agent) => new EstateAccess(agent, Server.Scene, RemoteIP), capConfig); }