当前位置: 首页>>代码示例>>C#>>正文


C# ISimulationService.CreateAgent方法代码示例

本文整理汇总了C#中ISimulationService.CreateAgent方法的典型用法代码示例。如果您正苦于以下问题:C# ISimulationService.CreateAgent方法的具体用法?C# ISimulationService.CreateAgent怎么用?C# ISimulationService.CreateAgent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ISimulationService的用法示例。


在下文中一共展示了ISimulationService.CreateAgent方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: CreateAgent

        private bool CreateAgent(GridRegion region, IRegionClientCapsService regionCaps, ref AgentCircuitData aCircuit,
            ISimulationService SimulationService, ref int requestedUDPPort, out string reason)
        {
            CachedUserInfo info = new CachedUserInfo();
            IAgentConnector con = Aurora.DataManager.DataManager.RequestPlugin<IAgentConnector>();
            if (con != null)
                info.AgentInfo = con.GetAgent(aCircuit.AgentID);
            info.UserAccount = regionCaps.ClientCaps.AccountInfo;

            IGroupsServiceConnector groupsConn = Aurora.DataManager.DataManager.RequestPlugin<IGroupsServiceConnector>();
            if (groupsConn != null)
            {
                info.ActiveGroup = groupsConn.GetGroupMembershipData(aCircuit.AgentID, UUID.Zero, aCircuit.AgentID);
                info.GroupMemberships = groupsConn.GetAgentGroupMemberships(aCircuit.AgentID, aCircuit.AgentID);
            }
            aCircuit.OtherInformation["CachedUserInfo"] = info.ToOSD();
            return SimulationService.CreateAgent(region, aCircuit, aCircuit.teleportFlags, null,
                                                    out requestedUDPPort, out reason);
        }
开发者ID:nathanmarck,项目名称:Aurora-Sim,代码行数:19,代码来源:AgentProcessing.cs

示例2: LaunchAgentDirectly

        private bool LaunchAgentDirectly(ISimulationService simConnector, GridRegion region, AgentCircuitData aCircuit, TeleportFlags flags, out string reason)
        {
            string version;

            if (
                !simConnector.QueryAccess(
                    region, aCircuit.AgentID, null, true, aCircuit.startpos, "SIMULATION/0.3", out version, out reason))
                return false;

            return simConnector.CreateAgent(null, region, aCircuit, (uint)flags, out reason);
        }
开发者ID:Kubwa,项目名称:opensim,代码行数:11,代码来源:LLLoginService.cs

示例3: LaunchAgentDirectly

 private bool LaunchAgentDirectly(ISimulationService simConnector, GridRegion region, AgentCircuitData aCircuit, TeleportFlags flags, out string reason)
 {
     return simConnector.CreateAgent(null, region, aCircuit, (uint)flags, out reason);
 }
开发者ID:BogusCurry,项目名称:arribasim-dev,代码行数:4,代码来源:LLLoginService.cs

示例4: LaunchAgentDirectly

        private bool LaunchAgentDirectly(ISimulationService simConnector, GridRegion region, AgentCircuitData aCircuit, TeleportFlags flags, out string reason)
        {
            EntityTransferContext ctx = new EntityTransferContext();

            if (!simConnector.QueryAccess(
                    region, aCircuit.AgentID, null, true, aCircuit.startpos, new List<UUID>(), ctx, out reason))
                return false;

            return simConnector.CreateAgent(null, region, aCircuit, (uint)flags, ctx, out reason);
        }
开发者ID:CassieEllen,项目名称:opensim,代码行数:10,代码来源:LLLoginService.cs

示例5: CreateAgent

        bool CreateAgent(GridRegion region, IRegionClientCapsService regionCaps, ref AgentCircuitData aCircuit,
            ISimulationService SimulationService, List<UUID> friendsToInform, out CreateAgentResponse response)
        {
            CachedUserInfo info = new CachedUserInfo();
            IAgentConnector con = Framework.Utilities.DataManager.RequestPlugin<IAgentConnector>();

            if (con != null)
                info.AgentInfo = con.GetAgent(aCircuit.AgentID);

            if (regionCaps != null)
                info.UserAccount = regionCaps.ClientCaps.AccountInfo;

            IGroupsServiceConnector groupsConn = Framework.Utilities.DataManager.RequestPlugin<IGroupsServiceConnector>();

            if (groupsConn != null)
            {
                info.ActiveGroup = groupsConn.GetGroupMembershipData(aCircuit.AgentID, UUID.Zero, aCircuit.AgentID);
                info.GroupMemberships = groupsConn.GetAgentGroupMemberships(aCircuit.AgentID, aCircuit.AgentID);
            }

            IOfflineMessagesConnector offlineMessConn =
                Framework.Utilities.DataManager.RequestPlugin<IOfflineMessagesConnector>();

            if (offlineMessConn != null)
                info.OfflineMessages = offlineMessConn.GetOfflineMessages(aCircuit.AgentID);

            IMuteListConnector muteConn = Framework.Utilities.DataManager.RequestPlugin<IMuteListConnector>();

            if (muteConn != null)
                info.MuteList = muteConn.GetMuteList(aCircuit.AgentID);

            IAvatarService avatarService = m_registry.RequestModuleInterface<IAvatarService>();

            if (avatarService != null)
                info.Appearance = avatarService.GetAppearance(aCircuit.AgentID);

            info.FriendOnlineStatuses = friendsToInform;
            IFriendsService friendsService = m_registry.RequestModuleInterface<IFriendsService>();

            if (friendsService != null)
                info.Friends = friendsService.GetFriends(aCircuit.AgentID);

            aCircuit.CachedUserInfo = info;
            return SimulationService.CreateAgent(region, aCircuit, aCircuit.TeleportFlags, out response);
        }
