public FilterParameterTileViewModel(ImageFilterParam p)
        {
            Name    = p.Name;
            Min     = p.Min;
            Max     = p.Max;
            Default = p.Default;
            Step    = p.Step;
            Value   = p.Default;

            Increase = ReactiveCommand.Create();
            Increase.Subscribe(_ =>
            {
                if (Value + Step < Max)
                {
                    Value += Step;
                }
            });

            Decrease = ReactiveCommand.Create();
            Decrease.Subscribe(_ =>
            {
                if (Value - Step > Min)
                {
                    Value -= Step;
                }
            });
        }
        public void IncreaseAddsCorrectly()
        {
            var instruction  = new Increase("test", 3);
            var instructions = new SceneInstructions();

            instructions.Add(instruction);
            var result = Assert.Single(instructions.Instructions);

            Assert.Equal(instruction, result);
        }
예제 #3
0
        //<increase>//
        public string Visit(Increase node)
        {
            var sb = new StringBuilder();

            sb.Append("\t\tldloc '" + node.AnchorToken.Lexeme + "'\n");
            sb.Append("\t\tldc.i4.1\n");
            sb.Append("\t\tadd.ovf\n");
            sb.Append("\t\tstloc '" + node.AnchorToken.Lexeme + "'\n");
            return(sb.ToString());
        }
예제 #4
0
        public override void ApplyState(AirBrakeHandleState newState)
        {
            if ((int)newState != Driver)
            {
                // sound when moved to service
                if (newState == AirBrakeHandleState.Service)
                {
                    baseTrain.Cars[baseTrain.DriverCar].CarBrake.Release.Play(baseTrain.Cars[baseTrain.DriverCar], false);
                }

                // sound
                if ((int)newState < Driver)
                {
                    // brake release
                    if (newState > 0)
                    {
                        // brake release (not min)
                        if (Driver - (int)newState > 2 | ContinuousMovement && DecreaseFast.Buffer != null)
                        {
                            DecreaseFast.Play(baseTrain.Cars[baseTrain.DriverCar], false);
                        }
                        else
                        {
                            Decrease.Play(baseTrain.Cars[baseTrain.DriverCar], false);
                        }
                    }
                    else
                    {
                        // brake min
                        Min.Play(baseTrain.Cars[baseTrain.DriverCar], false);
                    }
                }
                else if ((int)newState > Driver)
                {
                    // brake
                    if ((int)newState - Driver > 2 | ContinuousMovement && IncreaseFast.Buffer != null)
                    {
                        IncreaseFast.Play(baseTrain.Cars[baseTrain.DriverCar], false);
                    }
                    else
                    {
                        Increase.Play(baseTrain.Cars[baseTrain.DriverCar], false);
                    }
                }

                Driver = (int)newState;
                TrainManagerBase.currentHost.AddBlackBoxEntry();
                // plugin
                if (baseTrain.Plugin != null)
                {
                    baseTrain.Plugin.UpdatePower();
                    baseTrain.Plugin.UpdateBrake();
                }
            }
        }
예제 #5
0
 //恢复
 public void Recover()
 {
     LastUseSkillID = -1;
     increase = new Increase();
     StatModifiers = new StatModifiers();
     SetAbnormalStateEnum(AbnormalStateEnum.Normal);
     ClearChangeStates();
     curHealth = Health;
     InitPokemonData();
     
 }
