model.entities

package model.entities

Members list

Type members

Classlikes

Attributes

Supertypes
trait Player[T]
trait Entity
trait Movable[T]
trait Positioned
class Object
trait Matchable
class Any
Show all
Known subtypes
class Customer
trait Collidable extends Sized, Positioned

Trait providing collision detection capabilities for positioned and sized entities.

Trait providing collision detection capabilities for positioned and sized entities.

Combines position and size information to enable spatial collision detection, point containment checks, and geometric calculations. Uses axis-aligned bounding box (AABB) collision detection for efficient spatial queries.

Attributes

Supertypes
trait Positioned
trait Sized
class Object
trait Matchable
class Any
Known subtypes
trait Game
class RouletteGame
class Wall
Show all

Combined trait for entities that are both collidable and have unique identifiers.

Combined trait for entities that are both collidable and have unique identifiers.

Represents simulation entities that can participate in collision detection and can be uniquely identified within the system.

Attributes

Supertypes
trait Entity
trait Collidable
trait Positioned
trait Sized
class Object
trait Matchable
class Any
Show all
Known subtypes
trait Entity

Base trait for all entities in the simulation system.

Base trait for all entities in the simulation system.

Defines the minimal contract that all simulation entities must fulfill. Every entity in the system must have a unique identifier for tracking, collision detection, state management, and entity relationships.

This trait serves as the foundation for the entity hierarchy, allowing different types of simulation objects (customers, games, spawners, etc.) to be handled uniformly while maintaining their unique identities.

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Customer
class Spawner
trait Game
class RouletteGame
trait Player[T]
class Wall
Show all
trait Player[T <: Player[T]] extends Movable[T], Entity

Attributes

Supertypes
trait Entity
trait Movable[T]
trait Positioned
class Object
trait Matchable
class Any
Show all
Known subtypes
trait Positioned

Trait for entities that have a position in 2D space.

Trait for entities that have a position in 2D space.

Provides the basic capability for an entity to exist at a specific coordinate location within the simulation world.

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait Movable[T]
class Customer
trait Player[T]
class Context[M]
trait Collidable
trait Game
class RouletteGame
class Wall
Show all
trait SizeChangingEntity extends Sized

Trait for entities whose dimensions can be modified at runtime.

Trait for entities whose dimensions can be modified at runtime.

Provides methods to dynamically change an entity's width and height, useful for entities that need to resize during simulation or for configuration purposes.

Attributes

Supertypes
trait Sized
class Object
trait Matchable
class Any
Known subtypes
class Wall
trait Sized

Trait for entities that have physical dimensions.

Trait for entities that have physical dimensions.

Defines the size properties that determine how much space an entity occupies in the simulation world. Used in conjunction with position for collision detection and spatial calculations.

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait Collidable
trait Game
class RouletteGame
class Wall
Show all
case class Wall(id: String, position: Vector2D, width: Double, height: Double) extends Positioned, Sized, Collidable, SizeChangingEntity, Entity

Represents a wall entity that acts as a collision barrier in the

Represents a wall entity that acts as a collision barrier in the

simulation.

Walls are static rectangular obstacles that can block movement and provide boundaries within the simulation space.They support dynamic resizing and participate in the collision detection system .

Value parameters

height

the height of the wall in simulation units

id

unique identifier for this wall instance

position

the 2D coordinates of the wall 's top -left corner

width

the width of the wall in simulation units

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait Entity
trait Collidable
trait Sized
trait Positioned
class Object
trait Matchable
class Any
Show all
object Wall

Factory object for creating Wall instances.

Factory object for creating Wall instances.

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Wall.type