protected override OdinMenuTree BuildMenuTree()
    {
        createNewEnemy          = new CreateNewEnemy();
        createNewPhysicalAttack = new CreateNewPhysicalAttack();
        createNewRangedAttack   = new CreateNewRangedAttack();
        createNewNonAttack      = new CreateNewNonAttack();
        createNewDotEffect      = new CreateNewDotEffect();
        createNewInfusionEffect = new CreateNewInfusionEffect();
        createNewElementalType  = new CreateNewElementalType();
        createNewClass          = new CreateNewClass();
        createNewWeapon         = new CreateNewWeapon();

        var tree = new OdinMenuTree(supportsMultiSelect: true)
        {
            { "Create New/Enemy", createNewEnemy },
            { "Create New/Ability/Physical Attack", createNewPhysicalAttack },
            { "Create New/Ability/Ranged Attack", createNewRangedAttack },
            { "Create New/Ability/Non-Attack", createNewNonAttack },
            { "Create New/Status Effect/Damage Over Time", createNewDotEffect },
            { "Create New/Status Effect/Infusion", createNewInfusionEffect },
            { "Create New/Elemental Type", createNewElementalType },
            { "Create New/Class", createNewClass },
            { "Create New/Weapon", createNewWeapon }
        };

        tree.AddAllAssetsAtPath("Party Members", "Scriptable Objects/Characters/Party Members", typeof(PartyMember));
        tree.AddAllAssetsAtPath("Enemies", "Scriptable Objects/Characters/Enemies", typeof(Enemy));
        tree.AddAllAssetsAtPath("Classes/Alek", "Scriptable Objects/Classes/Alek Ezana", typeof(Class));
        tree.AddAllAssetsAtPath("Classes/Leandra", "Scriptable Objects/Classes/Leandra Valentina", typeof(Class));
        tree.AddAllAssetsAtPath("Classes/Lilith", "Scriptable Objects/Classes/Lilith Morana", typeof(Class));
        tree.AddAllAssetsAtPath("Classes/Elias", "Scriptable Objects/Classes/Elias Adwin", typeof(Class));
        tree.AddAllAssetsAtPath("Abilities/Physical Attacks", "Scriptable Objects/Abilities/Physical", typeof(Ability));
        tree.AddAllAssetsAtPath("Abilities/Ranged Attacks", "Scriptable Objects/Abilities/Ranged", typeof(Ability));
        tree.AddAllAssetsAtPath("Abilities/Non-Attacks", "Scriptable Objects/Abilities/Non-attacks", typeof(Ability));
        tree.AddAllAssetsAtPath("Abilities/Special Attacks", "Scriptable Objects/Abilities/Special Attacks", typeof(Ability));
        tree.AddAllAssetsAtPath("Spells", "Scriptable Objects/Spells", typeof(Spell));
        tree.AddAllAssetsAtPath("Status Effects/Damage Over Time", "Scriptable Objects/Status Effects/DOT", typeof(StatusEffect));
        tree.AddAllAssetsAtPath("Status Effects/Stat Change", "Scriptable Objects/Status Effects/StatChange/Buffs", typeof(StatusEffect));
        tree.AddAllAssetsAtPath("Status Effects/Stat Change", "Scriptable Objects/Status Effects/StatChange/Debuffs", typeof(StatusEffect));
        tree.AddAllAssetsAtPath("Status Effects/Inhibiting", "Scriptable Objects/Status Effects/InhibitingEffect", typeof(StatusEffect));
        tree.AddAllAssetsAtPath("Status Effects/AI Effect", "Scriptable Objects/Status Effects/AIEffect", typeof(StatusEffect));
        tree.AddAllAssetsAtPath("Status Effects/Unique Effect", "Scriptable Objects/Status Effects/Unique", typeof(StatusEffect));
        tree.AddAllAssetsAtPath("Elemental Types", "Scriptable Objects/ElementalTypes", typeof(ElementalType));
        tree.AddAllAssetsAtPath("Weapons", "Scriptable Objects/Weapons", typeof(WeaponItem));
        tree.AddAllAssetsAtPath("", "Resources", typeof(PartyManager));
        tree.AddAllAssetsAtPath("", "Resources", typeof(EnemyManager));
        tree.AddAllAssetsAtPath("", "Resources", typeof(GlobalVariables)).AddIcon(EditorIcons.SettingsCog);

        return(tree);
    }
Beispiel #2
0
    protected override OdinMenuTree BuildMenuTree()
    {
        createNewDotEffect      = new CreateNewDotEffect();
        createNewInfusionEffect = new CreateNewInfusionEffect();
        createNewElementalType  = new CreateNewElementalType();

        var tree = new OdinMenuTree(supportsMultiSelect: true)
        {
            { "Create New/Status Effect/Damage Over Time", createNewDotEffect },
            { "Create New/Status Effect/Infusion", createNewInfusionEffect },
            { "Create New/Elemental Type", createNewElementalType }
        };

        tree.AddAllAssetsAtPath("Status Effects/Damage Over Time", "Scriptable Objects/Status Effects/DOT", typeof(StatusEffect));
        tree.AddAllAssetsAtPath("Status Effects/Stat Change", "Scriptable Objects/Status Effects/StatChange/Buffs", typeof(StatusEffect));
        tree.AddAllAssetsAtPath("Status Effects/Stat Change", "Scriptable Objects/Status Effects/StatChange/Debuffs", typeof(StatusEffect));
        tree.AddAllAssetsAtPath("Status Effects/Inhibiting", "Scriptable Objects/Status Effects/InhibitingEffect", typeof(StatusEffect));
        tree.AddAllAssetsAtPath("Status Effects/AI Effect", "Scriptable Objects/Status Effects/AIEffect", typeof(StatusEffect));
        tree.AddAllAssetsAtPath("Status Effects/Unique Effect", "Scriptable Objects/Status Effects/Unique", typeof(StatusEffect));
        tree.AddAllAssetsAtPath("Elemental Types", "Scriptable Objects/ElementalTypes", typeof(ElementalType));

        return(tree);
    }