示例#1
0
        /// <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);
                }
            }
        }
示例#2
0
        /// <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();
        }
示例#3
0
        /// <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);
            }
        }
示例#4
0
        private void OnContentRequestOpen(RimeMessage p_Message)
        {
            var s_Message = (ContentRequestOpen)p_Message;

            WriteLog(LogsLevel.All, "Swag, Swag, Swag, Swag");
        }
示例#5
0
        /// <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);
        }