private void Save_Character() { string path = "Assets/Resources/Customization/Characters/" + characterName + ".asset"; characterInstance = CreateInstance <CZ_Character>(); characterInstance.characterName = characterName; AssetDatabase.CreateAsset(characterInstance, AssetDatabase.GenerateUniqueAssetPath(path)); }
public string[] Aquire_SectionsFromCharacter(CZ_Character character) { string[] tempString = new string[character.sections.Count]; for (int i = 0; i < character.sections.Count; i++) { tempString[i] = character.sections[i].sectionName; } return(tempString); }
public void Find_Character(CZ_Creator czCreatorInstance, CZ_Character returnCharacter) { string path = "Assets/Resources/Customization/Characters/"; string[] filters = new string[2]; filters[0] = "Asset Files"; filters[1] = "asset"; string fileLocation = UnityEditor.EditorUtility.OpenFilePanelWithFilters("Load Character", path, filters); string relativepath = "Assets" + fileLocation.Substring(Application.dataPath.Length); //Debug.Log(relativepath); characterInstance = (CZ_Character)UnityEditor.AssetDatabase.LoadAssetAtPath(relativepath, typeof(CZ_Character)); czCreatorInstance.characterInstance = characterInstance; returnCharacter = characterInstance; }
public void Create_Section(CZ_Section section, CZ_Character character) { string path = UnityEditor.AssetDatabase.GetAssetPath(character); CZ_Section tSec = CreateInstance <CZ_Section>(); tSec = section; tSec.character = character; tSec.name = "z" + tSec.sectionName; UnityEditor.AssetDatabase.AddObjectToAsset(tSec, path); UnityEditor.AssetDatabase.ImportAsset(UnityEditor.AssetDatabase.GetAssetPath(tSec)); tSec.hideFlags = HideFlags.HideInInspector; character.sections.Add(tSec); //UnityEditor.AssetDatabase.Refresh(); //Debug.Log(tempSection.name); }
public string[] Aquire_SectionsReturnStrings(CZ_Character parentCharacter) { object[] objs = UnityEditor.AssetDatabase.LoadAllAssetsAtPath(UnityEditor.AssetDatabase.GetAssetPath(parentCharacter)); string[] tempArray = new string[objs.Length]; if (objs.Length <= 0) { return(new string[0]); } for (int i = 0; i < objs.Length; i++) { if (objs[i].GetType() == typeof(CZ_Section)) { if (!sections.Contains((CZ_Section)objs[i])) { sections.Add((CZ_Section)objs[i]); } tempArray[i] = UnityEditor.AssetDatabase.LoadAllAssetsAtPath(UnityEditor.AssetDatabase.GetAssetPath(parentCharacter))[i].name; } } return(tempArray); }
void OnGUI() { GUILayout.Label("Character Editor", titleStyle); if (characterInstance == null) { charOptions = aquireInstance.FindCharacterReturnString(); if (charOptions.Length > 0) { selected = EditorGUILayout.Popup("Switch Character", selected, charOptions); if (selected > charOptions.Length - 1) { selected = charOptions.Length - 1; } characterName = charOptions[selected]; if (characterInstance == null) { SetCharacterFromName(); } if (characterInstance.characterName != characterName) { SetCharacterFromName(); } } else { creatingCharacter = true; } } GUILayout.Label("Currently viewing " + characterInstance.characterName, titleStyle); if (!creatingCharacter && !modifyingCharacter) { if (GUILayout.Button("Create New Character")) { creatingCharacter = true; } if (GUILayout.Button("Edit Character")) { modifyingCharacter = true; } charOptions = aquireInstance.FindCharacterReturnString(); selected = EditorGUILayout.Popup("Switch Character", selected, charOptions); if (selected > charOptions.Length - 1) { selected = charOptions.Length - 1; } characterName = charOptions[selected]; if (characterInstance.characterName != characterName) { SetCharacterFromName(); } characterInstance.prefab = (GameObject)EditorGUILayout.ObjectField("Prefab", characterInstance.prefab, typeof(GameObject), false); #region Variables #region Left Rect (Sections) Rect leftRect = new Rect(0, 150, Screen.width / 2 - 5, Screen.height); GUIStyle leftStyle = new GUIStyle(); Texture2D leftTexture = new Texture2D((int)leftRect.width, (int)leftRect.height); Color[] leftColors = new Color[1]; leftColors[0] = Color.grey; //leftTexture.SetPixels(leftColors); leftStyle.normal.background = leftTexture; GUI.Box(leftRect, "", leftStyle); GUILayout.BeginArea(leftRect); GUILayout.Label("Sections", titleStyle); //if(!CharacterSectionsMatch()) //{ // AssignSections(); //} if (characterInstance.sections.Count > 0) { for (int i = 0; i < characterInstance.sections.Count; i++) { if (GUILayout.Button(characterInstance.sections[i].sectionName)) { if (sectionEditor == null) { sectionEditor = CreateInstance <CZ_SectionEditorInterface>(); } sectionEditor.tempSection = characterInstance.sections[i]; sectionEditor.editingSection = true; sectionEditor.Show(); } } } if (GUILayout.Button("Create New Section")) { if (sectionEditor == null) { sectionEditor = CreateInstance <CZ_SectionEditorInterface>(); } sectionEditor.characterInstance = characterInstance; sectionEditor.Show(); } GUILayout.EndArea(); #endregion #region Right Rect (Variables) Rect rightRect = new Rect(Screen.width / 2 + 5, 150, (Screen.width / 2) - 10, Screen.height); GUIStyle rightStyle = new GUIStyle(); Texture2D rightTexture = new Texture2D((int)rightRect.width, (int)rightRect.height); Color[] rightColors = new Color[1]; rightColors[0] = Color.grey; //rightTexture.SetPixels(rightColors); rightStyle.normal.background = rightTexture; GUI.Box(rightRect, "", rightStyle); GUILayout.BeginArea(rightRect); GUILayout.Label("Variables", titleStyle); if (characterInstance.variables.Count > 0) { for (int i = 0; i < characterInstance.variables.Count; i++) { if (GUILayout.Button(characterInstance.variables[i].variableName)) { if (variableEditor == null) { variableEditor = CreateInstance <CZ_VariableEditorInterface>(); } variableEditor.charInstance = characterInstance; variableEditor.editingVariable = true; variableEditor.tempVariable = characterInstance.variables[i]; variableEditor.Show(); } } } if (GUILayout.Button("Create New Variable")) { if (variableEditor == null) { variableEditor = CreateInstance <CZ_VariableEditorInterface>(); } variableEditor.charInstance = characterInstance; variableEditor.editingVariable = false; variableEditor.Show(); } GUILayout.EndArea(); #endregion if (creatorInstance.creating) { } #endregion } if (creatingCharacter) { characterInstance = CreateInstance <CZ_Character>(); Name_Character(); if (characterName != null) { if (characterName.Length > 0f) { if (GUILayout.Button("Save Character")) { Save_Character(); creatingCharacter = false; } } } if (GUILayout.Button("Cancel")) { creatingCharacter = false; } } if (modifyingCharacter) { if (GUILayout.Button("Save Character")) { AssetDatabase.SaveAssets(); modifyingCharacter = false; } if (GUILayout.Button("Cancel")) { modifyingCharacter = false; } } }
private void SetCharacterFromName() { string path = "Assets/Resources/Customization/Characters/" + characterName + ".asset"; characterInstance = (CZ_Character)AssetDatabase.LoadAssetAtPath(path, typeof(CZ_Character)); }
private void Find_Character() { aquireInstance.Find_Character(creatorInstance, characterInstance); characterInstance = aquireInstance.characterInstance; }