Example #1
0
 public ButtonEventArgs(ButtonCategory category, int index, bool previousValue, bool newValue)
 {
     Category      = category;
     Index         = index;
     PreviousValue = previousValue;
     NewValue      = newValue;
 }
Example #2
0
        private void HandleOperator(char op)
        {
            _display.Print(_display.ParseDisplay());

            if (UnaryOperatorProvider.IsUnaryOperator(op))
            {
                var fun = UnaryOperatorProvider.GetOperator(op);
                _display.Print(fun(_display.ParseDisplay()));
                _lastPressed = ButtonCategory.UnaryOperator;
            }
            else if (BinaryOperatorProvider.IsBinaryOperator(op))
            {
                if (double.IsNaN(_lastResult))
                {
                    _lastResult = _display.ParseDisplay();
                }

                if (_operator != EMPTY_OPERATOR && _lastPressed != ButtonCategory.BinaryOperator)
                {
                    double number = _display.ParseDisplay();
                    var    fun    = BinaryOperatorProvider.GetOperator(_operator);
                    _lastResult = fun(_lastResult, number);
                    _display.Print(_lastResult);
                }
                _operator    = op;
                _lastPressed = ButtonCategory.BinaryOperator;
            }
            else
            {
                throw new ArgumentException($"Unknown operator '{op}'");
            }
        }
Example #3
0
        public CategoryView(ButtonCategory cat)
        {
            category = cat;
            InitializeComponent();
            BuildComponent();

            Background = Brushes.Purple;
        }
Example #4
0
 public Calculator()
 {
     _display    = new Display();
     _operator   = EMPTY_OPERATOR;
     _lastResult = double.NaN;
     CultureInfo.CurrentCulture = new CultureInfo("hr-HR");
     _lastPressed = ButtonCategory.Nothing;
     _memory      = "0";
 }
        /// <summary>
        /// Call in HudManager.Start
        /// </summary>
        private CooldownButton(Assembly asm, Action onClick, float cooldown, string embeddedResourcePath /*, float pixelsPerUnit*/, Vector2 positionOffset, ButtonCategory category, HudManager hudManager, bool hasEffectDuration, float effectDuration, Action onEffectEnd)
        {
            OnEffectEnd    = onEffectEnd;
            PositionOffset = positionOffset;
            EffectDuration = effectDuration;
            Category       = category;
            //PixelsPerUnit = pixelsPerUnit;
            MaxTimer = cooldown;
            Timer    = MaxTimer;

            Buttons.Add(this);

            string embeddedResourceFullPath = asm.GetManifestResourceNames().FirstOrDefault(resourceName => resourceName.EndsWith(embeddedResourcePath, StringComparison.Ordinal));

            if (string.IsNullOrEmpty(embeddedResourceFullPath))
            {
                throw new ArgumentNullException(nameof(embeddedResourcePath), $"The embedded resource \"{embeddedResourcePath}\" was not found in assembly \"{asm.GetName().Name}\".");
            }

            Stream resourceStream = asm.GetManifestResourceStream(embeddedResourceFullPath);

            KillButtonManager = Object.Instantiate(hudManager.KillButton, hudManager.transform);

            //StartColorButton = killButtonManager.renderer.color;
            StartColorText = KillButtonManager.TimerText.Color;

            KillButtonManager.gameObject.SetActive(true);
            KillButtonManager.renderer.enabled = true;

            Texture2D tex = GUIExtensions.CreateEmptyTexture();

            byte[] buttonTexture = Reactor.Extensions.Extensions.ReadFully(resourceStream);
            ImageConversion.LoadImage(tex, buttonTexture, false);
            KillButtonManager.renderer.sprite = GUIExtensions.CreateSprite(tex);

            PassiveButton button = KillButtonManager.GetComponent <PassiveButton>();

            button.OnClick.RemoveAllListeners();
            button.OnClick.AddListener(new Action(() =>
            {
                if (Timer < 0f && CanUse)
                {
                    KillButtonManager.renderer.color = new Color(1f, 1f, 1f, 0.3f);

                    if (hasEffectDuration)
                    {
                        IsEffectActive = true;

                        Timer = EffectDuration;

                        KillButtonManager.TimerText.Color = new Color(0, 255, 0);
                    }

                    onClick();
                }
            }));
        }