예제 #6
0
        //Side function for statement starting with id//
        public Node stmtId()
        {
            var stmtidN = new Node();
            var myT     = Expect(TokenCategory.IDENTIFIER);
            var funky   = new FunCall()
            {
                AnchorToken = myT
            };

            stmtidN = new Identifier()
            {
                AnchorToken = myT
            };

            switch (CurrentToken)
            {
            case TokenCategory.ASSIGN:
                Expect(TokenCategory.ASSIGN);
                stmtidN = new Assign()
                {
                    AnchorToken = myT
                };
                stmtidN.Add(Expression());
                Expect(TokenCategory.SEMICOLON);
                break;

            case TokenCategory.INCREASE:
                Expect(TokenCategory.INCREASE);
                stmtidN = new Increase()
                {
                    AnchorToken = myT
                };
                Expect(TokenCategory.SEMICOLON);
                break;

            case TokenCategory.DECREASE:
                Expect(TokenCategory.DECREASE);
                stmtidN = new Decrease()
                {
                    AnchorToken = myT
                };
                Expect(TokenCategory.SEMICOLON);
                break;

            case TokenCategory.PARENTHESIS_OPEN:
                stmtidN = funky;
                Expect(TokenCategory.PARENTHESIS_OPEN);
                stmtidN.Add(ExpressionList());
                Expect(TokenCategory.PARENTHESIS_CLOSE);
                Expect(TokenCategory.SEMICOLON);
                break;
            }
            return(stmtidN);
        }
예제 #7
0
        //-----------------------------------------------------------
        //<increase>//
        public void Visit(Increase node, char i)
        {
            var variableName = node.AnchorToken.Lexeme;
            var fctemp       = FunMethods[currentFunc];

            if (!fctemp.ParticularFunction.Contains(variableName) && !GlobalVarsTable.Contains(variableName))
            {
                throw new SemanticError(
                          "Undeclared var: " + variableName,
                          node.AnchorToken);
            }
        }
예제 #8
0
        public string GenerateCommand()
        {
            StringBuilder sb = new StringBuilder();

            sb.Append("{");
            sb.Append("\"movements\":[");
            for (int index = 0; index < movements.Count; index++)
            {
                if (index > 0)
                {
                    sb.Append(",");
                }
                Movement movement = movements[index];
                sb.Append("{");
                sb.Append("\"count\":");
                sb.Append(movement.Count);
                sb.Append(",\"region\":{\"x\":");
                sb.Append(movement.Region.x);
                sb.Append(",\"y\":");
                sb.Append(movement.Region.y);
                sb.Append("},\"direction\":");
                sb.AppendFormat("\"{0}\"", DirectionToString(movement.Direction));
                sb.Append("}");
            }
            sb.Append("],");
            sb.Append("\"increase\":[");
            for (int index = 0; index < increases.Count; index++)
            {
                if (index > 0)
                {
                    sb.Append(",");
                }
                Increase increase = increases[index];
                sb.Append("{");
                sb.Append("\"count\":");
                sb.Append(increase.Count);
                sb.Append(",\"region\":{\"x\":");
                sb.Append(increase.Region.x);
                sb.Append(",\"y\":");
                sb.Append(increase.Region.y);
                sb.Append("}}");
            }
            sb.Append("]");
            sb.Append("}");
            return(sb.ToString());
        }
예제 #9
0
        public (Instruments.Trade trade, ProductEvent increaseEvent) IncreaseOption(Instruments.Trade trade, decimal deltaQuantity)
        {
            var newVersion = trade.Clone();

            var tid = _connector.GenerateUniqueIds("trade_id", 1);

            newVersion.Version++;
            newVersion.Id = tid[0];

            newVersion.Timestamp = DateTime.Now;
            var option = (EquityOption)newVersion.Product;

            option.Quantity += deltaQuantity;

            trade.IsLastVersion = false;

            var eid = _connector.GenerateUniqueIds("event_id", 1);


            var evt = new Increase(eid[0], deltaQuantity, trade.ContractId);

            return(newVersion, evt);
        }
 public override string ToDebugString()
 {
     return($"{ToolBox.GetDebugSymbol(isFinished)} {nameof(ReputationAction)} -> (FactionIdentifier: {Identifier.ColorizeObject()}, TargetType: {TargetType.ColorizeObject()}, Increase: {Increase.ColorizeObject()})");
 }
