ORK Framework Logo - RPG Editor for Unity
  • ORK 4 BETA
  • Features
  • Guide
    • Documentation
    • Tutorials
    • API
  • ORK 2
    • Tutorials
    • Plugins
    • API
  • Support
  • Forum
  • Get ORK

ORK 3 Documentation

  • Getting Started
    • Introduction
    • First Steps
    • Game Starters
    • Components Overview
    • Player/Camera Controls
    • Game Over
    • Support: Sending Test Projects
  • Editor
    • Editor Overview
    • Base/Control Section
    • Game Section
    • UI Section
    • Templates Section
    • Status Section
    • Inventory Section
    • Combatants Section
    • Battles Section
  • Features
    • Animations
    • Areas & Teleports
    • Combatant Triggers
    • Control Maps
    • Difficulties
    • Factions
    • Formations
    • Formula Nodes
    • Logs
    • Loot
    • Move AI
    • Quests
    • Research Trees
    • Schematic Nodes
    • Shortcut Slots
  • Status System
    • Status Values
    • Status Effects
    • Attack/Defence Modifiers
    • Abilities
    • Combatants
    • Classes
    • Status Bonuses
    • Status Conditions
  • Inventory System
    • Inventory System Overview
    • Currencies
    • Items
    • Equipment
    • AI Behaviours/Rulesets
    • Crafting Recipes
    • Shops
  • Battle System
    • Battle Systems
    • Adding Battles to Scenes
    • Calculating Action Results
    • Battle Menus
    • Battle AI
    • Battle AI Nodes
    • Battle Ranges
    • Battle Camera
    • Target Selection
    • Battle Spots
    • Battle Texts
    • Battle End & Loot Dialogues
    • Action Combos
    • Damage Types
    • Cursor Prefab Components
    • Grid Battles
    • Adding Battle Grids to Scenes
    • Battle Grid Highlights
    • Battle Grid Formations
  • UI System
    • UI System Overview
    • Start Menu
    • Option Categories
    • Menu Screens
    • Notifications
    • Combatant Selections
    • Quantity Selections
    • Text Display Settings
    • Cursor Settings
    • Console (In-Game)
    • Menu Requirements
    • HUDs: Content Providers
    • HUDs: Conditions
    • HUDs: Click Actions
    • HUDs: Text Content
    • HUDs: Value Bar Content
    • HUDs: Status Values
    • HUDs: Status Effects
    • HUDs: Attack Modifiers
    • HUDs: Defence Modifiers
    • HUDs: Shortcuts
    • HUDs: Abilities
    • HUDs: Equipment
    • HUDs: Class Slots
    • HUDs: AI Behaviours
    • HUDs: AI Rulesets
    • HUDs: Quests
    • Timebar HUD
  • Scripting
    • Scripting Overview
    • Access Handler
    • Code Extensions
    • Custom Settings
    • Custom Targeting
    • Combatant Scripting
    • Custom Nodes
    • Custom Component Save Data

