private void Start() { TeamChanger teamChanger = new TeamChanger(); UniqueList <IEventReceiver> receivers = new UniqueList <IEventReceiver>(); receivers.Add(teamChanger); GameRecorder recorder = new GameRecorder(); GameReplayer replayer = new GameReplayer(receivers); teamChanger.TeamName.Subscribe((newName) => Debug.Log(newName)); TeamChangeEvent evt = new TeamChangeEvent(40, teamChanger.ID, "New team name"); recorder.AddEvent(evt); string gameLog = recorder.CreateGameLog(); replayer.Load(gameLog); replayer.Update(new Winch.UpdateInfo() { Time = 40, TicksPerUpdate = 0.1f }); }