开发者ID:VirtualReality,项目名称:Universe,代码行数:45,代码来源:AgentProcessing.cs

示例6: LaunchAgentDirectly

 private bool LaunchAgentDirectly(ISimulationService simConnector, GridRegion region, AgentCircuitData aCircuit, out string reason)
 {
     return simConnector.CreateAgent(region, aCircuit, (int)Constants.TeleportFlags.ViaLogin, out reason);
 }
开发者ID:mcortez,项目名称:opensim,代码行数:4,代码来源:LLLoginService.cs

示例7: LaunchAgentDirectly

        protected bool LaunchAgentDirectly(ISimulationService simConnector, GridRegion region, AgentCircuitData aCircuit, out string reason)
        {
            // The client is in the region, we need to make sure it gets the right Caps
            // If CreateAgent is successful, it passes back a OSDMap of params that the client 
            //    wants to inform us about, and it includes the Caps SEED url for the region
            IRegionClientCapsService regionClientCaps = null;
            if (m_CapsService != null)
            {
                //Remove any previous users
                string ServerCapsBase = CapsUtil.GetRandomCapsObjectPath();
                m_CapsService.CreateCAPS(aCircuit.AgentID, CapsUtil.GetCapsSeedPath(ServerCapsBase), region.RegionHandle, true, aCircuit);

                regionClientCaps = m_CapsService.GetClientCapsService(aCircuit.AgentID).GetCapsService(region.RegionHandle);
            }

            ICommunicationService commsService = m_registry.RequestModuleInterface<ICommunicationService>();
            if (commsService != null)
                commsService.GetUrlsForUser(region, aCircuit.AgentID);//Make sure that we make userURLs if we need to

            // As we are creating the agent, we must also initialize the CapsService for the agent
            bool success = simConnector.CreateAgent (region, ref aCircuit, aCircuit.teleportFlags, null, out reason);
            if (!success) // If it failed, do not set up any CapsService for the client
            {
                if (reason != "")
                {
                    try
                    {
                        OSDMap reasonMap = OSDParser.DeserializeJson (reason) as OSDMap;
                        if (reasonMap != null && reasonMap.ContainsKey ("Reason"))
                            reason = reasonMap["Reason"].AsString ();
                    }
                    catch
                    {
                        //If its already not JSON, it'll throw an exception, catch it
                    }
                }
                //Delete the Caps!
                IAgentProcessing agentProcessor = m_registry.RequestModuleInterface<IAgentProcessing>();
                if (agentProcessor != null && m_CapsService != null)
                    agentProcessor.LogoutAgent(regionClientCaps);
                else if(m_CapsService != null)
                    m_CapsService.RemoveCAPS(aCircuit.AgentID);
                return success;
            }

            if (m_CapsService != null && reason != "")
            {
                try
                {
                    OSDMap responseMap = (OSDMap)OSDParser.DeserializeJson (reason);
                    OSDMap SimSeedCaps = (OSDMap)responseMap["CapsUrls"];
                    regionClientCaps.AddCAPS (SimSeedCaps);
                }
                catch
                {
                    //Delete the Caps!
                    IAgentProcessing agentProcessor = m_registry.RequestModuleInterface<IAgentProcessing> ();
                    if (agentProcessor != null && m_CapsService != null)
                        agentProcessor.LogoutAgent (regionClientCaps);
                    else if (m_CapsService != null)
                        m_CapsService.RemoveCAPS (aCircuit.AgentID);
                    success = false;
                }
            }
            return success;
        }
开发者ID:LOG123,项目名称:Aurora-Sim-PhysX,代码行数:66,代码来源:LLLoginService.cs

示例8: LaunchAgentDirectly

        private bool LaunchAgentDirectly(ISimulationService simConnector, GridRegion region, AgentCircuitData aCircuit, TeleportFlags flags, out string reason)
        {
            string myversion = String.Format("SIMULATION/{0}", VersionInfo.SimulationServiceVersion);
            string version;

            if (!simConnector.QueryAccess(
                    region, aCircuit.AgentID, null, true, aCircuit.startpos, myversion, new List<UUID>(), out version, out reason))
                return false;

            return simConnector.CreateAgent(null, region, aCircuit, (uint)flags, out reason);
        }