ORK 3 Tutorials

  • 2D RPG Quickstart
    • START 2D RPG Quickstart
    • 01 Initial Setup
    • 02 Player Setup
    • 03 Music & Scenes
    • 04 UI System Setup
    • 05 UI Boxes
    • 06 Flying Texts
    • 07 Status Values
    • 08 Status Effects
    • 09 First Abilities
    • 10 Fighter Setup
    • 11 First Enemies & Battle AI
    • 12 Battle System Setup
    • 13 Animating Battle Start and End
    • 14 Random Battles
    • 15 Animating Actions
    • 16 Player Battle HUD
    • 17 Elemental Attacks
    • 18 Animating More Actions
    • 19 Inventory & Loot
    • 20 Equipment
    • 21 Loot, Start Equipment & Viewers
    • 22 Magic Abilities
    • 23 Caster Setup
    • 24 More Enemies
    • 25 Start Menu & Save Games
    • 26 Menu Screens
    • 27 Interactions
    • 28 Item Collectors
    • END 2D RPG Quickstart
  • 3D RPG Quickstart
    • START 3D RPG Quickstart
    • 01 Initial Setup
    • 02 Player Setup
    • 03 Music & Scenes
    • 04 UI System Setup
    • 05 UI Boxes
    • 06 Flying Texts
    • 07 Status Values
    • 08 Status Effects
    • 09 First Abilities
    • 10 Fighter Setup
    • 11 First Enemies & Battle AI
    • 12 Battle System Setup
    • 13 Animating Battle Start and End
    • 14 Random Battles
    • 15 Animating Actions
    • 16 Player Battle HUD
    • 17 Elemental Attacks
    • 18 Animating More Actions
    • 19 Inventory & Loot
    • 20 Equipment
    • 21 Loot, Start Equipment & Viewers
    • 22 Magic Abilities
    • 23 Caster Setup
    • 24 More Enemies
    • 25 Start Menu & Save Games
    • 26 Menu Screens
    • 27 Interactions
    • 28 Item Collectors
    • END 3D RPG Quickstart
  • Status System Setup
    • START Status System Setup
    • 01 Status Values
    • 02 Status Development
    • 03 Attack/Defence Modifiers
    • 04 Status Effects
    • 05 Formulas
    • 06 Ability & Item Types
    • 07 Abilities Part 1: Attacks
    • 08 Abilities Part 2: Support & Sabotage
    • 09 Abilities Part 3: Elemental Magic
    • 10 Items
    • 11 Equipment Part 1: Slots & Slot Set Templates
    • 12 Equipment Part 2: Weapons
    • 12.5 (Optional) Equipment Part 2.5: Weapons
    • 13 Equipment Part 3: Shields, Armor & Accessories
    • 13.5 (Optional) Equipment Part 3.5: Shields, Armor & Accessories
    • 14 Equipment Part 4: Available Equipment Templates
    • 15 Loot
    • 16 Battle AIs
    • 17 Combatants Part 1: General Settings
    • 18 Combatants Part 2: Players
    • 19 Combatants Part 3: Enemies
    • 20 Combatant Groups
    • END Status System Setup
  • 3D RPG Playground
    • START 3D RPG Playground
    • 01 Player Setup
    • 02 Start Menu
    • 03 First Interaction
    • 04 Music
    • 05 Areas
    • 06 Collecting Items
    • 07 Displaying Equipment
    • 08 Combatant Prefabs, Icons & Portraits
    • 09 Combatant Animations
    • 10 Camera Positions
    • ANIM 01 Battle Start/End Schematics
    • ANIM 02 Use, Cast & Camera
    • ANIM 03 Abilities & Items
    • ANIM 04 Physical Attacks
    • ANIM 05 Special Actions
    • BATTLE 01 Battle Menu
    • BATTLE 02 Prepare for Battle
    • TURN 01 Turn Based Setup
    • TURN 02 Turn Order HUD
    • ATB 01 Active Time Setup
    • ATB 02 Cast Times
    • ATB 03 Timebar HUD
    • BATTLE 03 The First Battle
    • BATTLE 04 Hunting Move AI
    • BATTLE 05 Spawning Combatants
    • 11 Save Games
    • MENU 01 UI Boxes
    • MENU 02 Template HUDs
    • MENU 03 Overview Menu
    • MENU 04 Menu Screens
    • 12 Shop
    • BATTLE 06 Random Battles
    • DUNGEON 01 Enter the Dungeon
    • DUNGEON 02 The Trapdoor
    • DUNGEON 03 Enemies on Level 1 & 2
    • DUNGEON 04 Traps on Level 3
    • DUNGEON 05 Going Deeper
    • 13 Bestiary (+MENU+ANIM)
    • QUEST 01 Hunting Quests (+MENU)
    • QUEST 02 Guard NPC
    • QUEST 03 Forest Ruin Cheese
    • QUEST 04 Witch NPC with Cheese
    • QUEST 05 Quest Mark HUDs
    • 14 Research Trees (+MENU)
    • CRAFT 01 Crafting Materials
    • CRAFT 02 Crafting Recipes
    • CRAFT 03 Crafting Menu
    • CRAFT 04 Crafting Proficiency & Critical Crafting
    • CRAFT 05 Materials Loot
    • 15 Changing Choice Dialogue
    • 16 Follow Me!
    • BATTLE 07 Sequence Loot Dialogue
  • 3D Action RPG
    • START 3D Action RPG
    • 01 Status System Setup
    • 02 Player Setup
    • 03 Player Weapon
    • 04 Player Attacks
    • 05 Enemy: Chomper
    • 06 Chomper Attack
    • 07 Hit & Death
    • 08 HUDs
    • 09 Rolling on the Floor
    • 10 Enemy: Spitter
    • 11 Spit Attack
    • 12 Potion
    • 13 Grenade
    • 14 Item HUD
    • 15 Enemy: Grenadier
    • 16 Grenadier Melee Attacks
    • 17 Grenadier Flamethrower
    • 18 Item Drops
    • END 3D Action RPG
  • 2D Grid Battle RPG
    • START 2D Grid Battle RPG
    • 01 Player Setup
    • 02 Prefab & Music Setup
    • 03 Randomizing Combatants
    • 04 UI Setup
    • 05 Battle Start, End & Phase Schematics
    • 06 Battle System Setup
    • 07 Battle Grid Setup
    • 08 Grid Move
    • 09 Forest Battle Grid
    • 10 Battle AI
    • 11 Ability Ranges
    • 12 Death & Use Schematics
    • 13 Attack Schematic
    • 14 Shoot Schematics
    • 15 Battle Selection Interaction
    • END 2D Grid Battle RPG
  • Schematics
    • Simple Start Schematic
    • Battle Start Schematic
    • Battle End Schematic
    • Moving to Target and Back
    • Animating a Base Attack
    • Animating a Magic Ability
    • Animating Target Selection
    • Grid Movement
    • Open and Close UI Animations
    • Flying Text Mover
  • UI Setups
    • Unity UI: Initial Setup
    • Unity UI: TextMesh Pro Setup
    • Unity UI: UI Box
    • Unity UI: Flying Text
    • Unity UI: Dragging Notification
    • Unity UI: Canvas with Screen Space Camera
    • Unity UI: Interaction HUD
    • Unity UI: Simple Player HUD
    • Unity UI: Quest HUD
    • Unity UI: Battle Actions HUD
    • Unity UI: Shortcuts HUD
    • Unity UI: Currency HUD
    • Unity UI: Tooltip HUD
    • Unity UI: Control HUD
    • Unity UI: Attack Modifiers
    • Unity UI: Defence Modifiers
  • Gameplay Bits
    • 2.5D Setup
    • Body Part Weakpoint
    • Click Attack
    • Combining Input Origins
    • Combining Status Value Flying Texts
    • Fun With Flying Text
    • HUD Effects With Conditional Schematics
    • Inventory Containers
    • Local Multiplayer
    • Multi Interaction Controllers
    • Target Selection Lines
    • World Space HUD
    • World Space Dialogue
