-
Notifications
You must be signed in to change notification settings - Fork 1
/
PhysicsComponent.swift
32 lines (28 loc) · 1 KB
/
PhysicsComponent.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//
// PhysicsComponent.swift
// star-dash
//
// Created by Lau Rui han on 12/3/24.
//
import Foundation
class PhysicsComponent: Component {
var mass: CGFloat
var velocity: CGVector
var force: CGVector
var collisionMask: UInt32
var affectedByGravity: Bool
init(id: ComponentId, entityId: EntityId, mass: CGFloat, velocity: CGVector,
force: CGVector, collisionMask: UInt32, affectedByGravity: Bool) {
self.mass = mass
self.velocity = velocity
self.force = force
self.collisionMask = collisionMask
self.affectedByGravity = affectedByGravity
super.init(id: id, entityId: entityId)
}
convenience init(entityId: EntityId, mass: CGFloat, velocity: CGVector,
force: CGVector, collisionMask: UInt32, affectedByGravity: Bool) {
self.init(id: UUID(), entityId: entityId, mass: mass, velocity: velocity,
force: force, collisionMask: collisionMask, affectedByGravity: affectedByGravity)
}
}