This commit is contained in:
2024-04-26 16:08:04 +02:00
parent 6e9077404a
commit d0816f9fc9
9 changed files with 169 additions and 65 deletions
+4 -5
View File
@@ -16,13 +16,13 @@ export interface TurnNetcode extends GameObjectNetcode {
export type Turn = Omit<TurnNetcode, 'cards_locked' | 'effects_availables' | 'champions_health'> & {
cards_locked: { [key: string]: Card }
effects_availables: Array<Effect>
champions_health: Map<Card, number>
champions_health: Map<string, number>
}
export function create_turn(input: TurnNetcode, register: GameObjectRegister) {
return new Proxy<any>(input, {
get(target: TurnNetcode, prop, reciever) {
if (prop == "card_locked") {
return target.cards_locked.map(e => register.cards.get(e))
if (prop == "cards_locked") {
return Object.fromEntries(target.cards_locked.map(e => [e, register.cards.get(e)]))
}
if (prop == "effects_availables") {
return target.effects_availables.map(e => register.effects.get(e))
@@ -30,14 +30,13 @@ export function create_turn(input: TurnNetcode, register: GameObjectRegister) {
if (prop == "champions_health") {
const healths = new Map()
for (const c in target.champions_health) {
healths.set(register.cards.get(c), target.champions_health[c])
healths.set(register.cards.get(c)?.uuid, target.champions_health[c])
}
return healths
}
return Reflect.get(target, prop, reciever);
},
set(target, prop, val, receiver) {
console.log(isReactive(target))
return Reflect.set(target, prop, val, receiver);
}
}) as Turn