49 lines
639 B
Plaintext
49 lines
639 B
Plaintext
module math
|
|
|
|
export struct vec2 {
|
|
x: i32
|
|
y: i32
|
|
}
|
|
|
|
export struct vec3 {
|
|
x: i32
|
|
y: i32
|
|
z: i32
|
|
}
|
|
|
|
export struct color {
|
|
r: i32
|
|
g: i32
|
|
b: i32
|
|
a: i32
|
|
}
|
|
|
|
export struct example {
|
|
b: color
|
|
}
|
|
|
|
export enum message {
|
|
quit: {}
|
|
move: color
|
|
}
|
|
|
|
export func add(a: i32 b: i32): i32
|
|
{
|
|
let message: message = enum math::message::move struct color { r = 23 g = 46 b = 56 }
|
|
|
|
match message {
|
|
quit q {}
|
|
move m {
|
|
m.r = 23
|
|
m.g = 23
|
|
m.b = 23
|
|
}
|
|
}
|
|
|
|
return math::add_internal(a b)
|
|
}
|
|
|
|
func add_internal(a: i32 b: i32): i32
|
|
{
|
|
return a + b
|
|
} |