load game model from file
This commit is contained in:
parent
2e5892444d
commit
49be125e74
|
|
@ -1,6 +1,5 @@
|
|||
@using KoogleApp.Games.Training
|
||||
@using KoogleApp.Model
|
||||
@using KoogleApp.Store.Game.GameState
|
||||
@using KoogleApp.Store.Game.Setup
|
||||
@using KoogleApp.Store.Game.ThrowTimer
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
using Fluxor;
|
||||
using KoogleApp.Games.Training;
|
||||
using KoogleApp.Model;
|
||||
using KoogleApp.Store.Game.GameState;
|
||||
using KoogleApp.Store.Game.ThrowPanel;
|
||||
|
||||
namespace KoogleApp.Games
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
namespace KoogleApp.Games.Training
|
||||
{
|
||||
public record UpdateTrainingStateAction(TrainingState TrainingState);
|
||||
//public record UpdateTrainingStateAction(TrainingState TrainingState);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
using Fluxor;
|
||||
using KoogleApp.Store.Game.GameState;
|
||||
using KoogleApp.Store.Game.Participants;
|
||||
using KoogleApp.Store.Game.ThrowPanel;
|
||||
using System;
|
||||
using KoogleApp.Model;
|
||||
using KoogleApp.Store.Game;
|
||||
using Microsoft.Identity.Client;
|
||||
|
||||
namespace KoogleApp.Games.Training
|
||||
|
|
@ -65,8 +65,9 @@ namespace KoogleApp.Games.Training
|
|||
|
||||
var newModel = ((TrainingState)(progress.GameModel)) with { Throws = ts.Throws };
|
||||
|
||||
res.Add(new UpdateTrainingStateAction(newModel));
|
||||
|
||||
//res.Add(new UpdateTrainingStateAction(newModel));
|
||||
res.Add(new GameModelChanged(newModel));
|
||||
|
||||
foreach (var action in res)
|
||||
{
|
||||
dispatcher.Dispatch(action);
|
||||
|
|
|
|||
|
|
@ -1,17 +1,15 @@
|
|||
using Fluxor;
|
||||
using KoogleApp.Store.Game.GameState;
|
||||
using KoogleApp.Store.Game;
|
||||
|
||||
namespace KoogleApp.Games.Training
|
||||
{
|
||||
|
||||
|
||||
public static class Reducers
|
||||
{
|
||||
|
||||
|
||||
[ReducerMethod]
|
||||
public static TrainingState OnTestActions(TrainingState state, UpdateTrainingStateAction action)
|
||||
public static TrainingState? OnGameModelChanged(TrainingState state, GameModelChanged action)
|
||||
{
|
||||
return action.TrainingState;
|
||||
return action.Model as TrainingState;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
using KoogleApp.Games;
|
||||
using KoogleApp.Store.Game.GameState;
|
||||
using KoogleApp.Store.Game.Participants;
|
||||
using KoogleApp.Store.Game.Setup;
|
||||
using KoogleApp.Store.Game.ThrowPanel;
|
||||
|
|
@ -8,10 +7,10 @@ namespace KoogleApp.Model
|
|||
{
|
||||
public class GameStatusSnapshot
|
||||
{
|
||||
public GameStatus Status { get; set; }
|
||||
public GameStatus? Status { get; set; }
|
||||
public int Version { get; set; }
|
||||
public DateTime LastModified { get; set; }
|
||||
public string LastModifiedBy { get; set; }
|
||||
public string? LastModifiedBy { get; set; }
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,8 @@
|
|||
using KoogleApp.Games;
|
||||
|
||||
namespace KoogleApp.Store.Game
|
||||
{
|
||||
public record GameModelChanged(IGameModel Model);
|
||||
|
||||
public record LoadGameStatesFromDataServiceAction();
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
using Fluxor;
|
||||
using KoogleApp.Services;
|
||||
|
||||
namespace KoogleApp.Store.Game
|
||||
{
|
||||
public class GameStateEffects(IGameStatusDataService dataService)
|
||||
{
|
||||
[EffectMethod]
|
||||
public async Task HandeLoadGameStatesFromSessionAction(LoadGameStatesFromDataServiceAction action, IDispatcher dispatcher)
|
||||
{
|
||||
var current = dataService.GetCurrentData();
|
||||
if (current.Status != null)
|
||||
{
|
||||
var gameModel = current.Status.GameModel;
|
||||
dispatcher.Dispatch(new GameModelChanged(gameModel));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
using KoogleApp.Games;
|
||||
|
||||
namespace KoogleApp.Store.Game.GameState
|
||||
{
|
||||
public record GameModelChanged(IGameModel Model);
|
||||
|
||||
//public record LoadGameStatesFromSessionAction();
|
||||
}
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
using Fluxor;
|
||||
using KoogleApp.Services;
|
||||
|
||||
namespace KoogleApp.Store.Game.GameState
|
||||
{
|
||||
public class GameStateEffects(IGameStatusDataService dataService)
|
||||
{
|
||||
|
||||
|
||||
//[EffectMethod]
|
||||
//public async Task HandeLoadGameStatesFromSessionAction(
|
||||
// LoadGameStatesFromSessionAction allStatesFromSessionAction, IDispatcher dispatcher)
|
||||
//{
|
||||
// var current = dataService.GetCurrentData();
|
||||
// if (current != null && current.Status != null)
|
||||
// {
|
||||
// var gameState = current.Status.GameState;
|
||||
// dispatcher.Dispatch(new GameStateChanged(gameState));
|
||||
// }
|
||||
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
using Fluxor;
|
||||
using KoogleApp.Games;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace KoogleApp.Store.Game.GameState
|
||||
{
|
||||
//[FeatureState]
|
||||
//public sealed record GameState
|
||||
//{
|
||||
// [JsonConverter(typeof(KnownGameJsonConverter))]
|
||||
// public IKnownGame? CurrentGame { get; init; } = null;
|
||||
//}
|
||||
}
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
using Fluxor;
|
||||
using KoogleApp.Store.Game.ThrowPanel;
|
||||
|
||||
namespace KoogleApp.Store.Game.GameState
|
||||
{
|
||||
//public static class Reducers
|
||||
//{
|
||||
// [ReducerMethod]
|
||||
// public static GameState OnReceiveStateFromServer(GameState state, GameStateChanged action)
|
||||
// {
|
||||
// return action.State;
|
||||
// }
|
||||
|
||||
|
||||
//}
|
||||
}
|
||||
|
|
@ -5,7 +5,6 @@ using KoogleApp.Model;
|
|||
using KoogleApp.Model.EventMessages;
|
||||
using KoogleApp.Model.Framework;
|
||||
using KoogleApp.Services;
|
||||
using KoogleApp.Store.Game.GameState;
|
||||
using KoogleApp.Store.Game.Participants;
|
||||
using KoogleApp.Store.Game.Setup;
|
||||
using KoogleApp.Store.Game.ThrowTimer;
|
||||
|
|
@ -279,7 +278,7 @@ namespace KoogleApp.Store.Game.ThrowPanel
|
|||
dispatcher.Dispatch(new LoadThrowPanelStatesFromSessionAction());
|
||||
dispatcher.Dispatch(new LoadParticipantsStatesFromSessionAction());
|
||||
dispatcher.Dispatch(new LoadSetupStatesFromSessionAction());
|
||||
//dispatcher.Dispatch(new LoadGameStatesFromSessionAction());
|
||||
dispatcher.Dispatch(new LoadGameStatesFromDataServiceAction());
|
||||
}
|
||||
|
||||
[EffectMethod]
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue