Created
January 25, 2013 01:20
-
-
Save SteveSwink/4630717 to your computer and use it in GitHub Desktop.
State class to go with Sven's state system
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using UnityEngine; | |
using System.Collections; | |
using System; | |
//wont show up because its a ScriptableObject | |
[AddComponentMenu("LD24/State")] | |
[Serializable] | |
public class _State : ScriptableObject { | |
//Defaults are blank | |
public string _name = ""; | |
public stateChangeHandler onExitHandler = null; | |
public stateChangeHandler onEnterHandler = null; | |
public stateUpdateHandler onUpdateHandler = null; | |
public _State() { | |
} | |
public _State(GameObject parent, stateChangeHandler _onEnter, stateChangeHandler _onExit, stateUpdateHandler _onUpdate) { | |
onEnterHandler = _onEnter; | |
onExitHandler = _onExit; | |
onUpdateHandler = _onUpdate; | |
} | |
public virtual void onEnter( _State previous, Transform parent ) { | |
//Debug.Log ("Entering state " + previous._name + " from " + _name); | |
if( onEnterHandler != null ) onEnterHandler(previous, parent); | |
} | |
public virtual void onExit( _State target, Transform parent ) { | |
//Debug.Log ("Leaving state to " + target._name + " from " + _name); | |
if( onExitHandler != null ) onExitHandler(target, parent); | |
} | |
public virtual void onUpdate( Transform parent = null ) { | |
//Debug.Log ("update !" + _name); | |
if( onUpdateHandler != null ) onUpdateHandler( parent ); | |
} | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment