Beispiel #1
0
 static Startup()
 {
     if (Helper.LoadValueFromFile("delete_vrc_sdk", ".thry_after_compile_data") == "true")
     {
         DeleteVRCSDKFolder();
     }
 }
Beispiel #2
0
 public static void OnCompile()
 {
     if (Helper.LoadValueFromFile("delete_vrc_sdk", PATH.AFTER_COMPILE_DATA) == "true")
     {
         DeleteVRCSDKFolder();
     }
 }
Beispiel #3
0
        private void InitVariables()
        {
            is_changing_vrc_sdk = (Helper.LoadValueFromFile("delete_vrc_sdk", PATH.AFTER_COMPILE_DATA) == "true") || (Helper.LoadValueFromFile("update_vrc_sdk", PATH.AFTER_COMPILE_DATA) == "true");

            CheckAPICompatibility(); //check that Net_2.0 is ApiLevel
            CheckDrawingDll();       //check that drawing.dll is imported
            CheckVRCSDK();

            List <Type> subclasses = typeof(ModuleSettings).Assembly.GetTypes().Where(type => type.IsSubclassOf(typeof(ModuleSettings))).ToList <Type>();

            moduleSettings = new ModuleSettings[subclasses.Count];
            int i = 0;

            foreach (Type classtype in subclasses)
            {
                moduleSettings[i++] = (ModuleSettings)Activator.CreateInstance(classtype);
            }

            is_init = true;

            if (thry_message == null)
            {
                Helper.DownloadStringASync(Thry.URL.SETTINGS_MESSAGE_URL, delegate(string s) { thry_message = Parser.ParseToObject <ButtonData>(s); });
            }
        }
Beispiel #4
0
        public static void SetVRCDefineSybolIfSDKDeleted(string[] importedAssets)
        {
            bool currently_deleteing_sdk = (Helper.LoadValueFromFile("delete_vrc_sdk", PATH.AFTER_COMPILE_DATA) == "true");

            if (!Settings.is_changing_vrc_sdk && !currently_deleteing_sdk && AssetsContainVRCSDK(importedAssets))
            {
                Helper.SetDefineSymbol(DEFINE_SYMBOLS.VRC_SDK_INSTALLED, false);
                Update();
            }
        }
            static Startup()
            {
                string url  = Helper.LoadValueFromFile("update_module_url", ".thry_after_compile_data");
                string name = Helper.LoadValueFromFile("update_module_name", ".thry_after_compile_data");

                if (url != null && url.Length > 0 && name != null && name.Length > 0)
                {
                    InstallModule(url, name);
                    Helper.SaveValueToFile("update_module_url", "", ".thry_after_compile_data");
                    Helper.SaveValueToFile("update_module_url", "", ".thry_after_compile_data");
                }
            }
Beispiel #6
0
        public static void OnCompile()
        {
            string url  = Helper.LoadValueFromFile("update_module_url", PATH.AFTER_COMPILE_DATA);
            string name = Helper.LoadValueFromFile("update_module_name", PATH.AFTER_COMPILE_DATA);

            if (url != null && url.Length > 0 && name != null && name.Length > 0)
            {
                InstallModule(url, name);
                Helper.SaveValueToFile("update_module_url", "", PATH.AFTER_COMPILE_DATA);
                Helper.SaveValueToFile("update_module_url", "", PATH.AFTER_COMPILE_DATA);
            }
        }
Beispiel #7
0
 /// If gradient is saved get exact value, else tries to build it from texture
 public static Gradient GetGradient(Texture texture)
 {
     if (texture != null)
     {
         string gradient_data_string = Helper.LoadValueFromFile(texture.name, PATH.GRADIENT_INFO_FILE);
         if (gradient_data_string != null)
         {
             return(Parser.ParseToObject <Gradient>(gradient_data_string));
         }
         return(Converter.TextureToGradient(Helper.GetReadableTexture(texture)));
     }
     return(new Gradient());
 }
        public static TextureData GetTextureSettings(MaterialProperty prop)
        {
            TextureData defined_default       = ThryEditor.currentlyDrawing.currentProperty.options.texture;
            string      json_texture_settings = Helper.LoadValueFromFile("gradient_texture_options_" + prop.name, ".thry_persistent_data");

            if (json_texture_settings != null)
            {
                return(Parser.ParseToObject <TextureData>(json_texture_settings));
            }
            else if (defined_default != null)
            {
                return(defined_default);
            }
            else
            {
                return(new TextureData());
            }
        }
        private void TextureUpdated(ref GradientData data)
        {
            data.texture = SetTextureImporterFormat(data.texture, true);
            string gradientInfo = Helper.LoadValueFromFile(data.texture.name, GRADIENT_INFO_FILE_PATH);

            if (gradientInfo != null)
            {
                Debug.Log("Gradient Data: " + gradientInfo);
                Debug.Log("Load Gradient from save file.");
                StringToGradient(ref data, gradientInfo);
                data.serializedGradient = new SerializedObject(data.gradientObj);
                data.colorGradient      = data.serializedGradient.FindProperty("gradient");
            }
            else
            {
                TextureToGradient(ref data);
            }
        }