Example #6
0
	public void SetUp (ButtonCategory category)
	{
		Show ();
		ButtonCategoryDescriptor buttonDescriptor = category.Descriptor;
		pin.Text = buttonDescriptor.GetNotifications (category.Category).GetNumber ().ToString ();
		nameLabel.Text = buttonDescriptor.name;
		icon.lowerLeftPixel = buttonDescriptor.lowerLeft;
		SetUpTabs ();
		CreateList ();
		Reset ();
	}
Example #7
0
        public void InterpolateBetween(ButtonCategory firstState, ButtonCategory secondState, float interpolationValue)
        {
                #if DEBUG
            if (float.IsNaN(interpolationValue))
            {
                throw new System.Exception("interpolationValue cannot be NaN");
            }
                #endif
            switch (firstState)
            {
            case  ButtonCategory.Enabled:
                break;

            case  ButtonCategory.Disabled:
                break;

            case  ButtonCategory.Highlighted:
                break;

            case  ButtonCategory.Pushed:
                break;
            }
            switch (secondState)
            {
            case  ButtonCategory.Enabled:
                break;

            case  ButtonCategory.Disabled:
                break;

            case  ButtonCategory.Highlighted:
                break;

            case  ButtonCategory.Pushed:
                break;
            }
            var wasSuppressed = mIsLayoutSuspended;
            if (wasSuppressed == false)
            {
                SuspendLayout(true);
            }
            if (interpolationValue < 1)
            {
                mCurrentButtonCategoryState = firstState;
            }
            else
            {
                mCurrentButtonCategoryState = secondState;
            }
            if (!wasSuppressed)
            {
                ResumeLayout(true);
            }
        }
Example #8
0
        public void Press(char inPressedDigit)
        {
            Console.WriteLine($"Pressed : {inPressedDigit}");
            Console.WriteLine($"Last result : {_lastResult}");
            Console.WriteLine($"Operator : {_operator}");
            Console.WriteLine("------------------------------");

            if (char.IsDigit(inPressedDigit))
            {
                HandleDigit(inPressedDigit);
            }
            else if (inPressedDigit == ',')
            {
                _lastPressed = ButtonCategory.Comma;
                _display.Append(inPressedDigit);
            }
            else if (inPressedDigit == '=')
            {
                EqualsSign();
            }

            else if (inPressedDigit == 'M')
            {
                ChangeSign();
            }
            else if (inPressedDigit == 'C')
            {
                _display.Clear();
            }
            else if (inPressedDigit == 'O')
            {
                _display.Clear();
                _lastResult  = double.NaN;
                _lastPressed = ButtonCategory.Nothing;
            }
            else if (inPressedDigit == 'P')
            {
                _memory = _display.CurrentState;
            }
            else if (inPressedDigit == 'G')
            {
                _display.Print(_memory);
            }
            else
            {
                HandleOperator(inPressedDigit);
            }
        }
        public void InterpolateBetween(ButtonCategory firstState, ButtonCategory secondState, float interpolationValue)
        {
                #if DEBUG
            if (float.IsNaN(interpolationValue))
            {
                throw new System.Exception("interpolationValue cannot be NaN");
            }
                #endif
            switch (firstState)
            {
            case  ButtonCategory.Enabled:
                break;

            case  ButtonCategory.Disabled:
                break;

            case  ButtonCategory.Highlighted:
                break;

            case  ButtonCategory.Pushed:
                break;
            }
            switch (secondState)
            {
            case  ButtonCategory.Enabled:
                break;

            case  ButtonCategory.Disabled:
                break;

            case  ButtonCategory.Highlighted:
                break;

            case  ButtonCategory.Pushed:
                break;
            }
            if (interpolationValue < 1)
            {
                mCurrentButtonCategoryState = firstState;
            }
            else
            {
                mCurrentButtonCategoryState = secondState;
            }
        }