View Categories
  • Guide
  • ORK 3
  • ORK 3 Documentation
  • Scripting

Access Handler

The Access Handler is used to funnel some of ORK’s functionality through overridable functions.

This allows you to inject custom functionality, like creating a combatant, adding an item to an inventory or using a battle action. A custom access handler can e.g. be used to collect analytics data, use client/server communication or redirect ORK’s functionality to custom systems.

You can create custom handlers by extending the AccessHandler classes and overriding the functions you want to replace. The available functions are divided into different sub-handlers for actions, battles, combatants, groups and inventories. Each sub-handler contains the overridable functions for their thematic topic, e.g. the inventory access handler manages inventory changes like adding or removing an item.

The access handler mainly handles functionality that is caused by the player and will be extended in future updates. If there’s a functionality you need to be funneled through the access handler, be sure to let me know, e.g. in the support forum.

 

You can download a custom access handler for you to build upon, details about the different classes and their use below:

Download Custom Access Handler

Access Handler #

The AccessHandler class holds the sub-handlers for actions, combatants, groups and inventories. To add a custom access handler, create a new class extending the AccessHandler class.

The constructor needs to create instances of the sub-handlers, either using the default handlers or your custom handlers. The sub-handlers contain the overridable functions.

The EditorSettingInfo attribute added to the class is used to have the access handler available in the Access Type setting in Game > Game Settings > ORK Game Settings and allows you to change to this access handler. Define the (unique) name and (optional) help text of your custom access handler.

using UnityEngine;
using System.Collections.Generic;
using GamingIsLove.Makinom;

namespace GamingIsLove.ORKFramework
{
    // Defines the name and help text of this access handler.
    [EditorSettingInfo("Custom", "This is a custom access handler.")]
    // The access handler holds the sub-handlers with their overridable functions.
    // See the API for details: http://api.orkframework.com/class_gaming_is_love_1_1_o_r_k_framework_1_1_access_handler.html
    public class CustomAccessHandler : AccessHandler
    {
        // The constructor needs to create the instances of the sub-handlers for actions, combatants, groups and inventory.
        public CustomAccessHandler()
        {
            this.actionAccess = new CustomActionAccessHandler();
            this.battleAccess = new CustomBattleAccessHandler();
            this.combatantAccess = new CustomCombatantAccessHandler();
            this.groupAccess = new CustomGroupAccessHandler();
            this.inventoryAccess = new CustomInventoryAccessHandler();
        }
    }
}

This example is included in the download above.

Action Access Handler #

The ActionAccessHandler class is responsible for using actions and shortcuts, as well as spending experience (e.g. on abilities). To add a custom action access handler, create a new class extending the ActionAccessHandler class.

Check the API to see all functions that can be overridden and what they’re used for.

using UnityEngine;
using System.Collections.Generic;
using GamingIsLove.Makinom;

namespace GamingIsLove.ORKFramework
{
    // The action access handler is responsible for using actions and shortcuts, as well as spending experience (e.g. on abilities).
    // See the API for details: http://api.orkframework.com/class_gaming_is_love_1_1_o_r_k_framework_1_1_action_access_handler.html
    public class CustomActionAccessHandler : ActionAccessHandler
    {
        public CustomActionAccessHandler()
        {

        }

        public override void AddActionToCombatant(Combatant user, BaseAction action, bool newTurn)
        {
            base.AddActionToCombatant(user, action, newTurn);
        }
    }
}

