using System; using System.IO; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEditor; using UnityEngine.AddressableAssets; public class ModUploader : EditorWindow { private string ModName = ""; private string Author = ""; private string Description = ""; public Sprite MyImage; private string Version = "1.0"; private string Category = "Armor"; private string path = ""; [MenuItem("Schaken-Mods/Mod Uploader/Open Window")] private static void OpenWindow() { ModUploader window = GetWindow(); // Set Title Texture2D icon = (Texture2D)AssetDatabase.LoadAssetAtPath("Assets/Editor/Mod Builder/ModBuilder.png", typeof(Texture2D)); GUIContent titleContent = new GUIContent("Mod Uploader", icon); window.titleContent = titleContent; window.minSize = new Vector2(340, 410); window.maxSize = new Vector2(340, 410); window.Show(); } private void OnGUI() { EditorGUIUtility.labelWidth = 45; EditorGUILayout.Space(10); EditorGUILayout.BeginVertical("box"); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Selected a Mod")) { string ModFolders = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)+@"\My Games\Firstborn\Mods\"; path = EditorUtility.OpenFilePanel("Select a mod file", ModFolders, "fc1"); } if (path.Length != 0) { using (var sr = new StreamReader(path)) { string A = sr.ReadToEnd(); Debug.Log(path); Debug.Log(A); string TempString = "/Firstborn/Mods/"; ModName = path.Split(TempString)[1].Split("/")[0]; TempString = "Author:"; Author = A.Split(TempString)[1].Split(";")[0]; TempString = "Description:"; Description = A.Split(TempString)[1].Split(";")[0]; TempString = "Author:"; //MyImage = A.Split(TempString)[1].Split(";")[0]; TempString = "Version:"; Version = A.Split(TempString)[1].Split(";")[0]; TempString = "Category:"; Category = A.Split(TempString)[1].Split(";")[0]; Debug.Log(sr); } EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Mod Name: ", GUILayout.MaxWidth(160), GUILayout.MinWidth(160)); ModName = GUILayout.TextField(ModName, 25, GUILayout.MaxWidth(160), GUILayout.MinWidth(160)); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Version: ", GUILayout.MaxWidth(160), GUILayout.MinWidth(160)); Version = GUILayout.TextField(Version, GUILayout.MaxWidth(160), GUILayout.MinWidth(160)); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Author: ", GUILayout.MaxWidth(160), GUILayout.MinWidth(160)); Author = GUILayout.TextField(Author, 25, GUILayout.MaxWidth(160), GUILayout.MinWidth(160)); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Short Description: ", GUILayout.MaxWidth(160), GUILayout.MinWidth(160)); Description = GUILayout.TextArea(Description, GUILayout.Height(100), GUILayout.MaxWidth(160), GUILayout.MinWidth(160)); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Preview Picture: ", GUILayout.MaxWidth(160), GUILayout.MinWidth(160)); MyImage = (Sprite)EditorGUILayout.ObjectField(MyImage, typeof(Sprite), false, GUILayout.Height(EditorGUIUtility.singleLineHeight), GUILayout.MaxWidth(160), GUILayout.MinWidth(160)); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); Sprite s = (MyImage) ? MyImage as Sprite : (Sprite)AssetDatabase.LoadAssetAtPath("Assets/Textures/UI/Background.png", typeof(Sprite)); EditorGUI.DrawTextureTransparent(new Rect(17, 225, 300, 160), s.texture); EditorGUILayout.EndHorizontal(); EditorGUILayout.Space(165); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Build Mod", GUILayout.MaxWidth(320), GUILayout.MinWidth(320))) { } } EditorGUILayout.EndHorizontal(); EditorGUILayout.EndVertical(); } private void SetCategory(string A) { Category = A; } }