Documentation ¶
Index ¶
- Constants
- Variables
- func MarshalZombie(data *ZombieData)
- type BehaviorTransaction
- type BehaviorTransactionData
- func (b *BehaviorTransactionData) GetCurrentStateName() string
- func (b *BehaviorTransactionData) GetMouseEvent() bus.MouseEvent
- func (b *BehaviorTransactionData) GetNextStateName() string
- func (b *BehaviorTransactionData) IsTransition() bool
- func (b *BehaviorTransactionData) SetNextStateName(s string)
- type BehaviorsExecutor
- type Zombie
- type ZombieData
- type ZombieState
- type ZombieStateData
Constants ¶
View Source
const ( Walk = "Walk" Idle = "Idle" Dead = "Dead" Attack = "Attack" )
View Source
const ( WalkFunc = "walkFunc" IdleFunc = "idleFunc" DeadFunc = "deadFunc" AttackFunc = "attackFunc" MoveFunc = "moveFunc" UpdateFramesFunc = "updateFramesFunc" )
Const string/function mapping accommodates marshaling.
Variables ¶
View Source
var BehaviorsMap = map[string]executeBehavior{ WalkFunc: walkFunc, IdleFunc: idleFunc, DeadFunc: deadFunc, AttackFunc: attackFunc, MoveFunc: moveFunc, UpdateFramesFunc: updateFramesFunc, }
Functions ¶
func MarshalZombie ¶
func MarshalZombie(data *ZombieData)
Types ¶
type BehaviorTransaction ¶
type BehaviorTransaction interface { GetCurrentStateName() string GetNextStateName() string SetNextStateName(string) IsTransition() bool GetMouseEvent() bus.MouseEvent lib.Navigator lib.FrameTracker }
func NewBehaviorTransaction ¶
func NewBehaviorTransaction(state string, event bus.MouseEvent, navigator lib.Navigator, tracker lib.FrameTracker) BehaviorTransaction
type BehaviorTransactionData ¶
type BehaviorTransactionData struct { lib.FrameTracker // contains filtered or unexported fields }
func (*BehaviorTransactionData) GetCurrentStateName ¶
func (b *BehaviorTransactionData) GetCurrentStateName() string
func (*BehaviorTransactionData) GetMouseEvent ¶
func (b *BehaviorTransactionData) GetMouseEvent() bus.MouseEvent
func (*BehaviorTransactionData) GetNextStateName ¶
func (b *BehaviorTransactionData) GetNextStateName() string
func (*BehaviorTransactionData) IsTransition ¶
func (b *BehaviorTransactionData) IsTransition() bool
func (*BehaviorTransactionData) SetNextStateName ¶
func (b *BehaviorTransactionData) SetNextStateName(s string)
type BehaviorsExecutor ¶
type BehaviorsExecutor interface {
ExecuteBehaviors(BehaviorTransaction)
}
func NewBehaviorExecutor ¶
func NewBehaviorExecutor(behaviorNames []string) BehaviorsExecutor
type Zombie ¶
type Zombie interface { Execute(drawEvent bus.DrawLayersEvent, mouseEvent bus.MouseEvent, keyEvent bus.KeyEvent) // contains filtered or unexported methods }
type ZombieData ¶
type ZombieData struct { CurrentStateName string `yaml:"CurrentStateName"` StateMap map[string]*ZombieStateData `yaml:"StateMap"` }
func UnmarshalZombie ¶
func UnmarshalZombie(f []byte) *ZombieData
func (*ZombieData) Execute ¶
func (z *ZombieData) Execute(drawEvent bus.DrawLayersEvent, mouseEvent bus.MouseEvent, keyEvent bus.KeyEvent)
type ZombieState ¶
type ZombieState interface {
// contains filtered or unexported methods
}
type ZombieStateData ¶
type ZombieStateData struct { Name string `yaml:"Name"` Spec string `yaml:"Spec"` Width int32 `yaml:"Width"` Height int32 `yaml:"Height"` Started bool `yaml:"Started"` FrameTracker *lib.FrameTrackerData `yaml:"FrameTracker"` AudioState *lib.AudioStateData `yaml:"AudioState"` BehaviorNames []string `yaml:"BehaviorList"` // contains filtered or unexported fields }
Click to show internal directories.
Click to hide internal directories.