Example #1
0
        public void Add(string[] arguments)
        {
            UnityEngine.Debug.LogError("LSharpCharacter Add");
            int    npcId        = int.Parse(arguments[0]);
            string action       = arguments[1];
            string directionStr = arguments[2];
            int    x            = int.Parse(arguments[3]);
            int    y            = int.Parse(arguments[4]);
            bool   isPlayer     = arguments.Length > 5 && arguments[5] == "true";

            Model.ActionType actionType = (Model.ActionType)Enum.Parse(typeof(Model.ActionType), action);
            Model.Direction  direction  = (Model.Direction)Enum.Parse(typeof(Model.Direction), directionStr, true);
            Global.sharpEvent.DispatchAddCharacter(npcId, actionType, direction, x, y, isPlayer);
            LSharpScript.Instance.Analysis();
        }
Example #2
0
        /// <summary>
        /// 90 degree rotation of the cube in circular with rotation axis-x direction
        /// </summary>
        /// <param name="direction">The direction (left/right) of the cube</param>
        public void rotateCircular90(Model.Direction direction, bool isRecorded = true)
        {
            string directionText = direction.ToString();

            rotateSurface(Model.CubeSurface.Front, direction, false);
            rotateSurface(Model.CubeSurface.MiddleCircular, direction, false);
            rotateSurface(Model.CubeSurface.Back, direction == Model.Direction.Right ? Model.Direction.Left : Model.Direction.Right, false);
            string imgLocation = direction == Model.Direction.Right ? ImageLocation.CircularRight90 : ImageLocation.CircularLeft90;

            if (isRecorded)
            {
                // Step +1
                this.numberSteps++;
                this.History.Add(new Model.HistoryItem(this.Clone(), NumberSteps, String.Format("90 degree circular {0}", directionText), imgLocation));
            }
        }
Example #3
0
        /// <summary>
        /// 90 degree rotation of the cube with rotation axis-y in horizontal direction
        /// </summary>
        /// <param name="direction">The direction (left/right) of the cube</param>
        public void rotateHorizontal90(Model.Direction direction, bool isRecorded = true)
        {
            string directionText = direction.ToString();

            rotateSurface(Model.CubeSurface.Top, direction, false);
            rotateSurface(Model.CubeSurface.MiddleHorizontal, direction, false);
            rotateSurface(Model.CubeSurface.Bottom, direction == Model.Direction.Right ? Model.Direction.Left : Model.Direction.Right, false);
            string imgLocation = direction == Model.Direction.Right ? ImageLocation.HorizontalRight90 : ImageLocation.HorizontalLeft90;

            if (isRecorded)
            {
                // Step +1
                this.numberSteps++;
                this.History.Add(new Model.HistoryItem(this.Clone(), NumberSteps, String.Format("90 degree horizontal {0}", directionText), imgLocation));
            }
        }
Example #4
0
 private void SetDirection(Int32 d)
 {
     dir = (Model.Direction)d;
 }