예제 #11
0
        public override void ApplyState(int newState, bool relativeChange, bool isOverMaxDriverNotch = false)
        {
            // determine notch
            int p = relativeChange ? newState + Driver : newState;

            if (p < 0)
            {
                p = 0;
            }
            else if (p > MaximumNotch)
            {
                p = MaximumNotch;
            }
            if (!isOverMaxDriverNotch && p > MaximumDriverNotch)
            {
                p = MaximumDriverNotch;
            }

            // power sound
            if (p < Driver)
            {
                if (p > 0)
                {
                    // down (not min)
                    if (Driver - p > 2 | ContinuousMovement && DecreaseFast.Buffer != null)
                    {
                        DecreaseFast.Play(baseTrain.Cars[baseTrain.DriverCar], false);
                    }
                    else
                    {
                        Decrease.Play(baseTrain.Cars[baseTrain.DriverCar], false);
                    }
                }
                else
                {
                    // min
                    Min.Play(baseTrain.Cars[baseTrain.DriverCar], false);
                }
            }
            else if (p > Driver)
            {
                if (p < MaximumDriverNotch)
                {
                    // up (not max)
                    if (Driver - p > 2 | ContinuousMovement && IncreaseFast.Buffer != null)
                    {
                        IncreaseFast.Play(baseTrain.Cars[baseTrain.DriverCar], false);
                    }
                    else
                    {
                        Increase.Play(baseTrain.Cars[baseTrain.DriverCar], false);
                    }
                }
                else
                {
                    // max
                    Max.Play(baseTrain.Cars[baseTrain.DriverCar], false);
                }
            }

            if (baseTrain.Handles.HandleType != HandleType.TwinHandle && baseTrain.Handles.Brake.Driver != 0)
            {
                p = 0;
            }
            Driver = p;
            TrainManagerBase.currentHost.AddBlackBoxEntry();
            // plugin
            if (baseTrain.Plugin != null)
            {
                baseTrain.Plugin.UpdatePower();
                baseTrain.Plugin.UpdateBrake();
            }
        }
예제 #12
0
        public override void ApplyState(int BrakeValue, bool BrakeRelative, bool IsOverMaxDriverNotch = false)
        {
            int b = BrakeRelative ? BrakeValue + Driver : BrakeValue;

            if (b < 0)
            {
                b = 0;
            }
            else if (b > MaximumNotch)
            {
                b = MaximumNotch;
            }
            if (!IsOverMaxDriverNotch && b > MaximumDriverNotch)
            {
                b = MaximumDriverNotch;
            }

            // brake sound
            if (b < Driver)
            {
                // brake release
                baseTrain.Cars[baseTrain.DriverCar].CarBrake.Release.Play(baseTrain.Cars[baseTrain.DriverCar], false);

                if (b > 0)
                {
                    // brake release (not min)
                    if (Driver - b > 2 | ContinuousMovement && DecreaseFast.Buffer != null)
                    {
                        DecreaseFast.Play(baseTrain.Cars[baseTrain.DriverCar], false);
                    }
                    else
                    {
                        Decrease.Play(baseTrain.Cars[baseTrain.DriverCar], false);
                    }
                }
                else
                {
                    // brake min
                    Min.Play(baseTrain.Cars[baseTrain.DriverCar], false);
                }
            }
            else if (b > Driver)
            {
                // brake
                if (b - Driver > 2 | ContinuousMovement && IncreaseFast.Buffer != null)
                {
                    IncreaseFast.Play(baseTrain.Cars[baseTrain.DriverCar], false);
                }
                else
                {
                    Increase.Play(baseTrain.Cars[baseTrain.DriverCar], false);
                }
            }

            Driver = b;
            TrainManagerBase.currentHost.AddBlackBoxEntry();
            // plugin
            if (baseTrain.Plugin != null)
            {
                baseTrain.Plugin.UpdatePower();
                baseTrain.Plugin.UpdateBrake();
            }
        }