Ejemplo n.º 1
0
        //---------------------------------------------------------------------------------
        public void CheckAndLinkOptions(Options _opt)
        {
            VignetteDisplayParams dp = _opt.OneTaxonAllImagesVignetteDisplayParams;

            if (dp.DisplayMode == VignetteDisplayParams.ModeEnum.Undefined)
            {
                dp.DisplayMode = VignetteDisplayParams.ModeEnum.LegendBorder;
                dp.InitColors();
            }


            dp = _opt.OneTaxonOneImageVignetteDisplayParams;
            if (dp.DisplayMode == VignetteDisplayParams.ModeEnum.Undefined)
            {
                dp.DisplayMode = VignetteDisplayParams.ModeEnum.Brut;
                dp.InitColors();
            }

            dp = _opt.TitleVignetteDisplayParams;
            if (dp.DisplayMode == VignetteDisplayParams.ModeEnum.Undefined)
            {
                dp.DisplayMode = VignetteDisplayParams.ModeEnum.LegendBorder;
                dp.InitColors();
                dp.DisplayImage = false;
                //dp.LegendAliveBackColor = Color.LightSlateGray;
                dp.LegendAliveBackColor = Theme.Current.Control_Background;
                //dp.LegendAliveForeColor = Color.White;
                dp.LegendAliveForeColor = Theme.Current.Control_Forecolor;
                //dp.LegendAliveSecondaryForeColor = Color.White;
                dp.LegendAliveSecondaryForeColor = Theme.Current.Control_Forecolor;
            }

            TaxonBigVignette.DisplayParams = TaxonUtils.MyConfig.Options.TitleVignetteDisplayParams;
            TaxonBigVignette.DisplayParams.SoundPlayerDisplayParams = new VinceSoundPlayer.PlayerSmallDisplayParams()
            {
                ColorDisabled = 0.7f,
                ColorEnabled  = 0.9f,
                ColorHovered  = 1
            };

            _opt.OneTaxonAllImagesVignetteDisplayParams.OnChanged += InvalidateMulti;
            _opt.OneTaxonOneImageVignetteDisplayParams.OnChanged  += InvalidateMulti;
            _opt.TitleVignetteDisplayParams.OnChanged             += InvalidateTitle;
        }
Ejemplo n.º 2
0
        //---------------------------------------------------------------------------------
        void PrepareQuestion()
        {
            StopAllSounds();
            _QuestionPhase = true;

            _CurrentInput = TaxonUtils.RandomTaxon(_TaxonInput, 1)[0];
            _TaxonInput.Remove(_CurrentInput);
            if (_TaxonOutput.Count > _NumQuestions + _NumPropositions)
            {
                _TaxonOutput.Remove(_CurrentInput);
            }
            _CurrentQuestion = _NumQuestions - _TaxonInput.Count();

            _CurrentOutput = TaxonUtils.RandomTaxon(_TaxonOutput, _NumPropositions - 1);
            int index = TaxonUtils.random.Next(_CurrentOutput.Count + 1);

            if (index == _CurrentOutput.Count)
            {
                _CurrentOutput.Add(_CurrentInput);
            }
            else
            {
                _CurrentOutput.Insert(index, _CurrentInput);
            }

            _SelectedOutput = null;

            /*taxonMISC.AllowSound = (_Output & (int)DataEnum.Sound) != 0;
             * taxonMISC.BorderColor = SystemColors.Control;*/

            QuizzAnswerVignetteDisplayParams = new VignetteDisplayParams(TaxonUtils.MyConfig.Options.OneTaxonAllImagesVignetteDisplayParams)
            {
                DisplayMode            = VignetteDisplayParams.ModeEnum.LegendBorder,
                LatinVisible           = (_Output & (int)DataEnum.Latin) != 0,
                FrenchVisible          = (_Output & (int)DataEnum.French) != 0,
                ImageVisible           = (_Output & (int)DataEnum.Image) != 0,
                FitInRectAboveThisSize = 0,
                BorderSize             = 5,
                BorderColor            = Color.White,
            };

            QuizzSelectedAnswerVignetteDisplayParams = new VignetteDisplayParams(TaxonUtils.MyConfig.Options.OneTaxonAllImagesVignetteDisplayParams)
            {
                DisplayMode            = VignetteDisplayParams.ModeEnum.LegendBorder,
                LatinVisible           = (_Output & (int)DataEnum.Latin) != 0,
                FrenchVisible          = (_Output & (int)DataEnum.French) != 0,
                ImageVisible           = (_Output & (int)DataEnum.Image) != 0,
                FitInRectAboveThisSize = 0,
                BorderSize             = 5,
                BorderColor            = Color.Green
            };

            QuizzWrongAnswerVignetteDisplayParams = new VignetteDisplayParams(TaxonUtils.MyConfig.Options.OneTaxonAllImagesVignetteDisplayParams)
            {
                DisplayMode            = VignetteDisplayParams.ModeEnum.LegendBorder,
                FitInRectAboveThisSize = 0,
                LatinVisible           = true,
                FrenchVisible          = true,
                ImageVisible           = true,
                BorderSize             = 5,
                BorderColor            = Color.Red
            };
            QuizzWrongAnswerVignetteDisplayParams.OnPainted += PaintRedCross;

            QuizzGoodAnswerVignetteDisplayParams = new VignetteDisplayParams(TaxonUtils.MyConfig.Options.OneTaxonAllImagesVignetteDisplayParams)
            {
                DisplayMode            = VignetteDisplayParams.ModeEnum.LegendBorder,
                FitInRectAboveThisSize = 0,
                LatinVisible           = true,
                FrenchVisible          = true,
                ImageVisible           = true,
                BorderSize             = 5,
                BorderColor            = Color.Green
            };

            taxonMISC.SetTaxonList(_CurrentOutput, QuizzAnswerVignetteDisplayParams);
            taxonISC.CurrentTaxon = _CurrentInput;

            buttonValidate.Visible  = false;
            buttonContinue1.Visible = false;
            labelQuestion1.Text     = "Question " + _CurrentQuestion.ToString() + " / " + _NumQuestions.ToString();
            labelScore2.Text        = _Score.ToString();
        }