public virtual void UpdateState(T t, ExtractedParameters state) { var dispatchee = t as Dispatchee <T>; dispatchee.ThrowIfNull(nameof(t)); if (state.HasValue(nameof(Coordinates))) { dispatchee.Coordinates = state.ToValue <Coordinate>(nameof(Coordinates)); } }
public override void UpdateState(Maze clone, ExtractedParameters state) { if (state.HasValue(nameof(Tiles.Tiles))) { var tiles = state.ToString(nameof(Tiles.Tiles)); var tilesChanged = tiles.ToTiles(); foreach (var tileChange in tilesChanged) { clone._tiles[tileChange.Coordinates] = tileChange.Name; } } base.UpdateState(clone, state); }