Example #10
0
 public FlatRedBall.Glue.StateInterpolation.Tweener InterpolateToRelative(ButtonCategory toState, double secondsToTake, FlatRedBall.Glue.StateInterpolation.InterpolationType interpolationType, FlatRedBall.Glue.StateInterpolation.Easing easing, object owner = null)
 {
     Gum.DataTypes.Variables.StateSave           current       = GetCurrentValuesOnState(toState);
     Gum.DataTypes.Variables.StateSave           toAsStateSave = AddToCurrentValuesWithState(toState);
     FlatRedBall.Glue.StateInterpolation.Tweener tweener       = new FlatRedBall.Glue.StateInterpolation.Tweener(from: 0, to: 1, duration: (float)secondsToTake, type: interpolationType, easing: easing);
     if (owner == null)
     {
         tweener.Owner = this;
     }
     else
     {
         tweener.Owner = owner;
     }
     tweener.PositionChanged = newPosition => this.InterpolateBetween(current, toAsStateSave, newPosition);
     tweener.Ended          += () => this.CurrentButtonCategoryState = toState;
     tweener.Start();
     StateInterpolationPlugin.TweenerManager.Self.Add(tweener);
     return(tweener);
 }
        private Gum.DataTypes.Variables.StateSave AddToCurrentValuesWithState(ButtonCategory state)
        {
            Gum.DataTypes.Variables.StateSave newState = new Gum.DataTypes.Variables.StateSave();
            switch (state)
            {
            case  ButtonCategory.Enabled:
                break;

            case  ButtonCategory.Disabled:
                break;

            case  ButtonCategory.Highlighted:
                break;

            case  ButtonCategory.Pushed:
                break;
            }
            return(newState);
        }
Example #12
0
        private void HandleDigit(char digit)
        {
            if (_display.CurrentState == "0" && digit == '0')
            {
                return;
            }

            if (_lastPressed == ButtonCategory.BinaryOperator && double.IsNaN(_lastResult))
            {
                _lastResult = _display.ParseDisplay();
            }

            if (_lastPressed != ButtonCategory.Comma && _lastPressed != ButtonCategory.Digit)
            {
                _display.Delete();
            }

            _display.Append(digit);
            _lastPressed = ButtonCategory.Digit;
        }
        private bool IsVisible(CockpitMode mode, ButtonCategory category)
        {
            switch (category)
            {
            case ButtonCategory.Cockpit:
                return(mode.HasFlag(CockpitMode.Cockpit));

            case ButtonCategory.ShipCockpit:
                return(mode.HasFlag(CockpitMode.Cockpit) && mode.HasFlag(CockpitMode.InShip));

            case ButtonCategory.MainShipCockpit:
                return(mode.HasFlag(CockpitMode.Cockpit) && mode.HasFlag(CockpitMode.InMainShip));

            case ButtonCategory.FighterCockpit:
                return(mode.HasFlag(CockpitMode.Cockpit) && mode.HasFlag(CockpitMode.InFighter));

            case ButtonCategory.SRVCockpit:
                return(mode.HasFlag(CockpitMode.Cockpit) && mode.HasFlag(CockpitMode.InSRV));

            default:
                throw new Exception("Unknown CockpitMode");
            }
        }
 /// <summary>
 /// Call in HudManager.Start
 /// </summary>
 public CooldownButton(Action onClick, float cooldown, string imageEmbededResourcePath, Vector2 positionOffset, ButtonCategory category, HudManager hudManager) : this(Assembly.GetCallingAssembly(), onClick, cooldown, imageEmbededResourcePath, positionOffset, category, hudManager, false, 0F, null)
 {
 }
 /// <summary>
 /// Call in HudManager.Start
 /// </summary>
 public CooldownButton(Action onClick, float cooldown, string imageEmbededResourcePath, Vector2 positionOffset, ButtonCategory category, HudManager hudManager, float effectDuration, Action onEffectEnd) : this(Assembly.GetCallingAssembly(), onClick, cooldown, imageEmbededResourcePath, positionOffset, category, hudManager, true, effectDuration, onEffectEnd)
 {
 }