This example is included in the download above.

Battle Access Handler #

The BattleAccessHandler class is responsible for battle loot and flying texts. To add a custom battle access handler, create a new class extending the BattleAccessHandler class.

Check the API to see all functions that can be overridden and what they’re used for.

using UnityEngine;
using System.Collections.Generic;
using GamingIsLove.Makinom;

namespace GamingIsLove.ORKFramework
{
    // The battle access handler is responsible for battle loot and flying texts.
    // See the API for details: http://api.orkframework.com/class_gaming_is_love_1_1_o_r_k_framework_1_1_battle_access_handler.html
    public class CustomBattleAccessHandler : BattleAccessHandler
    {
        public CustomBattleAccessHandler()
        {

        }

        public override void AddLoot(IShortcut item)
        {
            base.AddLoot(item);
        }
    }
}

This example is included in the download above.

Combatant Access Handler #

The CombatantAccessHandler class is responsible for everything combatant related, e.g. changing status values, adding status effects, learning abilities or changing equipment. To add a combatant access handler, create a new class extending the CombatantAccessHandler class.

Check the API to see all functions that can be overridden and what they’re used for.

using UnityEngine;
using System.Collections.Generic;
using GamingIsLove.Makinom;

namespace GamingIsLove.ORKFramework
{
    // The combatant access handler is responsible for everything combatant related, from status changes to learning abilities or changing equipment.
    // See the API for details: http://api.orkframework.com/class_gaming_is_love_1_1_o_r_k_framework_1_1_combatant_access_handler.html
    public class CustomCombatantAccessHandler : CombatantAccessHandler
    {
        public CustomCombatantAccessHandler()
        {

        }

        public override Combatant CreateInstance(CombatantSetting setting, Group group, bool showNotification, bool showConsole)
        {
            return base.CreateInstance(setting, group, showNotification, showConsole);
        }
    }
}

This example is included in the download above.

Group Access Handler #

The GroupAccessHandler class is responsible for changes in combatant groups, e.g. joining or leaving a group. To add a custom group access handler, create a new class extending the GroupAccessHandler class.

Check the API to see all functions that can be overridden and what they’re used for.

using UnityEngine;
using System.Collections.Generic;
using GamingIsLove.Makinom;

namespace GamingIsLove.ORKFramework
{
    // The group access handler is responsible for changes in combatant groups, e.g. joining or leaving a group.
    // See the API for details: http://api.orkframework.com/class_gaming_is_love_1_1_o_r_k_framework_1_1_group_access_handler.html
    public class CustomGroupAccessHandler : GroupAccessHandler
    {
        public CustomGroupAccessHandler()
        {

        }

        public override void Join(Group group, Combatant combatant, bool showNotification, bool showConsole)
        {
            base.Join(group, combatant, showNotification, showConsole);
        }
    }
}

This example is included in the download above.

Inventory Access Handler #

The InventoryAccessHandler class is responsible for inventory changes, e.g. adding or removing an item. To add a custom inventory access handler, create a new class extending the InventoryAccessHandler class.

Check the API to see all functions that can be overridden and what they’re used for.

using UnityEngine;
using System.Collections.Generic;
using GamingIsLove.Makinom;

namespace GamingIsLove.ORKFramework
{
    // The inventory access handler is responsible for inventory changes, e.g. adding or removing an item.
    // See the API for details: http://api.orkframework.com/class_gaming_is_love_1_1_o_r_k_framework_1_1_inventory_access_handler.html
    public class CustomInventoryAccessHandler : InventoryAccessHandler
    {
        public CustomInventoryAccessHandler()
        {

        }

        public override void UseCraftingRecipe(Combatant combatant, CraftingRecipe recipe, NotifyBool notify)
        {
            base.UseCraftingRecipe(combatant, recipe, notify);
        }
    }
}

This example is included in the download above.

Scripting
Table of Contents
  • Access Handler
  • Action Access Handler
  • Battle Access Handler
  • Combatant Access Handler
  • Group Access Handler
  • Inventory Access Handler
Sitemap
  • ORK 4 BETA
  • Features
  • Showcase
  • Guide
    • Documentation
    • Tutorials
    • API
  • ORK 2 Hub
    • Tutorials
    • Plugins
    • API
  • Support
  • Forum
  • Get ORK
  • Contact
  • Blog
  • Makinom
  • gamingislove.com
Categories
  • News (73)
  • ORK 2 (137)
    • Tutorial (137)
      • Game tutorial (50)
      • Gameplay (32)
      • How-to (55)
  • Release (156)
Search

© 2015 Gaming is Love e.U.

Disclosure: This site may contain affiliate links, which means I may receive a commission if you click a link and purchase something that I have recommended. While clicking these links won’t cost you any money, they will help me fund my development projects while recommending great assets!