Пример #1
0
        void Awake()
        {
            if (DisableLists.Value)
            {
                DisableCharaList.Patch();
            }

            var gameobject = new GameObject(nameof(CardOrganizerKK));

            gameobject.transform.SetParent(gameObject.transform);
            var dispatcher = gameobject.AddComponent <UnityMainThreadDispatcher>();

            var scenes = new Dictionary <string, CardHandler>
            {
                { "Maker", gameobject.AddComponent <Methods_Maker>() },
                { "Studio", gameobject.AddComponent <Methods_CharaStudio>() },
                { "FreeH", gameobject.AddComponent <Methods_HScene>() },
                { "FreeHSelect", gameobject.AddComponent <Methods_FreeHSelect>() }
            };

            RPCClient_Plugin.Init("CardOrganizerServer", 9125, "KK", (message, id) => {
                if (!dispatcher)
                {
                    Console.WriteLine("[CardOrganizer] Dispatcher dead");
                }
                dispatcher.Enqueue(() => scenes[id].UseCard(message));
            });

            SceneLoaded();
            SceneManager.sceneLoaded += SceneLoaded;
        }
Пример #2
0
 void OnDestroy()
 {
     RPCClient_Plugin.StopServer();
     DisableCharaList.RemovePatches();
     SceneManager.sceneLoaded -= SceneLoaded;
 }