public WordScrambleGameEditorControl(WordScrambleGameCommand command)
        {
            InitializeComponent();

            this.existingCommand = command;
            this.viewModel       = new WordScrambleGameEditorControlViewModel(command);
        }
        public override void SaveGameCommand(string name, IEnumerable <string> triggers, RequirementViewModel requirements)
        {
            Dictionary <UserRoleEnum, int> roleProbabilities = new Dictionary <UserRoleEnum, int>()
            {
                { UserRoleEnum.User, 0 }, { UserRoleEnum.Subscriber, 0 }, { UserRoleEnum.Mod, 0 }
            };

            GameCommandBase newCommand = new WordScrambleGameCommand(name, triggers, requirements, this.MinimumParticipants, this.TimeLimit, this.CustomWordsFilePath, this.WordScrambleTimeLimit,
                                                                     this.StartedCommand, this.UserJoinCommand, this.WordScramblePrepareCommand, this.WordScrambleBeginCommand, new GameOutcome("Success", 0, roleProbabilities, this.UserSuccessCommand),
                                                                     new GameOutcome("Failure", 0, roleProbabilities, this.UserFailCommand), this.NotEnoughPlayersCommand);

            this.SaveGameCommand(newCommand, this.existingCommand);
        }
        public WordScrambleGameEditorControlViewModel(WordScrambleGameCommand command)
            : this()
        {
            this.existingCommand = command;

            this.MinimumParticipants   = this.existingCommand.MinimumParticipants;
            this.TimeLimit             = this.existingCommand.TimeLimit;
            this.WordScrambleTimeLimit = this.existingCommand.WordScrambleTimeLimit;
            this.CustomWordsFilePath   = this.existingCommand.CustomWordsFilePath;

            this.StartedCommand = this.existingCommand.StartedCommand;

            this.UserJoinCommand         = this.existingCommand.UserJoinCommand;
            this.NotEnoughPlayersCommand = this.existingCommand.NotEnoughPlayersCommand;

            this.WordScramblePrepareCommand = this.existingCommand.WordScramblePrepareCommand;
            this.WordScrambleBeginCommand   = this.existingCommand.WordScrambleBeginCommand;

            this.UserSuccessCommand = this.existingCommand.UserSuccessOutcome.Command;
            this.UserFailCommand    = this.existingCommand.UserFailOutcome.Command;
        }