public static void Init(ModEntry entry)
        {
            Logger = entry.Logger;

            SettingsDirectory = Path.Combine(entry.Path, @"ModSettings\");

            if (!Directory.Exists(SettingsDirectory))
            {
                Directory.CreateDirectory(SettingsDirectory);
            }

            BESettings.Setup();
            Settings = BESettings.Get <BEMainSettings>();

            BEString.Setup(entry);

            entry.Info.DisplayName = BEString.Get("global.mod_title");

            entry.OnToggle  = OnToggle;
            entry.OnShowGUI = OnShowGUI;
            entry.OnSaveGUI = OnSaveGUI;
            entry.OnGUI     = OnGUI;

            isEnabled = entry.Enabled;
            hasUpdate = entry.HasUpdate;

            // scnEditorPrivates.Setup();
            harmony = new Harmony(entry.Info.Id);
        }
        public override void Execute(scnEditor instance, string[] args) //자동완성이 안대요 살려주세요 저런
        {
            object myObj = castStringToType(args[0]);

            if (isType(myObj, out bool sdsaf))
            {
            }

            string cc = BEString.Get("command.test_command.name");

            Dictionary <string, object> paramDictionary = new Dictionary <string, object>();

            paramDictionary.Add("parameter_name", 1213);
            paramDictionary.Add("parameter_name2", 456f);
            paramDictionary.Add("parameter_name3", false);
            paramDictionary.Add("parameter_name4", null);

            cc = BEString.GetAndParse("command.test_command.description", paramDictionary);
        }
        public static void OnGUI(ModEntry entry)
        {
            if (Settings.DeveloperMode)
            {
                GUILayout.Label("### Create Key (key, eng, kor)");

                GUILayout.BeginHorizontal();
                for (int i = 0; i < 3; i++)
                {
                    values[i] = GUILayout.TextField(values[i]);
                }

                if (GUILayout.Button("Apply"))
                {
                    SQLValue value = new SQLValue(values[0], values[1], values[2]);
                    SQLScript.InsertKey(value);
                }
                GUILayout.EndHorizontal();

                GUILayout.Label("### Remove Key (key)");

                GUILayout.BeginHorizontal();
                values[3] = GUILayout.TextField(values[3]);

                if (GUILayout.Button("Apply"))
                {
                    SQLScript.DeleteKey(values[3]);
                }
                GUILayout.EndHorizontal();

                GUILayout.Label("### Get Key Result: ");
                GUILayout.Label(BEString.Get(values[4], SystemLanguage.English));
                GUILayout.Label(BEString.Get(values[4], SystemLanguage.Korean));

                values[4] = GUILayout.TextField(values[4]);

                GUILayout.Space(20f);

                Settings.TestValue = GUILayout.TextField(Settings.TestValue);

                GUILayout.Space(20f);
            }
        }