开发者ID:Gitlab11,项目名称:opensim,代码行数:11,代码来源:LLLoginService.cs

示例9: LaunchAgentDirectly

        protected bool LaunchAgentDirectly(ISimulationService simConnector, GridRegion region, AgentCircuitData aCircuit, out string reason)
        {
            // The client is in the region, we need to make sure it gets the right Caps
            // If CreateAgent is successful, it passes back a OSDMap of params that the client 
            //    wants to inform us about, and it includes the Caps SEED url for the region
            IRegionClientCapsService regionClientCaps = null;
            if (m_CapsService != null)
            {
                //Remove any previous users
                string ServerCapsBase = CapsUtil.GetRandomCapsObjectPath();
                string ServerCapsSeedPath = m_CapsService.CreateCAPS(aCircuit.AgentID, "", CapsUtil.GetCapsSeedPath(ServerCapsBase), region.RegionHandle, true);

                regionClientCaps = m_CapsService.GetClientCapsService(aCircuit.AgentID).GetCapsService(region.RegionHandle);
                aCircuit.OtherInformation["CapsPassword"] = regionClientCaps.Password;
            }

            // As we are creating the agent, we must also initialize the CapsService for the agent
            bool success = simConnector.CreateAgent(region, aCircuit, (int)TeleportFlags.ViaLogin, null, out reason);
            if (!success) // If it failed, do not set up any CapsService for the client
            {
                //Delete the Caps!
                m_CapsService.RemoveCAPS(aCircuit.AgentID);
                return success;
            }

            if (m_CapsService != null && reason != "")
            {
                OSDMap responseMap = (OSDMap)OSDParser.DeserializeJson(reason);
                string SimcapsSeedPath = responseMap["CapsUrl"].AsString();
                regionClientCaps.AddSEEDCap("", SimcapsSeedPath, UUID.Zero);
                m_log.Info("[NewAgentConnection]: Adding Caps Url for grid" +
                     " @" + regionClientCaps.CapsUrl + " calling URL " + SimcapsSeedPath +
                     " for agent " + aCircuit.AgentID);
            }

            return success;
        }
开发者ID:mugginsm,项目名称:Aurora-Sim,代码行数:37,代码来源:LLLoginService.cs

示例10: LaunchAgentDirectly

        protected bool LaunchAgentDirectly(ISimulationService simConnector, GridRegion region, AgentCircuitData aCircuit, out string reason)
        {
            // The client is in the region, we need to make sure it gets the right Caps
            // If CreateAgent is successful, it passes back a OSDMap of params that the client 
            //    wants to inform us about, and it includes the Caps SEED url for the region
            IRegionClientCapsService regionClientCaps = null;
            if (m_CapsService != null)
            {
                //Remove any previous users
                string ServerCapsBase = CapsUtil.GetRandomCapsObjectPath();
                m_CapsService.CreateCAPS(aCircuit.AgentID, CapsUtil.GetCapsSeedPath(ServerCapsBase), region.RegionHandle, true, aCircuit);

                regionClientCaps = m_CapsService.GetClientCapsService(aCircuit.AgentID).GetCapsService(region.RegionHandle);
            }

            ICommunicationService commsService = m_registry.RequestModuleInterface<ICommunicationService>();
            if (commsService != null)
            {
                aCircuit.OtherInformation["UserUrls"] = commsService.GetUrlsForUser(region, aCircuit.AgentID);
            }
            aCircuit.teleportFlags = (uint)TeleportFlags.ViaLogin;
            // As we are creating the agent, we must also initialize the CapsService for the agent
            bool success = simConnector.CreateAgent(region, aCircuit, (int)TeleportFlags.ViaLogin, null, out reason);
            if (!success) // If it failed, do not set up any CapsService for the client
            {
                //Delete the Caps!
                IAgentProcessing agentProcessor = m_registry.RequestModuleInterface<IAgentProcessing>();
                if (agentProcessor != null && m_CapsService != null)
                    agentProcessor.LogoutAgent(regionClientCaps);
                else if(m_CapsService != null)
                    m_CapsService.RemoveCAPS(aCircuit.AgentID);
                return success;
            }

            if (m_CapsService != null && reason != "")
            {
                OSDMap responseMap = (OSDMap)OSDParser.DeserializeJson(reason);
                OSDMap SimSeedCaps = (OSDMap)responseMap["CapsUrls"];
                regionClientCaps.AddCAPS(SimSeedCaps);
            }
            return success;
        }
开发者ID:x8ball,项目名称:Aurora-Sim,代码行数:42,代码来源:LLLoginService.cs


注:本文中的ISimulationService.CreateAgent方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。