Beispiel #10
0
        private static void CheckVRCSDK(string[] importedAssets)
        {
            bool vrcImported = false;

            foreach (string s in importedAssets)
            {
                if (s.Contains("VRCSDK2.dll"))
                {
                    vrcImported = true;
                }
            }

            bool currently_deleteing_sdk = (Helper.LoadValueFromFile("delete_vrc_sdk", ".thry_after_compile_data") == "true");

            if (!Settings.is_changing_vrc_sdk && !currently_deleteing_sdk)
            {
                Helper.SetDefineSymbol(DEFINE_SYMBOLE_VRC_SDK_INSTALLED, VRCInterface.Get().sdk_is_installed | vrcImported);
            }
        }
Beispiel #11
0
 private static void DeleteVRCSDKFolder()
 {
     if (!Get().sdk_is_installed)
     {
         Helper.SaveValueToFile("delete_vrc_sdk", "false", PATH.AFTER_COMPILE_DATA);
         if (Helper.LoadValueFromFile("update_vrc_sdk", PATH.AFTER_COMPILE_DATA) == "true")
         {
             DownloadAndInstallVRCSDK();
         }
         else
         {
             Settings.is_changing_vrc_sdk = false;
         }
     }
     if (Get().sdk_path != null && Directory.Exists(Get().sdk_path))
     {
         Directory.Delete(Get().sdk_path, true);
         AssetDatabase.Refresh();
     }
     Update();
 }
Beispiel #12
0
        private void InitVariables()
        {
            is_changing_vrc_sdk = (Helper.LoadValueFromFile("delete_vrc_sdk", ".thry_after_compile_data") == "true") || (Helper.LoadValueFromFile("update_vrc_sdk", ".thry_after_compile_data") == "true");

            CheckAPICompatibility(); //check that Net_2.0 is ApiLevel
            CheckMCS();              //check that MCS is imported
            SetupStyle();            //setup styles
            CheckVRCSDK();

            List <Type> subclasses = typeof(ModuleSettings).Assembly.GetTypes().Where(type => type.IsSubclassOf(typeof(ModuleSettings))).ToList <Type>();

            moduleSettings = new ModuleSettings[subclasses.Count];
            int i = 0;

            foreach (Type classtype in subclasses)
            {
                moduleSettings[i++] = (ModuleSettings)Activator.CreateInstance(classtype);
            }

            if (thry_message == null)
            {
                Helper.DownloadStringASync(THRY_MESSAGE_URL, delegate(string s) { thry_message = Parser.ParseToObject <ButtonData>(s); });
            }
        }
Beispiel #13
0
        public override void OnGUI(Rect position, MaterialProperty prop, GUIContent label, MaterialEditor editor)
        {
            string text             = "";
            int    selectedAlphabet = 0;

            if (ThryEditor.currentlyDrawing.currentProperty.property_data == null)
            {
                ThryEditor.currentlyDrawing.currentProperty.property_data = new TextData {
                    text = Helper.LoadValueFromFile(editor.target.name + ":" + prop.name, PATH.TEXT_INFO_FILE), selectedAlphabet = 0
                }
            }
            ;
            text             = ((TextData)ThryEditor.currentlyDrawing.currentProperty.property_data).text;
            selectedAlphabet = ((TextData)ThryEditor.currentlyDrawing.currentProperty.property_data).selectedAlphabet;

            string[]      guids        = AssetDatabase.FindAssets("alphabet t:texture");
            List <string> alphabetList = new List <string>();

            for (int i = 0; i < guids.Length; i++)
            {
                string p        = AssetDatabase.GUIDToAssetPath(guids[i]);
                int    index    = p.LastIndexOf("/") + 1;
                int    indexEnd = p.LastIndexOf(".");
                string name     = p.Substring(index, indexEnd - index);
                if (!name.StartsWith("alphabet_"))
                {
                    continue;
                }
                alphabetList.Add(name);
            }
            string[] alphabets = alphabetList.ToArray();

            Rect textPosition = position;

            textPosition.width *= 3f / 4;
            EditorGUI.BeginChangeCheck();
            text = EditorGUI.DelayedTextField(textPosition, new GUIContent("       " + label.text, label.tooltip), text);

            Rect popUpPosition = position;

            popUpPosition.width /= 4f;
            popUpPosition.x     += popUpPosition.width * 3;
            selectedAlphabet     = EditorGUI.Popup(popUpPosition, selectedAlphabet, alphabets);

            if (EditorGUI.EndChangeCheck())
            {
                foreach (Material m in ThryEditor.currentlyDrawing.materials)
                {
                    Helper.SaveValueToFile(m.name + ":" + prop.name, text, PATH.TEXT_INFO_FILE);
                }
                ThryEditor.currentlyDrawing.currentProperty.property_data = new TextData {
                    text = text, selectedAlphabet = selectedAlphabet
                };
                prop.textureValue = Converter.TextToTexture(text, alphabets[selectedAlphabet]);
                Debug.Log("text '" + text + "' saved as texture.");
            }

            EditorGUI.BeginChangeCheck();
            editor.TexturePropertyMiniThumbnail(position, prop, "", "");
            if (EditorGUI.EndChangeCheck())
            {
                if (prop.textureValue.name.StartsWith("text_"))
                {
                    text = prop.textureValue.name.Replace("text_", "").Replace("_", " ");
                }
                else
                {
                    text = "<texture>";
                }
                ThryEditor.currentlyDrawing.currentProperty.property_data = text;
                foreach (Material m in ThryEditor.currentlyDrawing.materials)
                {
                    Helper.SaveValueToFile(m.name + ":" + prop.name, "<texture>", PATH.TEXT_INFO_FILE);
                }
            }
        }