Jofthomas HF staff commited on
Commit
26088c6
1 Parent(s): 5863e69
convex/aiTown/gameCycle.ts CHANGED
@@ -79,6 +79,8 @@ export const gameCycleSchema = {
79
  v.literal('LobbyState'),
80
  ),
81
  cycleIndex: v.number(),
 
 
82
  };
83
 
84
  export type SerializedGameCycle = ObjectType<typeof gameCycleSchema>;
@@ -160,12 +162,14 @@ export class GameCycle {
160
  currentTime: number;
161
  cycleState: CycleState;
162
  cycleIndex: number;
 
163
 
164
  constructor(serialized: SerializedGameCycle) {
165
- const { currentTime, cycleState, cycleIndex } = serialized;
166
  this.currentTime = currentTime;
167
  this.cycleState = cycleState;
168
  this.cycleIndex = cycleIndex;
 
169
  }
170
 
171
  startGame(game: Game) {
@@ -173,6 +177,7 @@ export class GameCycle {
173
  onStateChange(this.cycleState, 'Day', game, 0);
174
  this.cycleState = 'Day';
175
  this.cycleIndex = 0;
 
176
  console.log('Game started')
177
  }
178
 
@@ -193,16 +198,18 @@ export class GameCycle {
193
  const prevState = this.cycleState;
194
  this.currentTime = 0;
195
  this.cycleIndex = (this.cycleIndex + 1) % normalCycle.length;
 
196
  this.cycleState = normalCycle[this.cycleIndex];
197
  onStateChange(prevState, this.cycleState, game, tickDuration);
198
  }
199
  }
200
  serialize(): SerializedGameCycle {
201
- const { currentTime, cycleState, cycleIndex } = this;
202
  return {
203
  currentTime,
204
  cycleState,
205
  cycleIndex,
 
206
  };
207
  }
208
  }
 
79
  v.literal('LobbyState'),
80
  ),
81
  cycleIndex: v.number(),
82
+ cycleNumber: v.number(),
83
+
84
  };
85
 
86
  export type SerializedGameCycle = ObjectType<typeof gameCycleSchema>;
 
162
  currentTime: number;
163
  cycleState: CycleState;
164
  cycleIndex: number;
165
+ cycleNumber:number,
166
 
167
  constructor(serialized: SerializedGameCycle) {
168
+ const { currentTime, cycleState, cycleIndex,cycleNumber} = serialized;
169
  this.currentTime = currentTime;
170
  this.cycleState = cycleState;
171
  this.cycleIndex = cycleIndex;
172
+ this.cycleNumber=cycleNumber;
173
  }
174
 
175
  startGame(game: Game) {
 
177
  onStateChange(this.cycleState, 'Day', game, 0);
178
  this.cycleState = 'Day';
179
  this.cycleIndex = 0;
180
+ this.cycleNumber=0
181
  console.log('Game started')
182
  }
183
 
 
198
  const prevState = this.cycleState;
199
  this.currentTime = 0;
200
  this.cycleIndex = (this.cycleIndex + 1) % normalCycle.length;
201
+ this.cycleNumber = this.cycleNumber + 1;
202
  this.cycleState = normalCycle[this.cycleIndex];
203
  onStateChange(prevState, this.cycleState, game, tickDuration);
204
  }
205
  }
206
  serialize(): SerializedGameCycle {
207
+ const { currentTime, cycleState, cycleIndex , cycleNumber} = this;
208
  return {
209
  currentTime,
210
  cycleState,
211
  cycleIndex,
212
+ cycleNumber,
213
  };
214
  }
215
  }
convex/init.ts CHANGED
@@ -65,6 +65,7 @@ async function getOrCreateDefaultWorld(ctx: MutationCtx) {
65
  currentTime: 0,
66
  cycleState: 'LobbyState',
67
  cycleIndex: -1,
 
68
  },
69
  gameVotes: [],
70
  llmVotes: []
 
65
  currentTime: 0,
66
  cycleState: 'LobbyState',
67
  cycleIndex: -1,
68
+ cycleNumber:0,
69
  },
70
  gameVotes: [],
71
  llmVotes: []
src/components/Game.tsx CHANGED
@@ -24,7 +24,7 @@ import { LOBBY_SIZE } from '../../convex/constants';
24
  export const SHOW_DEBUG_UI = !!import.meta.env.VITE_SHOW_DEBUG_UI;
25
  export function GameStateLabel(game: GameObj, me: PlayerDescription | undefined) {
26
  let humans = [...game.world.players.values()].filter(player => player.human).length
27
- let cycle_num=game.world.gameCycle.cycleIndex
28
 
29
  switch (game.world.gameCycle.cycleState) {
30
  case 'Day':
 
24
  export const SHOW_DEBUG_UI = !!import.meta.env.VITE_SHOW_DEBUG_UI;
25
  export function GameStateLabel(game: GameObj, me: PlayerDescription | undefined) {
26
  let humans = [...game.world.players.values()].filter(player => player.human).length
27
+ let cycle_num=game.world.gameCycle.cycleNumber
28
 
29
  switch (game.world.gameCycle.cycleState) {
30
  case 'Day':