Changeset - 95e1ae426eb3
[Not reviewed]
default
0 4 0
Jason Maltzen - 12 months ago 2023-12-07 05:55:08
jason@hiddenachievement.com
Add an info box when a detected clipped reaction could be extrapolated from a white shift.
4 files changed with 21 insertions and 3 deletions:
0 comments (0 inline, 0 general)
Models/ReactionTest.cs
Show inline comments
...
 
@@ -82,6 +82,17 @@ namespace DesertPaintCodex.Models
 
            }
 
        }
 

	
 
        private bool _whiteShift;
 
        public bool WhiteShift
 
        {
 
            get => _whiteShift;
 
            set
 
            {
 
                _whiteShift = value;
 
                NotifyPropertyChanged(nameof(WhiteShift));
 
            }
 
        }
 

	
 
        public bool IsAllCatalysts { get; }
 

	
 
        private Reaction? _reaction;
...
 
@@ -152,13 +163,14 @@ namespace DesertPaintCodex.Models
 
        public bool IsStub { get; }
 

	
 

	
 
        public ReactionTest(Reagent reagent1, Reagent reagent2, Reaction? reaction, ClipType clipType, bool isStub = false)
 
        public ReactionTest(Reagent reagent1, Reagent reagent2, Reaction? reaction, ClipType clipType, bool whiteShift, bool isStub = false)
 
        {
 
            Reagent1 = reagent1;
 
            Reagent2 = reagent2;
 
            UseFirstBuffer = true;
 
            IsAllCatalysts = reagent1.IsCatalyst && reagent2.IsCatalyst;
 
            Clipped = clipType;
 
            WhiteShift = whiteShift;
 
            Reaction = reaction;
 
            State = (reaction != null) ? TestState.Saved :
 
                (clipType == ClipType.None) ? TestState.Untested : TestState.ClippedResult;
...
 
@@ -253,6 +265,7 @@ namespace DesertPaintCodex.Models
 
                                if (!extrapolated) extrapolated = ExtrapolateWhiteFromOneChannel(_observedColor.Green, 255, reaction.Green);
 
                                if (!extrapolated) extrapolated = ExtrapolateWhiteFromOneChannel(_observedColor.Blue,  255, reaction.Blue);
 
                            }
 
                            WhiteShift = extrapolated;
 
                        }
 

	
 
                        if (!extrapolated)
Models/ReactionTestService.cs
Show inline comments
...
 
@@ -34,7 +34,7 @@ namespace DesertPaintCodex.Models
 
                    Reaction? reaction = profile.FindReaction(reagent1, reagent2);
 
                    ClipType clipType = profile.PairClipStatus(reagent1, reagent2);
 
                    
 
                    ReactionTest test = new(reagent1, reagent2, reaction, clipType)
 
                    ReactionTest test = new(reagent1, reagent2, reaction, clipType, false)
 
                    {
 
                        Clipped  = clipType,
 
                        Reaction = reaction,
Util/Constants.cs
Show inline comments
...
 
@@ -21,7 +21,7 @@ namespace DesertPaintCodex.Util
 
                    _stubReactionTest = new ReactionTest(
 
                        new Reagent("Toad Skin", "ToadSkin", 48, 96, 48, 0), 
 
                        new Reagent("Falcons Bait", "FalconBait", 128, 240, 224, 1), 
 
                        null, ClipType.None, true);
 
                        null, ClipType.None, false, true);
 
                }
 

	
 
                return _stubReactionTest;
Views/ReactionTestView.axaml
Show inline comments
...
 
@@ -134,6 +134,11 @@
 
                <views:ReactionUnitView Reaction="{Binding ReactionTest.Reaction}"/>
 
            </StackPanel>
 

	
 
          <views:EmbeddedWarningBox Title="🛈 EXTRAPOLATED REACTION"
 
                                    IsVisible="{Binding ReactionTest.WhiteShift}"
 
                                    Message="One component of the reaction clipped, but a value could be extrapolated from the shift in the color components.">
 
          </views:EmbeddedWarningBox>
 

	
 
            <views:EmbeddedWarningBox Title="🛇 REACTION CLIPPED"
 
                                      IsVisible="{Binding !!ReactionTest.Clipped}"
 
                                      Message="Your reaction fell outside of measurable values. We will need to use a buffer pigment to test it.">
0 comments (0 inline, 0 general)