Example #16
0
        private Gum.DataTypes.Variables.StateSave AddToCurrentValuesWithState(ButtonCategory state)
        {
            Gum.DataTypes.Variables.StateSave newState = new Gum.DataTypes.Variables.StateSave();
            switch (state)
            {
            case  ButtonCategory.Enabled:
                newState.Variables.Add(new Gum.DataTypes.Variables.VariableSave()
                {
                    SetsValue = true,
                    Name      = "SpriteInstance.Alpha",
                    Type      = "int",
                    Value     = SpriteInstance.Alpha + 255
                }
                                       );
                newState.Variables.Add(new Gum.DataTypes.Variables.VariableSave()
                {
                    SetsValue = true,
                    Name      = "SpriteInstance.Blue",
                    Type      = "int",
                    Value     = SpriteInstance.Blue + 255
                }
                                       );
                newState.Variables.Add(new Gum.DataTypes.Variables.VariableSave()
                {
                    SetsValue = true,
                    Name      = "SpriteInstance.Green",
                    Type      = "int",
                    Value     = SpriteInstance.Green + 255
                }
                                       );
                newState.Variables.Add(new Gum.DataTypes.Variables.VariableSave()
                {
                    SetsValue = true,
                    Name      = "SpriteInstance.Red",
                    Type      = "int",
                    Value     = SpriteInstance.Red + 255
                }
                                       );
                break;

            case  ButtonCategory.Disabled:
                newState.Variables.Add(new Gum.DataTypes.Variables.VariableSave()
                {
                    SetsValue = true,
                    Name      = "SpriteInstance.Alpha",
                    Type      = "int",
                    Value     = SpriteInstance.Alpha + 100
                }
                                       );
                newState.Variables.Add(new Gum.DataTypes.Variables.VariableSave()
                {
                    SetsValue = true,
                    Name      = "SpriteInstance.Blue",
                    Type      = "int",
                    Value     = SpriteInstance.Blue + 100
                }
                                       );
                newState.Variables.Add(new Gum.DataTypes.Variables.VariableSave()
                {
                    SetsValue = true,
                    Name      = "SpriteInstance.Green",
                    Type      = "int",
                    Value     = SpriteInstance.Green + 100
                }
                                       );
                newState.Variables.Add(new Gum.DataTypes.Variables.VariableSave()
                {
                    SetsValue = true,
                    Name      = "SpriteInstance.Red",
                    Type      = "int",
                    Value     = SpriteInstance.Red + 100
                }
                                       );
                break;

            case  ButtonCategory.Highlighted:
                newState.Variables.Add(new Gum.DataTypes.Variables.VariableSave()
                {
                    SetsValue = true,
                    Name      = "SpriteInstance.Alpha",
                    Type      = "int",
                    Value     = SpriteInstance.Alpha + 255
                }
                                       );
                newState.Variables.Add(new Gum.DataTypes.Variables.VariableSave()
                {
                    SetsValue = true,
                    Name      = "SpriteInstance.Blue",
                    Type      = "int",
                    Value     = SpriteInstance.Blue + 255
                }
                                       );
                newState.Variables.Add(new Gum.DataTypes.Variables.VariableSave()
                {
                    SetsValue = true,
                    Name      = "SpriteInstance.Green",
                    Type      = "int",
                    Value     = SpriteInstance.Green + 255
                }
                                       );
                newState.Variables.Add(new Gum.DataTypes.Variables.VariableSave()
                {
                    SetsValue = true,
                    Name      = "SpriteInstance.Red",
                    Type      = "int",
                    Value     = SpriteInstance.Red + 0
                }
                                       );
                break;

            case  ButtonCategory.Pushed:
                newState.Variables.Add(new Gum.DataTypes.Variables.VariableSave()
                {
                    SetsValue = true,
                    Name      = "SpriteInstance.Alpha",
                    Type      = "int",
                    Value     = SpriteInstance.Alpha + 255
                }
                                       );
                newState.Variables.Add(new Gum.DataTypes.Variables.VariableSave()
                {
                    SetsValue = true,
                    Name      = "SpriteInstance.Blue",
                    Type      = "int",
                    Value     = SpriteInstance.Blue + 255
                }
                                       );
                newState.Variables.Add(new Gum.DataTypes.Variables.VariableSave()
                {
                    SetsValue = true,
                    Name      = "SpriteInstance.Green",
                    Type      = "int",
                    Value     = SpriteInstance.Green + 255
                }
                                       );
                newState.Variables.Add(new Gum.DataTypes.Variables.VariableSave()
                {
                    SetsValue = true,
                    Name      = "SpriteInstance.Red",
                    Type      = "int",
                    Value     = SpriteInstance.Red + 0
                }
                                       );
                break;
            }
            return(newState);
        }