Example #5
0
        public SettingsViewModel()
        {
            base.DisplayName   = "SettingsViewModel";
            _rotationDirection = (Model.Direction)Properties.Settings.Default.RotationDirection;
            _numberOfSteps     = Properties.Settings.Default.NumberOfSteps;
            _motorVelocity     = Properties.Settings.Default.MotorVelocity;
            _motorContVelocity = Properties.Settings.Default.MotorContinuousVelocity;
            _motorPort         = Properties.Settings.Default.MotorPort;
            MotorStepsPerRev   = Properties.Settings.Default.MotorStepsPerRev;
            SaveMeasurement    = Properties.Settings.Default.SaveMeasuments;
            MeasurementFolder  = Properties.Settings.Default.MeasurementsFolder;
            Saturation         = (double)Properties.Settings.Default.Saturation;
            Hue                       = (double)Properties.Settings.Default.Hue;
            Gamma                     = (double)Properties.Settings.Default.Gamma;
            WBConvergence             = (double)Properties.Settings.Default.WBConvergence;
            WBAdjust                  = Properties.Settings.Default.WBIncrement;
            FrameRate                 = Properties.Settings.Default.FrameRate;
            MeasurementFileExtension  = Properties.Settings.Default.MeasurementsFileExtension.ToUpper() == ".BMP" ? 1 : 0;
            CalculateColorAtStep      = Properties.Settings.Default.CalculateColorAtStep;
            CropLeft                  = Properties.Settings.Default.CropLeft;
            CropTop                   = Properties.Settings.Default.CropTop;
            CropWidth                 = Properties.Settings.Default.CropWidth;
            CropHeight                = Properties.Settings.Default.CropHeight;
            CrossHairVerticalOffset   = Properties.Settings.Default.CrossHairVerticalOffsetPercent;
            CrossHairHorizontalOffset = Properties.Settings.Default.CrossHairHorizontalOffsetPercent;
            CrossHairBrush            = Properties.Settings.Default.CrossHairBrush;
            ExtractToTextFile         = Properties.Settings.Default.ExtractToTextFile;
            TextFilePath              = Properties.Settings.Default.TextFilePath;
            MetrologyFilePath         = Properties.Settings.Default.MetrologyFilePath;
            WBInitialize              = Properties.Settings.Default.WBInitialize;
            WBInitialBlue             = Properties.Settings.Default.WBInitializeBlue;
            WBInitialRed              = Properties.Settings.Default.WBInitializeRed;
            Time                      = Properties.Settings.Default.Time;
            Temperature               = Properties.Settings.Default.Temperature;
            ShutterTimeMs             = Properties.Settings.Default.ShutterTime;
            ShutterTimeDiffMs         = Properties.Settings.Default.ShutterTimeDiff;
            WBRedDiff                 = GlobalVariables.LightStableSettings.RedWBDiff;
            WBBlueDiff                = GlobalVariables.LightStableSettings.BlueWBDiff;
            CameraTempDiffMs          = Properties.Settings.Default.CameraTempDiff;
            ADiffMs                   = Properties.Settings.Default.ADiff;
            BDiffMs                   = Properties.Settings.Default.BDiff;
            AutoOpenClose             = Properties.Settings.Default.AutoOpenClose;

            ExtractCalDataToTextFile = Properties.Settings.Default.ExtractCalDataToTextFile;
            CalDataTextFilePath      = Properties.Settings.Default.CalDataTextFilePath;
            int[] selectedCalStoneArray;
            try
            {
                selectedCalStoneArray =
                    Properties.Settings.Default.DailyMonitorTargetList.Split(',').Select(s => Int32.Parse(s)).ToArray();
                if (selectedCalStoneArray.Length < 2)
                {
                    Properties.Settings.Default.DailyMonitorTargetList = String.Empty;
                    selectedCalStoneArray = new int[0];
                }
            }
            catch
            {
                selectedCalStoneArray = new int[0];
            }
            DataTable dt = new DataTable();

            dt.Columns.Add("Target");
            for (int i = 0; i < selectedCalStoneArray.Length; i++)
            {
                DataRow row = dt.NewRow();
                row["Target"] = TargetCalStoneList.Rows[selectedCalStoneArray[i]]["Target"];
                dt.Rows.Add(row);
            }
            SelectedCalStoneList = dt;

            Lconv  = Properties.Settings.Default.LConv;
            Aconv  = Properties.Settings.Default.AConv;
            Bconv  = Properties.Settings.Default.BConv;
            Lshift = Properties.Settings.Default.Lshift;
            Ashift = Properties.Settings.Default.Ashift;
            Bshift = Properties.Settings.Default.Bshift;


            CommandClose             = new RelayCommand(param => this.Close(param));
            CommandUpdateSettings    = new RelayCommand(param => this.UpdateSettings(param));
            CommandMeasurementFolder = new RelayCommand(param => this.SelectMeasurementFolder());
            CommandTextFilePath      = new RelayCommand(param => this.SelectTextFilePath());
            CommandMetrologyFilePath = new RelayCommand(param => this.SelectMetrologyFilePath());

            CommandCalDataTextFilePath = new RelayCommand(param => this.SelectCalDataTextFilePath());
            CommandAddTarget           = new RelayCommand(param => this.AddTargetStone());
            CommandRemoveTarget        = new RelayCommand(param => this.RemoveTargetStone());

            _connectedCamera = MainWindowViewModel.ControlVM.ConnectedCamera;
        }