本文整理汇总了Golang中MonsterQuest/gameObjectsBase.Activer.GetAttackPoint方法的典型用法代码示例。如果您正苦于以下问题:Golang Activer.GetAttackPoint方法的具体用法?Golang Activer.GetAttackPoint怎么用?Golang Activer.GetAttackPoint使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MonsterQuest/gameObjectsBase.Activer
的用法示例。
在下文中一共展示了Activer.GetAttackPoint方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Do
func (a *BlowFlag) Do(obj gameObjectsBase.Activer) {
if obj.ReadyAttack() {
p := obj.GetAttackPoint()
if p != nil && !a.field.OutOfRange(int(p.X), int(p.Y)) {
for _, actor := range a.field.GetActors(int(p.X), int(p.Y)) {
r := actor.GetRectangle()
if r.In(p) {
obj.SetTarget(actor)
break
}
}
// obj.ClearAttackPoint()
}
if target, exists := obj.GetTarget(); exists || p != nil {
msg := obj.Attack()
obj.ZeroCooldown()
if msg != nil {
notifier.GameNotifier.NotifyAboutAttack(obj, target, msg)
}
}
// if target, exists := obj.GetTarget(); exists && target.GetID() != obj.GetID() {
// msg := obj.Attack()
// obj.ZeroCooldown()
// if msg != nil {
// notifier.GameNotifier.NotifyAboutAttack(obj, target, msg)
// }
// }
} else {
obj.IncCooldownCounter()
}
}
示例2: Do
func (k *KillWallFlag) Do(obj gameObjectsBase.Activer) {
if pt := obj.GetAttackPoint(); pt != nil {
x, y := int(math.Ceil(pt.X)), int(math.Ceil(pt.Y))
if !k.field.IsBlocked(x, y) {
k.field.SetCell(x, y, consts.GRASS_SYMBOL)
}
}
}