Example #17
0
        public void InterpolateBetween(ButtonCategory firstState, ButtonCategory secondState, float interpolationValue)
        {
                #if DEBUG
            if (float.IsNaN(interpolationValue))
            {
                throw new System.Exception("interpolationValue cannot be NaN");
            }
                #endif
            bool setSpriteInstanceAlphaFirstValue  = false;
            bool setSpriteInstanceAlphaSecondValue = false;
            int  SpriteInstanceAlphaFirstValue     = 0;
            int  SpriteInstanceAlphaSecondValue    = 0;
            bool setSpriteInstanceBlueFirstValue   = false;
            bool setSpriteInstanceBlueSecondValue  = false;
            int  SpriteInstanceBlueFirstValue      = 0;
            int  SpriteInstanceBlueSecondValue     = 0;
            bool setSpriteInstanceGreenFirstValue  = false;
            bool setSpriteInstanceGreenSecondValue = false;
            int  SpriteInstanceGreenFirstValue     = 0;
            int  SpriteInstanceGreenSecondValue    = 0;
            bool setSpriteInstanceRedFirstValue    = false;
            bool setSpriteInstanceRedSecondValue   = false;
            int  SpriteInstanceRedFirstValue       = 0;
            int  SpriteInstanceRedSecondValue      = 0;
            switch (firstState)
            {
            case  ButtonCategory.Enabled:
                setSpriteInstanceAlphaFirstValue = true;
                SpriteInstanceAlphaFirstValue    = 255;
                setSpriteInstanceBlueFirstValue  = true;
                SpriteInstanceBlueFirstValue     = 255;
                setSpriteInstanceGreenFirstValue = true;
                SpriteInstanceGreenFirstValue    = 255;
                setSpriteInstanceRedFirstValue   = true;
                SpriteInstanceRedFirstValue      = 255;
                break;

            case  ButtonCategory.Disabled:
                setSpriteInstanceAlphaFirstValue = true;
                SpriteInstanceAlphaFirstValue    = 100;
                setSpriteInstanceBlueFirstValue  = true;
                SpriteInstanceBlueFirstValue     = 100;
                setSpriteInstanceGreenFirstValue = true;
                SpriteInstanceGreenFirstValue    = 100;
                setSpriteInstanceRedFirstValue   = true;
                SpriteInstanceRedFirstValue      = 100;
                break;

            case  ButtonCategory.Highlighted:
                setSpriteInstanceAlphaFirstValue = true;
                SpriteInstanceAlphaFirstValue    = 255;
                setSpriteInstanceBlueFirstValue  = true;
                SpriteInstanceBlueFirstValue     = 255;
                setSpriteInstanceGreenFirstValue = true;
                SpriteInstanceGreenFirstValue    = 255;
                setSpriteInstanceRedFirstValue   = true;
                SpriteInstanceRedFirstValue      = 0;
                break;

            case  ButtonCategory.Pushed:
                setSpriteInstanceAlphaFirstValue = true;
                SpriteInstanceAlphaFirstValue    = 255;
                setSpriteInstanceBlueFirstValue  = true;
                SpriteInstanceBlueFirstValue     = 255;
                setSpriteInstanceGreenFirstValue = true;
                SpriteInstanceGreenFirstValue    = 255;
                setSpriteInstanceRedFirstValue   = true;
                SpriteInstanceRedFirstValue      = 0;
                break;
            }
            switch (secondState)
            {
            case  ButtonCategory.Enabled:
                setSpriteInstanceAlphaSecondValue = true;
                SpriteInstanceAlphaSecondValue    = 255;
                setSpriteInstanceBlueSecondValue  = true;
                SpriteInstanceBlueSecondValue     = 255;
                setSpriteInstanceGreenSecondValue = true;
                SpriteInstanceGreenSecondValue    = 255;
                setSpriteInstanceRedSecondValue   = true;
                SpriteInstanceRedSecondValue      = 255;
                break;

            case  ButtonCategory.Disabled:
                setSpriteInstanceAlphaSecondValue = true;
                SpriteInstanceAlphaSecondValue    = 100;
                setSpriteInstanceBlueSecondValue  = true;
                SpriteInstanceBlueSecondValue     = 100;
                setSpriteInstanceGreenSecondValue = true;
                SpriteInstanceGreenSecondValue    = 100;
                setSpriteInstanceRedSecondValue   = true;
                SpriteInstanceRedSecondValue      = 100;
                break;

            case  ButtonCategory.Highlighted:
                setSpriteInstanceAlphaSecondValue = true;
                SpriteInstanceAlphaSecondValue    = 255;
                setSpriteInstanceBlueSecondValue  = true;
                SpriteInstanceBlueSecondValue     = 255;
                setSpriteInstanceGreenSecondValue = true;
                SpriteInstanceGreenSecondValue    = 255;
                setSpriteInstanceRedSecondValue   = true;
                SpriteInstanceRedSecondValue      = 0;
                break;

            case  ButtonCategory.Pushed:
                setSpriteInstanceAlphaSecondValue = true;
                SpriteInstanceAlphaSecondValue    = 255;
                setSpriteInstanceBlueSecondValue  = true;
                SpriteInstanceBlueSecondValue     = 255;
                setSpriteInstanceGreenSecondValue = true;
                SpriteInstanceGreenSecondValue    = 255;
                setSpriteInstanceRedSecondValue   = true;
                SpriteInstanceRedSecondValue      = 0;
                break;
            }
            if (setSpriteInstanceAlphaFirstValue && setSpriteInstanceAlphaSecondValue)
            {
                SpriteInstance.Alpha = FlatRedBall.Math.MathFunctions.RoundToInt(SpriteInstanceAlphaFirstValue * (1 - interpolationValue) + SpriteInstanceAlphaSecondValue * interpolationValue);
            }
            if (setSpriteInstanceBlueFirstValue && setSpriteInstanceBlueSecondValue)
            {
                SpriteInstance.Blue = FlatRedBall.Math.MathFunctions.RoundToInt(SpriteInstanceBlueFirstValue * (1 - interpolationValue) + SpriteInstanceBlueSecondValue * interpolationValue);
            }
            if (setSpriteInstanceGreenFirstValue && setSpriteInstanceGreenSecondValue)
            {
                SpriteInstance.Green = FlatRedBall.Math.MathFunctions.RoundToInt(SpriteInstanceGreenFirstValue * (1 - interpolationValue) + SpriteInstanceGreenSecondValue * interpolationValue);
            }
            if (setSpriteInstanceRedFirstValue && setSpriteInstanceRedSecondValue)
            {
                SpriteInstance.Red = FlatRedBall.Math.MathFunctions.RoundToInt(SpriteInstanceRedFirstValue * (1 - interpolationValue) + SpriteInstanceRedSecondValue * interpolationValue);
            }
            if (interpolationValue < 1)
            {
                mCurrentButtonCategoryState = firstState;
            }
            else
            {
                mCurrentButtonCategoryState = secondState;
            }
        }
Example #18
0
        public void ChangeButtonLED(ButtonCategory category, int index, bool state)
        {
            var selector = (byte)(category + index);

            Output.WriteShort(MidiStatusByte.ControlChange, selector, (byte)(state ? 0x7F : 0x00));
        }