public static bool TryFindRootAgent(this SceneList list, UUID regionid, UUID agentId, out IAgent agent) { agent = null; SceneInterface scene; return(list.TryGetValue(regionid, out scene) && scene.RootAgents.TryGetValue(agentId, out agent)); }
public static bool SendIM(this SceneList list, GridInstantMessage gim) { IAgent agent; UUID sceneID; bool result = false; if (list.TryFindRootAgent(gim.ToAgent.ID, out agent, out sceneID)) { result = agent.IMSend(gim); } return(result); }
public static void SendMoneyBalance(this SceneList list, UUID agentId, int moneyBalance) { IAgent agent; UUID sceneID; if (list.TryFindRootAgent(agentId, out agent, out sceneID)) { agent.SendMessageIfRootAgent(new MoneyBalanceReply { AgentID = agentId, MoneyBalance = moneyBalance }, sceneID); } }
public static bool TryFindRootAgent(this SceneList list, UUID agentId, out IAgent agent, out UUID regionid) { agent = null; regionid = default(UUID); foreach (SceneInterface scene in list.Values) { if (scene.RootAgents.TryGetValue(agentId, out agent)) { regionid = scene.ID; return(true); } } return(false); }