本文整理汇总了Golang中github.com/runningwild/haunts/game.Entity.CurrentRoom方法的典型用法代码示例。如果您正苦于以下问题:Golang Entity.CurrentRoom方法的具体用法?Golang Entity.CurrentRoom怎么用?Golang Entity.CurrentRoom使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/runningwild/haunts/game.Entity
的用法示例。
在下文中一共展示了Entity.CurrentRoom方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Prep
func (a *Interact) Prep(ent *game.Entity, g *game.Game) bool {
if a.Preppable(ent, g) {
a.ent = ent
room := g.House.Floors[0].Rooms[ent.CurrentRoom()]
for _, door := range a.doors {
_, other_door := g.House.Floors[0].FindMatchingDoor(room, door)
if other_door != nil {
door.HighlightThreshold(true)
other_door.HighlightThreshold(true)
}
}
return true
}
return false
}
示例2: findDoors
func (a *Interact) findDoors(ent *game.Entity, g *game.Game) []*house.Door {
room_num := ent.CurrentRoom()
room := g.House.Floors[0].Rooms[room_num]
x, y := ent.Pos()
dx, dy := ent.Dims()
ent_rect := makeIntFrect(x, y, x+dx, y+dy)
var valid []*house.Door
for _, door := range room.Doors {
if door.AlwaysOpen() {
continue
}
if ent_rect.Overlaps(makeRectForDoor(room, door)) {
valid = append(valid, door)
}
}
return valid
}