This repository has been archived by the owner on Aug 14, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 9
StateMachinePseudo Abstract Code
Erik edited this page Apr 26, 2019
·
4 revisions
public abstract class CharStateData : Monobehaviour
{
//derived classes should cache Monobehaviours and values
}
public abstract class StateController<T> : Monobehaviour where T:CharStateData
{
//public abstract State<T> GetCurrentState();
//public abstract State<T> GetRemainState();
//public abstract Action<T> GetAction();
//public abstract Decision<T> GetDecision();
public State<T> currentState;
public State<T> remainState;
public Action<T>[] actions;
public Decision<T>[] decisions;
//etc.
}
public abstract class Action<T> : ScriptableObject where T:CharStateData
{
public abstract void Act(T charStateData);
}
public abstract class Decision<T> : ScriptableObject where T:CharStateData
{
public abstract bool Decide(T charStateData);
}
Script Documentation
General Scripts
Generic Character Scripts
Enemy Scripts
Player Scripts
Erik's ongoing laundry list of TODOs that he doesn't want to create issues for