I am working on a design where a player has a group of action buttons they can click to use a skill. For example, a player has a Track skill, and the Hunt action would use that. Anyway, I’m not sure how to implement the action aspect. An action will have a linked skill (or skills) and will have a recharge time. Each action will have it’s own recharge time.
Should I implement actions as a class and then have each action inherit from the Action class? For example, would I create an Action class, then have Hunt inherit from Action? Or should I create an Action class and instantiate an object for each action, hard coding the values in the initialization for each one? Or should I create an Action class, create some function to read and parse a text file in which all actions are defined, and use that utility to instantiate and initialize all actions?
I’m looking for the easiest way to create Actions that will each have their own static values.