Documentation ¶
Overview ¶
Package core provides core functionality for a simulation:
- combat
- tasks
- event handling
- logging
- constructs (really should be just generic objects?)
- status
Index ¶
- Constants
- func RegisterCharFunc(char keys.Char, f NewCharacterFunc)
- func RegisterSetFunc(set keys.Set, f NewSetFunc)
- func RegisterWeaponFunc(weap keys.Weapon, f NewWeaponFunc)
- type Coord
- type Core
- func (c *Core) AddChar(p profile.CharacterProfile) (int, error)
- func (c *Core) Init() error
- func (c *Core) QueueAttack(a combat.AttackInfo, p combat.AttackPattern, snapshotDelay int, dmgDelay int, ...)
- func (c *Core) QueueAttackEvent(ae *combat.AttackEvent, dmgDelay int)
- func (c *Core) QueueAttackWithSnap(a combat.AttackInfo, s combat.Snapshot, p combat.AttackPattern, dmgDelay int, ...)
- func (c *Core) QueueParticle(src string, num float64, ele attributes.Element, delay int)
- func (c *Core) SetupOnNormalHitEnergy()
- func (c *Core) Tick()
- type CoreOpt
- type Flags
- type NewCharacterFunc
- type NewSetFunc
- type NewWeaponFunc
- type Reactable
Constants ¶
View Source
const MaxTeamSize = 4
Variables ¶
This section is empty.
Functions ¶
func RegisterCharFunc ¶
func RegisterCharFunc(char keys.Char, f NewCharacterFunc)
func RegisterSetFunc ¶
func RegisterSetFunc(set keys.Set, f NewSetFunc)
func RegisterWeaponFunc ¶
func RegisterWeaponFunc(weap keys.Weapon, f NewWeaponFunc)
Types ¶
type Core ¶
type Core struct { F int Flags Flags Seed int64 Rand *rand.Rand //various functionalities of core Log glog.Logger //we use an interface here so that we can pass in a nil logger for all except 1 run Events *event.Handler //track events: subscribe/unsubscribe/emit Status *status.Handler Tasks *task.Handler Combat *combat.Handler Constructs *construct.Handler Player *player.Handler }
func (*Core) QueueAttack ¶ added in v1.0.0
func (c *Core) QueueAttack( a combat.AttackInfo, p combat.AttackPattern, snapshotDelay int, dmgDelay int, callbacks ...combat.AttackCBFunc, )
func (*Core) QueueAttackEvent ¶ added in v1.0.0
func (c *Core) QueueAttackEvent(ae *combat.AttackEvent, dmgDelay int)
func (*Core) QueueAttackWithSnap ¶ added in v1.0.0
func (c *Core) QueueAttackWithSnap( a combat.AttackInfo, s combat.Snapshot, p combat.AttackPattern, dmgDelay int, callbacks ...combat.AttackCBFunc, )
func (*Core) QueueParticle ¶ added in v1.0.0
func (*Core) SetupOnNormalHitEnergy ¶ added in v1.0.0
func (c *Core) SetupOnNormalHitEnergy()
type NewCharacterFunc ¶
type NewCharacterFunc func(core *Core, char *character.CharWrapper, p profile.CharacterProfile) error
type NewSetFunc ¶
type NewWeaponFunc ¶
type NewWeaponFunc func(core *Core, char *character.CharWrapper, p weapon.WeaponProfile) (weapon.Weapon, error)
type Reactable ¶ added in v1.0.0
type Reactable interface { React(a *combat.AttackEvent) AuraContains(e ...attributes.Element) bool Tick() }
Directories ¶
Path | Synopsis |
---|---|
Package action describes the valid actions that any character may take
|
Package action describes the valid actions that any character may take |
Package combat handles all combat related functionalities including
|
Package combat handles all combat related functionalities including |
Package player contains player related tracking and functionalities: - tracking characters on the team - handling animations state - handling normal attack state - handling character stats and attributes - handling shielding
|
Package player contains player related tracking and functionalities: - tracking characters on the team - handling animations state - handling normal attack state - handling character stats and attributes - handling shielding |
animation
package animation provides a simple way of tracking the current animation state at any given frame, as well as if the current frame is in animation lock or not
|
package animation provides a simple way of tracking the current animation state at any given frame, as well as if the current frame is in animation lock or not |
shield
Package shield provide a handler to keep track of shields and add shields etc...
|
Package shield provide a handler to keep track of shields and add shields etc... |
Click to show internal directories.
Click to hide internal directories.