// Use this for initialization void Awake() { Character loadedCharacter; if (dbCharacter != "") { CharacterDB cdb = Resources.Load <CharacterDB>("CharacterDB"); loadedCharacter = cdb.GetCharacter(dbCharacter); } else if (rosterCharacter != "") { // get a character from the roster loadedCharacter = UnitRoster.Instance.GetCharacter(rosterCharacter); } else { // use preset character Debug.LogWarning("Prefferably load from roster or database instead of hardcoding a character here. "); loadedCharacter = presetCharacter; presetCharacter.Skilltree = SkillTreeDB.GetSkillTreeClone("Empty"); presetCharacter.Sprite = GetComponent <SpriteRenderer>().sprite; } if (setLevel > 0) { loadedCharacter.Level = setLevel; } GetComponent <Unit>().Character = loadedCharacter; }
Character BuildCharacter(CharacterDBContainer cc) { Character retVal = new Character(cc.character); retVal.Backpack = cc.backpack.GetBackpack(); retVal.Skilltree = SkillTreeDB.GetSkillTreeClone(cc.skillTree); retVal.Sprite = cc.sprite; retVal.MugShot = cc.mugShot; retVal.Initialize(null); return(retVal); }
private void Select() { remove = false; foreach (String name in SkillTreeDB.GetAllNames()) { if (GUILayout.Button(name)) { state = EDIT; target = name; changeName = name; } } GUILayout.Space(25f); if (GUILayout.Button("Add")) { SkillTreeDB.Expand(); } }
void Edit() { SkillTree st = SkillTreeDB.GetSkillTree(target); if (st == null) { state = SELECT; } GUILayout.Label(target); EditorGUILayout.Space(); EditorGUILayout.BeginHorizontal(); GUILayout.Label("New name"); changeName = GUILayout.TextField(changeName); if (GUILayout.Button("Change name") && changeName.Length > 2) { SkillTreeDB.ChangeName(target, changeName); target = changeName; } EditorGUILayout.EndHorizontal(); EditorGUILayout.Space(); if (st.skills == null || st.skills.Count != 15) { st.skills = new List <SkillTree.SkillTreeLevel>(); for (int i = 0; i < 15; i++) { st.skills.Add(new SkillTree.SkillTreeLevel()); } } for (int i = 0; i < st.skills.Count; i++) { BuildLevel(st.skills[i], i); } if (GUILayout.Button("Verify")) { Verify(st); } if (GUILayout.Button("Back")) { state = SELECT; EditorUtility.SetDirty(SkillTreeDB.Instance); AssetDatabase.SaveAssets(); } if (GUILayout.Button((remove) ? "Abort" : "Remove")) { remove = !remove; } if (remove) { if (GUILayout.Button("CONFIRM!")) { SkillTreeDB.Remove(target); state = SELECT; remove = false; } } }