public static GameObject GetWorldObject(string worldObjectCode) { IWorldObjectData interfacer = ResourceManager.WorldObjectCodeInterfacerMap[worldObjectCode]; return(interfacer.GetWorldObject()); }
// public static string[] AvatarCodes; #endregion #region MonoBehavior public static void Setup() { IAgentDataProvider agentDatabase; if (LSDatabaseManager.TryGetDatabase <IAgentDataProvider>(out agentDatabase)) { AgentData = agentDatabase.AgentData; AgentCodes = new string[AgentData.Length]; AgentController.CachedAgents = new Dictionary <string, FastStack <LSAgent> >(AgentData.Length); OrganizerObject = LSUtility.CreateEmpty().transform; OrganizerObject.gameObject.name = "OrganizerObject"; OrganizerObject.gameObject.SetActive(false); GameObject.DontDestroyOnLoad(OrganizerObject); for (int i = 0; i < AgentData.Length; i++) { IAgentData interfacer = AgentData[i]; string agentCode = interfacer.Name; AgentCodes[i] = agentCode; AgentController.CachedAgents.Add(agentCode, new FastStack <LSAgent>(2)); AgentCodeInterfacerMap.Add(agentCode, interfacer); AgentCodeIndexMap.Add(agentCode, (ushort)i); } } else { Debug.Log("Database does not provide AgentData. Make sure it implements IAgentDataProvider."); } IWorldObjectDataProvider worldObjectDatabase; if (LSDatabaseManager.TryGetDatabase <IWorldObjectDataProvider>(out worldObjectDatabase)) { WorldObjectData = worldObjectDatabase.WorldObjectData; WorldObjectCodes = new string[AgentData.Length]; for (int i = 0; i < WorldObjectData.Length; i++) { IWorldObjectData interfacer = WorldObjectData[i]; string worldObjectCode = interfacer.Name; WorldObjectCodes[i] = worldObjectCode; WorldObjectCodeInterfacerMap.Add(worldObjectCode, interfacer); } } else { Debug.Log("Database does not provide WorldObjectData. Make sure it implements IWorldObjectDataProvider."); } IAvatarDataProvider avatarDatabase; if (LSDatabaseManager.TryGetDatabase <IAvatarDataProvider>(out avatarDatabase)) { AvatarData = avatarDatabase.AvatarData; Avatars = new Texture2D[AvatarData.Length]; for (int i = 0; i < AvatarData.Length; i++) { IAvatarData interfacer = AvatarData[i]; Texture2D avatar = interfacer.GetAvatar(); // AvatarCodes[i] = avatarCode; Avatars[i] = avatar; // AvatarCodeInterfacerMap.Add(avatarCode, interfacer); } } else { Debug.Log("Database does not provide WorldObjectData. Make sure it implements IWorldObjectDataProvider."); } }