package world

import "a301_game_server/pkg/mathutil"

// ZonePortal defines a connection between two zones.
type ZonePortal struct {
	// Trigger area in source zone.
	SourceZoneID uint32
	TriggerPos   mathutil.Vec3
	TriggerRadius float32

	// Destination in target zone.
	TargetZoneID uint32
	TargetPos    mathutil.Vec3
}

// IsInRange returns true if the given position is within the portal's trigger area.
func (p *ZonePortal) IsInRange(pos mathutil.Vec3) bool {
	return pos.DistanceXZ(p.TriggerPos) <= p.TriggerRadius
}
