/// <summary> /// OnMountSuperbundleBundles is called when the superbundles have already been loaded /// and we are requesting for the bundles within that superbundle to be loaded /// </summary> /// <param name="p_RimeMessage">MountSuperbundleBundlesMessage</param> private void OnMountSuperbundlesBundles(RimeMessage p_RimeMessage) { var s_Message = (MountSuperbundlesBundlesMessage)p_RimeMessage; var s_Superbundles = new List <string>(s_Message.Superbundles); List <FSLeaf> s_Leaves; if (!FileSystem.ListPath("/sb", out s_Leaves)) { return; } var s_ToMount = new HashSet <SuperbundleBase>(); foreach (string l_Superbundle in s_Superbundles) { foreach (var l_Leaf in s_Leaves) { if (!l_Leaf.Path.ToLowerInvariant().Contains(l_Superbundle.ToLowerInvariant())) { continue; } s_ToMount.Add(l_Leaf.AttachedObject as SuperbundleBase); } } }
/// <summary> /// OnMountBaseGame is called when Rime is requesting to mount a Frostbite Engine game /// This function must check the version number, and ignore if they don't match or handle the mounting /// </summary> /// <param name="p_RimeMessage">MountBaseGameMessage</param> private void OnMountBaseGame(RimeMessage p_RimeMessage) { var s_Message = (MountBaseGameMessage)p_RimeMessage; // Version check if (s_Message.Engine != EngineType.Frostbite2013_2) { return; } // Load the necessary bindings. ContainerRegistry.ClearRegistry(); // TODO: Mounting bindings per-game (should this be done in another plugin?) // Create our new managers to handle Frostbite 2013.2 content Mount2014_3Branch(); // Figure out the layout of the game LayoutManager.DiscoverLayout(); // Mount the Content Addressable Storage ContentManager.MountBaseContent(); // Mount the superbundles SuperbundleManager.MountSuperbundles(); }
/// <summary> /// OnMountSuperbundleBundles is called when a specific superbundle /// is requesting to mount it's bundles /// </summary> /// <param name="p_Message">MountSuperbundleBundlesMessage</param> private void OnMountSuperbundleBundles(RimeMessage p_Message) { var s_Message = (MountSuperbundleBundlesMessage)p_Message; List <FSLeaf> s_Leaves; if (!FileSystem.ListPath("/sb", out s_Leaves)) { return; } foreach (var l_Leaf in s_Leaves) { if (!l_Leaf.Path.ToLowerInvariant().Contains(s_Message.Superbundle.ToLowerInvariant())) { continue; } BundleManager?.MountBundles(l_Leaf.AttachedObject as SuperbundleBase); } }
private void OnContentRequestOpen(RimeMessage p_Message) { var s_Message = (ContentRequestOpen)p_Message; WriteLog(LogsLevel.All, "Swag, Swag, Swag, Swag"); }
/// <summary> /// OnSuperbundleMounted is called when a superbundle has been mounted to Rime /// </summary> /// <param name="p_RimeMessage">SuperbundleMountedMessage</param> private void OnSuperbundleMounted(RimeMessage p_RimeMessage) { var s_Message = (SuperbundleMountedMessage)p_RimeMessage; BundleManager?.DiscoverBundles(s_Message.Superbundle); }