You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

117 lines
2.4 KiB

2 years ago
declare module Settings{
interface Global{
project: Project
frameWork: FrameWork
game: Game
}
interface Project{
name: string
author: string
playerCounts: number[]
online: Online
}
interface Online{
iceServers: ICEServer[]
}
interface ICEServer{
url: string
username: string
credential: string
}
interface FrameWork{
frameRate: number
updateRate: number
width: number
height: number
}
interface Game{
ball: Ball
player: Player
item: {
wormhole: Wormhole
boost: Boost
newBall: NewBall
}
}
interface Ball{
radius: number
velocity: Ball.Velocity
acceleration: Ball.Acceleration
runUp: Ball.RunUp
color: Color
safeRadius: number
}
interface Player{
length: number
depth: number
margin: number
points: number
absVel: number
color: Color
thisStroke: string
moveMargin: number
blinkTime: number
}
interface Item{
radius: number
spawnTime: number
color: Color
duration: number
fadeTime: number
}
interface Boost extends Item{
types: string[]
effect: {
[effect: string]: Effect
}
}
interface Wormhole extends Item{
power: number
minRadius: number
maxRadius: number
}
interface NewBall extends Item{
}
interface Color{
stroke: string
fill: string
}
interface Effect{
duration: number
positive: {
[key: string]: number
}
negative: {
[key: string]: number
}
standard : {
[key: string]: number
}
}
interface Vector{
x: number
y: number
}
interface TimeProcess{
max: number
now: number
}
module Ball{
interface RunUp{
min: number
max: number
}
interface Velocity{
start: number
min: number
runUpMax: number
resetMultiplier: number
}
interface Acceleration{
permanent: number
max: number
}
}
}