Ejemplo n.º 1
0
    // 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;
    }
Ejemplo n.º 2
0
    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);
    }
Ejemplo n.º 3
0
    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();
        }
    }
Ejemplo n.º 4
0
    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;
            }
        }
    }