//no need for turn information because the shell is handling that part. //hint: needs instructions and whose turn it is. //i think its okay if its repeating this time. //since its used for a different purpose. //public BoardGamesColorPicker<E, O, P> ColorChooser { get; set; } public BeginningChooseColorViewModel(CommandContainer commandContainer, BeginningColorModel <E, O, P> model, IBeginningColorProcesses <E> processes) { CommandContainer = commandContainer; _model = model; _processes = processes; _processes.SetInstructions = (x => Instructions = x); _processes.SetTurn = (x => Turn = x); //has to set delegates before init obviously. _model.ColorChooser.AutoSelectCategory = EnumAutoSelectCategory.AutoEvent; //hopefully smart enough that for multiplayer that they can't choose if its not their turn (?) _model.ColorChooser.ItemClickedAsync += ColorChooser_ItemClickedAsync; }
public BeginningColorProcessorClass(BeginningColorModel <E, O, P> model, BasicGameContainer <P, S> gameContainer ) { _model = model; _gameContainer = gameContainer; //looks like i have to set a delegate for showing for all now with pauses. MiscDelegates.ComputerChooseColorsAsync = ComputerChooseColorAsync; MiscDelegates.ContinueColorsAsync = ContinueColorsAsync; MiscDelegates.FillRestColors = (() => { _model.ColorChooser.FillInRestOfColors(); }); }