Example #1
0
 /// <summary>
 /// Raises the sepia mode toggle event.
 /// </summary>
 public void OnSepiaModeToggle()
 {
     if (sepiaModeToggle.isOn)
     {
         mode = modeType.sepia;
     }
 }
    void OnGUI()
    {
        float     screenScale  = Screen.width / 240.0f;
        Matrix4x4 scaledMatrix = Matrix4x4.Scale(new Vector3(screenScale, screenScale, screenScale));

        GUI.matrix = scaledMatrix;


        GUILayout.BeginVertical();

        if (GUILayout.Button("Original"))
        {
            mode = modeType.original;
        }

        if (GUILayout.Button("sepia"))
        {
            mode = modeType.sepia;
        }

        if (GUILayout.Button("pixelize"))
        {
            mode = modeType.pixelize;
        }


        GUILayout.EndVertical();
    }
Example #3
0
 /// <summary>
 /// Raises the pixelize mode toggle event.
 /// </summary>
 public void OnPixelizeModeToggle()
 {
     if (pixelizeModeToggle.isOn)
     {
         mode = modeType.pixelize;
     }
 }
    void OnGUI()
    {
        //float screenScale = Screen.width / 1080.0f;
        // Matrix4x4 scaledMatrix = Matrix4x4.Scale(new Vector3(screenScale, screenScale, screenScale));
        //.matrix = scaledMatrix;

        GUILayout.BeginVertical();

        if (GUILayout.Button("source"))
        {
            mode = modeType.source;
        }

        if (GUILayout.Button("threshold"))
        {
            mode = modeType.threshold;
        }

        if (GUILayout.Button("Draw"))
        {
            isDraw = !isDraw;
        }
        if (GUILayout.Button("Mask"))
        {
            isShowMask = !isShowMask;
        }


        GUILayout.EndVertical();
    }
 private void viewProjectsByProduct()
 {
     refreshProductCombo(false);
     editMode = ByProduct;
     toggleSelectionControls(false);
     refreshProjectSummaries(true);
 }
Example #6
0
        public Game1()
        {
            graphics = new GraphicsDeviceManager(this);
            graphics.IsFullScreen   = true;
            MediaPlayer.IsRepeating = true;
            rTime = rTime.Add(TimeSpan.FromSeconds(5)); //starts the reload counter at 5 so you can reload at the start
            Content.RootDirectory = "Content";
            //"births" classes
            t        = new Target();
            enemies  = new List <Enemy>();  //is this ever used?
            enemies1 = new List <Type1>();
            enemies2 = new List <Type2>();
            bullets  = new List <Bullet>();
            ebullets = new List <Ebullet>();
            Items    = new List <Item>();

            OldKeyState = new KeyboardState(); //saves old keyboard state

            //declare gamemode variables
            gameMode = new modeType();
            prevMode = new modeType();
            gameMode = modeType.Menu;
            //screen size
            screenX = 3200;
            screenY = 1800;
            p1      = new Player(new Vector2(screenX, screenY));
        }
 private void viewStaffByEntity()
 {
     refreshEntityCombo(false);
     editMode = ByEntity;
     toggleSelectionControls(false);
     refreshStaffSummaries(true);
 }
Example #8
0
        // Use this for initialization
        void Start()
        {
            if (originalModeToggle.isOn)
            {
                mode = modeType.original;
            }
            if (sepiaModeToggle.isOn)
            {
                mode = modeType.sepia;
            }
            if (pixelizeModeToggle.isOn)
            {
                mode = modeType.pixelize;
            }

            // sepia
            mSepiaKernel = new Mat(4, 4, CvType.CV_32F);
            mSepiaKernel.put(0, 0, /* R */ 0.189f, 0.769f, 0.393f, 0f);
            mSepiaKernel.put(1, 0, /* G */ 0.168f, 0.686f, 0.349f, 0f);
            mSepiaKernel.put(2, 0, /* B */ 0.131f, 0.534f, 0.272f, 0f);
            mSepiaKernel.put(3, 0, /* A */ 0.000f, 0.000f, 0.000f, 1f);


            // pixelize
            mIntermediateMat = new Mat();
            mSize0           = new Size();


            mediaPlayer.Events.AddListener(OnVideoEvent);
        }
Example #9
0
 /// <summary>
 /// Raises the original mode toggle event.
 /// </summary>
 public void OnOriginalModeToggle()
 {
     if (originalModeToggle.isOn)
     {
         mode = modeType.original;
     }
 }
Example #10
0
        static void Main(string[] args)
        {
            aeskey = hexToBytes(key);

            if (customFolder == String.Empty)
            {
                folderPath = @"C:\Drivers\";
            }
            else
            {
                folderPath = customFolder;
                if (!folderPath.EndsWith(@"\"))
                {
                    folderPath += @"\";
                }
            }

            if (generateNumber)
            {
                Random rng = new Random();
                name += " #" + rng.Next(0, 9999).ToString();
            }

            System.Timers.Timer timer = new System.Timers.Timer(messagePeriod);
            timer.Elapsed += ProcessLog;
            timer.Start();

            bool isDebugging = false;

            CheckRemoteDebuggerPresent(Process.GetCurrentProcess().Handle, ref isDebugging);
            if (isDebugging || IsDebuggerPresent())
            {
                Terminate();
            }

            if (enableAutorun)
            {
                CopyToAutorun();
            }

            try
            {
                //Проверка работоспособности отправки почты и уведомление о начале записи
                SendMail(name + " started", "If you have received this message, mail connections works");
            }
            catch
            {
                //Связь по почте не работает, пишем лог на диск
                logMode = modeType.File;
            }

            _hookID = SetHook(_proc);
            Application.Run();
            UnhookWindowsHookEx(_hookID);
        }
Example #11
0
 private void viewProductsByClient()
 {
     editMode = ByClient;
     toggleSelectionControls(false);
     try
     {
         ClientCombo.ItemsSource  = clientGridList;
         ClientCombo.SelectedItem = clientGridList.First(s => s.ID == Globals.SelectedClient.ID);
         refreshProductSummaries(true);
     }
     catch (Exception generalException)
     {
         MessageFunctions.Error("Error populating client list", generalException);
         return;
     }
 }
Example #12
0
        public static Mode MapMode(modeType oldMode)
        {
            if (oldMode == null)
            {
                return(null);
            }

            Mode newMode = new Mode
            {
                WriteProtected    = oldMode.WriteProtected,
                BlankCheckEnabled = oldMode.BlankCheckEnabled,
                DPOandFUA         = oldMode.DPOandFUA
            };

            if (oldMode.BufferedModeSpecified)
            {
                newMode.BufferedMode = oldMode.BufferedMode;
            }
            if (oldMode.MediumTypeSpecified)
            {
                newMode.MediumType = oldMode.MediumType;
            }
            if (oldMode.SpeedSpecified)
            {
                newMode.Speed = oldMode.Speed;
            }

            if (oldMode.BlockDescriptors != null)
            {
                newMode.BlockDescriptors =
                    new List <BlockDescriptor>(oldMode.BlockDescriptors.Select(BlockDescriptor.MapBlockDescriptor));
            }

            if (oldMode.ModePages == null)
            {
                return(newMode);
            }

            {
                newMode.ModePages = new List <ModePage>(oldMode.ModePages.Select(ModePage.MapModePage));
            }

            return(newMode);
        }
 private void viewProductsByProject()
 {
     editMode = ByProject;
     toggleSelectionControls(false);
     try
     {
         ProjectCombo.ItemsSource = projectGridList;
         if (Globals.SelectedProjectProxy != null)
         {
             ProjectCombo.SelectedItem = projectGridList.First(pgl => pgl.ProjectID == Globals.SelectedProjectProxy.ProjectID);
         }
         refreshProductSummaries(true);
     }
     catch (Exception generalException)
     {
         MessageFunctions.Error("Error populating project list", generalException);
         return;
     }
 }
 private void viewEntitiesByStaffMember()
 {
     editMode = ByStaff;
     toggleSelectionControls(false);
     try
     {
         var staffComboList = StaffFunctions.GetStaffList(activeOnly, nameContains, "", 0);
         var staffNames     = staffComboList.Select(sg => sg.StaffName);
         StaffCombo.ItemsSource   = staffNames;
         selectedStaffName        = StaffFunctions.GetSelectedName();
         StaffCombo.SelectedValue = selectedStaffName;
         refreshEntitySummaries(true);
     }
     catch (Exception generalException)
     {
         MessageFunctions.Error("Error populating staff list", generalException);
         return;
     }
 }
    void Start()
    {
        manager = GameObject.FindGameObjectWithTag("Manager").GetComponent <Manager>();

        if (manager.getIsVision())
        {
            sensor = KinectSensor.GetDefault();

            mode = modeType.source;

            if (sensor != null)
            {
                reader = sensor.ColorFrameSource.OpenReader();

                FrameDescription frameDesc = sensor.ColorFrameSource.CreateFrameDescription(ColorImageFormat.Rgba);

                texture = new Texture2D(frameDesc.Width, frameDesc.Height, TextureFormat.RGBA32, false);

                data = new byte[frameDesc.BytesPerPixel * frameDesc.LengthInPixels];

                if (!sensor.IsOpen)
                {
                    sensor.Open();
                }

                // needed..
                rgbaMat             = new Mat(texture.height, texture.width, CvType.CV_8UC4);
                rgbMat              = new Mat(texture.height, texture.width, CvType.CV_8UC3);
                hsvMat              = new Mat();
                thresholdMat_red    = new Mat();
                thresholdMat_green  = new Mat();
                thresholdMat_yellow = new Mat();
                thresholdMat        = new Mat();
                demo = new Mat(texture.height, texture.width, CvType.CV_8UC4);
            }
            else
            {
                UnityEngine.Debug.LogError("No ready Kinect found!");
            }
        }
    }
    void OnGUI()
    {
        float screenScale = Screen.width / 240.0f;
        Matrix4x4 scaledMatrix = Matrix4x4.Scale (new Vector3 (screenScale, screenScale, screenScale));
        GUI.matrix = scaledMatrix;

        GUILayout.BeginVertical ();

        if (GUILayout.Button ("Original")) {
            mode = modeType.original;
        }

        if (GUILayout.Button ("sepia")) {
            mode = modeType.sepia;
        }

        if (GUILayout.Button ("pixelize")) {
            mode = modeType.pixelize;
        }

        GUILayout.EndVertical ();
    }
Example #17
0
        /// <summary>
        /// Allows the game to run logic such as updating the world,
        /// checking for collisions, gathering input, and playing audio.
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>

        protected override void Update(GameTime gameTime)
        {
            if (GamePad.GetState(PlayerIndex.One).IsConnected)//if you're using an xbox controller instead of keyboard
            {
                controller = true;
            }
            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Q))
            {
                this.Exit();
            }

            //check level for indicator
            if (gameMode == modeType.OneLevel)
            {
                gameLevel = 1;
            }
            else if (gameMode == modeType.TwoLevel)
            {
                gameLevel = 2;
            }
            else if (gameMode == modeType.OneBoss)
            {
                gameLevel = 3;
            }

            if (gameMode != modeType.Pause)
            {
                if (gameMode == modeType.OneBoss || gameMode == modeType.TwoBoss || gameMode == modeType.OneLevel || gameMode == modeType.TwoLevel) //if in game
                {
                    if (Keyboard.GetState().IsKeyDown(Keys.P) || GamePad.GetState(PlayerIndex.One).IsButtonDown(Buttons.LeftStick))                 //Pauses game
                    {
                        prevMode = gameMode;
                        gameMode = modeType.Pause;
                    }
                }
                //move to wave 2
                if (gameMode == modeType.OneLevel && enemies1.Count <= 0)  //if you kill all wave 1 enemies
                {
                    //creates a new shield, adds it to list of items
                    Shield iS;
                    iS = new Shield(new Vector2((screenX / 2), (screenY / 2)));
                    Items.Add(iS);

                    gameMode = modeType.TwoLevel;  //move to wave 2

                    //spawn wave 2 enemies

                    //enemy class 1:
                    Type1 t1; Type1 t2; Type1 t3; Type1 t4;
                    t1 = new Type1((screenX / 2) - 150, 0);             //top gate
                    t2 = new Type1(0, 600);                             //left gate
                    t3 = new Type1(screenX - 335, 600);                 //right gate
                    t4 = new Type1((screenX / 2) - 150, screenY - 460); //bottom gate
                    enemies1.Add(t1); enemies1.Add(t2); enemies1.Add(t3); enemies1.Add(t4);

                    //enemy class 2:
                    Type2 t5; Type2 t6; Type2 t7; Type2 t8;
                    t5 = new Type2(screenX - 335, 50);            //top right
                    t6 = new Type2(50, 50);                       //top left
                    t7 = new Type2(screenX - 335, screenY - 470); //bottom right
                    t8 = new Type2(50, screenY - 470);            //bottom left
                    enemies2.Add(t5); enemies2.Add(t6); enemies2.Add(t7); enemies2.Add(t8);
                }

                //Part 1 Boss fight
                if (gameMode == modeType.TwoLevel && enemies1.Count == 0 && enemies2.Count == 0)    //if you kill all wave 2 enemies
                {
                    b = new Boss(new Vector2((screenX / 2) - 200, (screenY / 2) - 200));
                    b.LoadContent(Content);
                    b.hp = 10;

                    //creates a new shield, adds it to list of items
                    Shield iS;
                    iS = new Shield(new Vector2((screenX / 2), 2 * (screenY / 3) + 50));
                    Items.Add(iS);

                    gameMode = modeType.OneBoss; //sets game mode to boss level
                }

                //part 2 boss fight
                if (gameMode == modeType.OneBoss && b.hp < 5)
                {
                    b.stage = 2; //moves boss to new abilities

                    //add in enemy class 2 fighters
                    Type2 t5; Type2 t6; Type2 t7; Type2 t8;
                    t5 = new Type2(screenX - 335, 50);            //top right
                    t6 = new Type2(50, 50);                       //top left
                    t7 = new Type2(screenX - 335, screenY - 470); //bottom right
                    t8 = new Type2(50, screenY - 470);            //bottom left
                    enemies2.Add(t5); enemies2.Add(t6); enemies2.Add(t7); enemies2.Add(t8);

                    b.hp = 10;

                    gameMode = modeType.TwoBoss;
                }

                if (gameMode == modeType.TwoBoss && b.hp <= 0) //if you kill the boss
                {
                    gameMode = modeType.Win;                   //move to win screen
                }


                //reset game
                if (gameMode == modeType.Win || gameMode == modeType.Loss)
                {
                    //resets game back to wave 1
                    enemies1.Clear();    //respawn all wave 1 enemies
                    enemies2.Clear();
                    Items.Clear();
                    Type1 t1; Type1 t2; Type1 t3; Type1 t4;
                    t1 = new Type1(900, 0);                         //top gate
                    t2 = new Type1(0, 600);                         //left gate
                    t3 = new Type1(1900, 600);                      //right gate
                    t4 = new Type1(900, 1000);                      //bottom gate
                    enemies1.Add(t1); enemies1.Add(t2); enemies1.Add(t3); enemies1.Add(t4);
                    p1 = new Player(new Vector2(screenX, screenY)); //override old player
                    p1.LoadContent(Content);
                    //clear the bullet classes too
                    bullets.Clear(); ebullets.Clear();

                    //to restart at level 1
                    if (Keyboard.GetState().IsKeyDown(Keys.V) || GamePad.GetState(PlayerIndex.One).IsButtonDown(Buttons.A))
                    {
                        gameMode = modeType.OneLevel;       //if v is pressed when the game is over, restart at level 1
                        MediaPlayer.Play(Sound.background); //background music
                    }
                    //to go back to menu
                    if (Keyboard.GetState().IsKeyDown(Keys.M) || GamePad.GetState(PlayerIndex.One).IsButtonDown(Buttons.Y))
                    {
                        gameMode = modeType.Menu; //if M is pressed, go back to main menu
                    }
                }
                //start the game
                if (gameMode == modeType.Menu)
                {
                    if (Keyboard.GetState().IsKeyDown(Keys.E) || GamePad.GetState(PlayerIndex.One).IsButtonDown(Buttons.X)) //starts the game
                    {
                        gameMode = modeType.OneLevel;
                        MediaPlayer.Play(Sound.background); //background music
                    }

                    if (Keyboard.GetState().IsKeyDown(Keys.H) || GamePad.GetState(PlayerIndex.One).IsButtonDown(Buttons.Y))//go to help screen
                    {
                        gameMode = modeType.Help;
                    }
                }

                if (gameMode == modeType.Help)                                                                                       //if in help screen
                {
                    if (Keyboard.GetState().IsKeyDown(Keys.M) || GamePad.GetState(PlayerIndex.One).IsButtonDown(Buttons.RightStick)) //if these buttons are pressed return to menu screen
                    {
                        gameMode = modeType.Menu;
                    }
                }

                if (gameMode == modeType.OneLevel || gameMode == modeType.TwoLevel || gameMode == modeType.OneBoss || gameMode == modeType.TwoBoss) //if in game, not end game or menu screen
                {
                    rTime = rTime.Add(gameTime.ElapsedGameTime);

                    p1.Move(new Vector2(screenX, screenY));
                    t.Move(new Vector2(screenX, screenY));

                    //player death
                    if (p1.hp <= 0)
                    {
                        gameMode = modeType.Loss;  //goto lose game screen
                    }


                    //moves enemy1
                    foreach (Type1 l in enemies1)
                    {
                        l.Move(p1.position, p1.oldPosition); //passing player position and previous player position
                        l.MovebBox();                        //moves the bounding box. For now, i think it has to be in a separate function because i dont want to override move
                    }

                    //moves enemy2
                    foreach (Type2 f in enemies2)
                    {
                        f.Move(p1.position, p1.oldPosition); //passing player position and previous player position
                        f.MovebBox();                        //moves the bounding box. For now, i think it has to be in a separate function because i dont want to override move
                    }


                    //for bullets:

                    //moves bullets
                    foreach (Bullet l in bullets)
                    {
                        l.Move();
                    }
                    //moves enemy bullets
                    foreach (Ebullet j in ebullets)
                    {
                        j.Move();
                    }

                    //player shooting bullets
                    KeyboardState NewKeyState = Keyboard.GetState();
                    GamePadState  NewPadState = GamePad.GetState(PlayerIndex.One);
                    //if space was up in the previous frame and is down now, then shoot
                    if (NewKeyState.IsKeyDown(Keys.Space) && OldKeyState.IsKeyUp(Keys.Space) || NewPadState.IsButtonDown(Buttons.RightShoulder) && OldPadState.IsButtonUp(Buttons.RightShoulder))
                    {
                        if (p1.cp >= 1) //if the player has enough charge points
                        {
                            //Creates bullet and adds it to the list of bullets
                            Bullet b1;
                            b1 = new Bullet(p1.position, t.position); //spawns bullets at player position with goal at target position
                            bullets.Add(b1);                          //adds this bullet to the arraylist

                            p1.cp = p1.cp - 1;                        //lowers players gun charge

                            Sound.pShoot.Play();
                        }
                        else//if there is no gun charge
                        {
                            Sound.noCharge.Play();
                        }
                    }
                    //reloads charge
                    if (rTime >= TimeSpan.FromSeconds(5))
                    {
                        //Stops rTime from going over 5 so the bar looks better
                        if (rTime.Seconds > 5)
                        {
                            rTime = TimeSpan.FromSeconds(5);
                        }
                        //reloading charge
                        if (NewKeyState.IsKeyDown(Keys.R) && OldKeyState.IsKeyUp(Keys.R) || NewPadState.IsButtonDown(Buttons.LeftShoulder) && OldPadState.IsButtonDown(Buttons.LeftShoulder))
                        {
                            if (p1.cp < 8)
                            {
                                p1.cp = p1.cp + 10;
                                Sound.Charge.Play();
                            }
                            rTime = TimeSpan.Zero;
                        }
                    }
                    OldKeyState = NewKeyState;  //updates oldkeystate to newkeystate
                    OldPadState = NewPadState;


                    //for enemy1 shooting bullets
                    Random r = new Random();    //random integer for bullets
                    if (enemies1.Count > 0)
                    {                           //makes sure there is something in the list first
                        if (r.Next(0, 200) < 2) //shoots bullets at random intervals
                        {
                            T1Bullet s;
                            int      i = r.Next(0, enemies1.Count());            //pick a random enemy to shoot
                            s = new T1Bullet(enemies1[i].position, p1.position); //creates new bullet, passes the chosen enemy's position and player position
                            ebullets.Add(s);
                            Sound.t1Shoot.Play();
                        }
                    }

                    //for enemy2 shooting bullets
                    if (enemies2.Count > 0)     //makes sure there is something in the list first
                    {
                        if (r.Next(0, 200) < 2) //shoots bullets at random intervals
                        {
                            T2Bullet s;
                            int      i = r.Next(0, enemies2.Count());            //pick a random enemy to shoot
                            s = new T2Bullet(enemies2[i].position, p1.position); //creates new bullet, passes the chosen enemy's position and player position
                            ebullets.Add(s);
                            Sound.t2Shoot.Play();
                        }
                    }


                    //COLLISION STUFF
                    //Enemy Bullet collision with player
                    for (int i = ebullets.Count() - 1; i >= 0; i--)
                    {
                        if (p1.BoundingBox.Intersects(ebullets[i].BoundingSphere))
                        {
                            if (p1.sp > 0)
                            {
                                p1.sp = p1.sp - 1;  //lowers player shield if they have
                            }
                            else //if the player doesn't have a shield
                            {
                                ebullets[i].Action(p1);
                            }

                            ebullets.RemoveAt(i);   //removes bullet
                            Sound.pHit.Play();
                        }
                    }

                    //Allied bullet with enemy player1
                    for (int j = enemies1.Count - 1; j >= 0; j--)
                    {
                        for (int i = bullets.Count - 1; i >= 0; i--)
                        {
                            if (j <= enemies1.Count - 1)
                            {
                                if (enemies1[j].BoundingBox.Intersects(bullets[i].BoundingSphere))
                                {
                                    //chance for enemies to drop health on death
                                    Random l = new Random();
                                    if (l.Next(0, 5) == 0)
                                    {
                                        Health iH;
                                        iH = new Health(new Vector2(enemies1[j].position.X + 50, enemies1[j].position.Y + 50));  //if the random number is 0, leave a health pack at the enemy's positon
                                        Items.Add(iH);
                                    }
                                    bullets.RemoveAt(i);  //removes bullet
                                    enemies1.RemoveAt(j); //kills (removes) enemy
                                    Sound.ehit.Play();    //death sound
                                }
                            }
                        }
                    }

                    //Allied bullet with enemy player2
                    for (int j = enemies2.Count - 1; j >= 0; j--)
                    {
                        for (int i = bullets.Count - 1; i >= 0; i--)
                        {
                            if (j <= enemies2.Count - 1)
                            {
                                if (enemies2[j].BoundingBox.Intersects(bullets[i].BoundingSphere))
                                {
                                    bullets.RemoveAt(i);  //removes bullet
                                    enemies2.RemoveAt(j); //kills (removes) enemy
                                    Sound.ehit.Play();    //death sound
                                }
                            }
                        }
                    }
                    //item collisions
                    for (int i = Items.Count - 1; i >= 0; i--)
                    {
                        if (p1.BoundingBox.Intersects(Items[i].BoundingBox))
                        {
                            Items[i].Action(p1);
                            Items.RemoveAt(i);
                        }
                    }



                    // removes bullets if they go offscreen
                    for (int i = bullets.Count - 1; i >= 0; i--)
                    {
                        //collision detection
                        if (bullets[i].position.X >= screenX || bullets[i].position.X <= 0 || bullets[i].position.Y >= screenY || bullets[i].position.X <= 0)
                        {
                            bullets.RemoveAt(i);
                        }
                    }

                    //removes enemy bullets if they go offscreen
                    for (int i = ebullets.Count - 1; i >= 0; i--)
                    {
                        //collision detection
                        if (ebullets[i].position.X >= screenX || ebullets[i].position.X <= 0 || ebullets[i].position.Y >= screenY || ebullets[i].position.X <= 0)
                        {
                            ebullets.RemoveAt(i);
                        }
                    }
                }

                //if in boss battle
                if (gameMode == modeType.OneBoss || gameMode == modeType.TwoBoss)
                {
                    //boss shooting
                    Random rr = new Random();
                    //shoots more often during stage 2
                    if (b.stage == 1)
                    {
                        k = 100;
                    }
                    if (b.stage == 2)
                    {
                        k = 50;
                    }
                    if (rr.Next(0, k) < 2)
                    {
                        //Creates bullet and adds it to the list of bullets
                        Ebullet c;
                        c = new BBullet(b.position, p1.position); //spawns bullets at player position with goal at target position
                        ebullets.Add(c);                          //adds this bullet to the arraylist
                    }

                    //player bullets with boss
                    for (int i = bullets.Count - 1; i >= 0; i--)
                    {
                        if (bullets[i].BoundingSphere.Intersects(b.BoundingBox))
                        {
                            b.hp = b.hp - 1;   //lower boss hp
                            bullets.RemoveAt(i);
                            Sound.ehit.Play(); //death sound
                        }
                    }

                    // player  with boss
                    if (p1.BoundingBox.Intersects(b.BoundingBox))
                    {
                        p1.hp = p1.hp - p1.hp; //you die if you touch the boss
                    }
                }
            }
            else  //if in pause
            {
                if (Keyboard.GetState().IsKeyDown(Keys.T) || GamePad.GetState(PlayerIndex.One).IsButtonDown(Buttons.RightStick))
                {
                    gameMode = prevMode;
                }
            }
            base.Update(gameTime);
        }
Example #18
0
        /// <summary>
        ///     Takes the MODE PAGEs part of a device report and prints it as a list of values and another list of key=value pairs
        ///     to be sequenced by ASP.NET in the rendering
        /// </summary>
        /// <param name="modeSense">MODE PAGEs part of a device report</param>
        /// <param name="vendor">SCSI vendor string</param>
        /// <param name="deviceType">SCSI peripheral device type</param>
        /// <param name="scsiOneValue">List to put values on</param>
        /// <param name="modePages">List to put key=value pairs on</param>
        public static void Report(modeType modeSense, string vendor, PeripheralDeviceTypes deviceType,
                                  ref List <string> scsiOneValue, ref Dictionary <string, string> modePages)
        {
            if (modeSense.MediumTypeSpecified)
            {
                scsiOneValue.Add($"Medium type is {modeSense.MediumType:X2}h");
            }
            if (modeSense.WriteProtected)
            {
                scsiOneValue.Add("Device is write protected.");
            }
            if (modeSense.BlockDescriptors != null)
            {
                foreach (blockDescriptorType descriptor in modeSense.BlockDescriptors)
                {
                    if (descriptor.BlocksSpecified && descriptor.BlockLengthSpecified)
                    {
                        scsiOneValue
                        .Add($"Density code {descriptor.Density:X2}h has {descriptor.Blocks} blocks of {descriptor.BlockLength} bytes each");
                    }
                    else
                    {
                        scsiOneValue.Add($"Density code {descriptor.Density:X2}h");
                    }
                }
            }

            if (modeSense.DPOandFUA)
            {
                scsiOneValue.Add("Drive supports DPO and FUA bits");
            }
            if (modeSense.BlankCheckEnabled)
            {
                scsiOneValue.Add("Blank checking during write is enabled");
            }
            if (modeSense.BufferedModeSpecified)
            {
                switch (modeSense.BufferedMode)
                {
                case 0:
                    scsiOneValue.Add("Device writes directly to media");
                    break;

                case 1:
                    scsiOneValue.Add("Device uses a write cache");
                    break;

                case 2:
                    scsiOneValue.Add("Device uses a write cache but doesn't return until cache is flushed");
                    break;

                default:
                    scsiOneValue.Add($"Unknown buffered mode code 0x{modeSense.BufferedMode:X2}");
                    break;
                }
            }

            if (modeSense.ModePages == null)
            {
                return;
            }

            foreach (modePageType page in modeSense.ModePages)
            {
                switch (page.page)
                {
                case 0x00:
                {
                    if (deviceType == PeripheralDeviceTypes.MultiMediaDevice && page.subpage == 0)
                    {
                        modePages.Add($"MODE page {page.page:X2}h", Modes.PrettifyModePage_00_SFF(page.value));
                    }
                    else
                    {
                        modePages
                        .Add(page.subpage != 0 ? $"MODE page {page.page:X2}h subpage {page.subpage:X2}h" : $"MODE page {page.page:X2}h",
                             "Unknown vendor mode page");
                    }
                    break;
                }

                case 0x01:
                {
                    if (page.subpage == 0)
                    {
                        modePages.Add($"MODE page {page.page:X2}h",
                                      deviceType == PeripheralDeviceTypes.MultiMediaDevice
                                              ? Modes.PrettifyModePage_01_MMC(page.value)
                                              : Modes.PrettifyModePage_01(page.value));
                    }
                    else
                    {
                        goto default;
                    }

                    break;
                }

                case 0x02:
                {
                    if (page.subpage == 0)
                    {
                        modePages.Add($"MODE page {page.page:X2}h", Modes.PrettifyModePage_02(page.value));
                    }
                    else
                    {
                        goto default;
                    }

                    break;
                }

                case 0x03:
                {
                    if (page.subpage == 0)
                    {
                        modePages.Add($"MODE page {page.page:X2}h", Modes.PrettifyModePage_03(page.value));
                    }
                    else
                    {
                        goto default;
                    }

                    break;
                }

                case 0x04:
                {
                    if (page.subpage == 0)
                    {
                        modePages.Add($"MODE page {page.page:X2}h", Modes.PrettifyModePage_04(page.value));
                    }
                    else
                    {
                        goto default;
                    }

                    break;
                }

                case 0x05:
                {
                    if (page.subpage == 0)
                    {
                        modePages.Add($"MODE page {page.page:X2}h", Modes.PrettifyModePage_05(page.value));
                    }
                    else
                    {
                        goto default;
                    }

                    break;
                }

                case 0x06:
                {
                    if (page.subpage == 0)
                    {
                        modePages.Add($"MODE page {page.page:X2}h", Modes.PrettifyModePage_06(page.value));
                    }
                    else
                    {
                        goto default;
                    }

                    break;
                }

                case 0x07:
                {
                    if (page.subpage == 0)
                    {
                        modePages.Add($"MODE page {page.page:X2}h",
                                      deviceType == PeripheralDeviceTypes.MultiMediaDevice
                                              ? Modes.PrettifyModePage_07_MMC(page.value)
                                              : Modes.PrettifyModePage_07(page.value));
                    }
                    else
                    {
                        goto default;
                    }

                    break;
                }

                case 0x08:
                {
                    if (page.subpage == 0)
                    {
                        modePages.Add($"MODE page {page.page:X2}h", Modes.PrettifyModePage_08(page.value));
                    }
                    else
                    {
                        goto default;
                    }

                    break;
                }

                case 0x0A:
                {
                    if (page.subpage == 0)
                    {
                        modePages.Add($"MODE page {page.page:X2}h", Modes.PrettifyModePage_0A(page.value));
                    }
                    else if (page.subpage == 1)
                    {
                        modePages.Add($"MODE page {page.page:X2}h", Modes.PrettifyModePage_0A_S01(page.value));
                    }
                    else
                    {
                        goto default;
                    }

                    break;
                }

                case 0x0B:
                {
                    if (page.subpage == 0)
                    {
                        modePages.Add($"MODE page {page.page:X2}h", Modes.PrettifyModePage_0B(page.value));
                    }
                    else
                    {
                        goto default;
                    }

                    break;
                }

                case 0x0D:
                {
                    if (page.subpage == 0)
                    {
                        modePages.Add($"MODE page {page.page:X2}h", Modes.PrettifyModePage_0D(page.value));
                    }
                    else
                    {
                        goto default;
                    }

                    break;
                }

                case 0x0E:
                {
                    if (page.subpage == 0)
                    {
                        modePages.Add($"MODE page {page.page:X2}h", Modes.PrettifyModePage_0E(page.value));
                    }
                    else
                    {
                        goto default;
                    }

                    break;
                }

                case 0x0F:
                {
                    if (page.subpage == 0)
                    {
                        modePages.Add($"MODE page {page.page:X2}h", Modes.PrettifyModePage_0F(page.value));
                    }
                    else
                    {
                        goto default;
                    }

                    break;
                }

                case 0x10:
                {
                    if (page.subpage == 0)
                    {
                        modePages.Add($"MODE page {page.page:X2}h",
                                      deviceType == PeripheralDeviceTypes.SequentialAccess
                                              ? Modes.PrettifyModePage_10_SSC(page.value)
                                              : Modes.PrettifyModePage_10(page.value));
                    }
                    else
                    {
                        goto default;
                    }

                    break;
                }

                case 0x11:
                {
                    if (page.subpage == 0)
                    {
                        modePages.Add($"MODE page {page.page:X2}h", Modes.PrettifyModePage_11(page.value));
                    }
                    else
                    {
                        goto default;
                    }

                    break;
                }

                case 0x12:
                case 0x13:
                case 0x14:
                {
                    if (page.subpage == 0)
                    {
                        modePages.Add($"MODE page {page.page:X2}h", Modes.PrettifyModePage_12_13_14(page.value));
                    }
                    else
                    {
                        goto default;
                    }

                    break;
                }

                case 0x1A:
                {
                    if (page.subpage == 0)
                    {
                        modePages.Add($"MODE page {page.page:X2}h", Modes.PrettifyModePage_1A(page.value));
                    }
                    else if (page.subpage == 1)
                    {
                        modePages.Add($"MODE page {page.page:X2}h", Modes.PrettifyModePage_1A_S01(page.value));
                    }
                    else
                    {
                        goto default;
                    }

                    break;
                }

                case 0x1B:
                {
                    if (page.subpage == 0)
                    {
                        modePages.Add($"MODE page {page.page:X2}h", Modes.PrettifyModePage_1B(page.value));
                    }
                    else
                    {
                        goto default;
                    }

                    break;
                }

                case 0x1C:
                {
                    if (page.subpage == 0)
                    {
                        modePages.Add($"MODE page {page.page:X2}h",
                                      deviceType == PeripheralDeviceTypes.MultiMediaDevice
                                              ? Modes.PrettifyModePage_1C_SFF(page.value)
                                              : Modes.PrettifyModePage_1C(page.value));
                    }
                    else if (page.subpage == 1)
                    {
                        modePages.Add($"MODE page {page.page:X2}h", Modes.PrettifyModePage_1C_S01(page.value));
                    }
                    else
                    {
                        goto default;
                    }

                    break;
                }

                case 0x1D:
                {
                    if (page.subpage == 0)
                    {
                        modePages.Add($"MODE page {page.page:X2}h", Modes.PrettifyModePage_1D(page.value));
                    }
                    else
                    {
                        goto default;
                    }

                    break;
                }

                case 0x21:
                {
                    if (vendor == "CERTANCE")
                    {
                        modePages.Add($"MODE page {page.page:X2}h", Modes.PrettifyCertanceModePage_21(page.value));
                    }
                    else
                    {
                        goto default;
                    }

                    break;
                }

                case 0x22:
                {
                    if (vendor == "CERTANCE")
                    {
                        modePages.Add($"MODE page {page.page:X2}h", Modes.PrettifyCertanceModePage_22(page.value));
                    }
                    else
                    {
                        goto default;
                    }

                    break;
                }

                case 0x24:
                {
                    if (vendor == "IBM")
                    {
                        modePages.Add($"MODE page {page.page:X2}h", Modes.PrettifyIBMModePage_24(page.value));
                    }
                    else
                    {
                        goto default;
                    }

                    break;
                }

                case 0x2A:
                {
                    if (page.subpage == 0)
                    {
                        modePages.Add($"MODE page {page.page:X2}h", Modes.PrettifyModePage_2A(page.value));
                    }
                    else
                    {
                        goto default;
                    }

                    break;
                }

                case 0x2F:
                {
                    if (vendor == "IBM")
                    {
                        modePages.Add($"MODE page {page.page:X2}h", Modes.PrettifyIBMModePage_2F(page.value));
                    }
                    else
                    {
                        goto default;
                    }

                    break;
                }

                case 0x30:
                {
                    if (Modes.IsAppleModePage_30(page.value))
                    {
                        modePages.Add("MODE page 30h", "Drive identifies as an Apple OEM drive");
                    }
                    else
                    {
                        goto default;
                    }

                    break;
                }

                case 0x3B:
                {
                    if (vendor == "HP")
                    {
                        modePages.Add($"MODE page {page.page:X2}h", Modes.PrettifyHPModePage_3B(page.value));
                    }
                    else
                    {
                        goto default;
                    }

                    break;
                }

                case 0x3C:
                {
                    if (vendor == "HP")
                    {
                        modePages.Add($"MODE page {page.page:X2}h", Modes.PrettifyHPModePage_3C(page.value));
                    }
                    else
                    {
                        goto default;
                    }

                    break;
                }

                case 0x3D:
                {
                    if (vendor == "IBM")
                    {
                        modePages.Add($"MODE page {page.page:X2}h", Modes.PrettifyIBMModePage_3D(page.value));
                    }
                    else if (vendor == "HP")
                    {
                        modePages.Add($"MODE page {page.page:X2}h", Modes.PrettifyHPModePage_3D(page.value));
                    }
                    else
                    {
                        goto default;
                    }

                    break;
                }

                case 0x3E:
                {
                    if (vendor == "FUJITSU")
                    {
                        modePages.Add($"MODE page {page.page:X2}h", Modes.PrettifyFujitsuModePage_3E(page.value));
                    }
                    else if (vendor == "HP")
                    {
                        modePages.Add($"MODE page {page.page:X2}h", Modes.PrettifyHPModePage_3E(page.value));
                    }
                    else
                    {
                        goto default;
                    }

                    break;
                }

                default:
                {
                    modePages.Add(page.subpage != 0 ? $"MODE page {page.page:X2}h subpage {page.subpage:X2}h" : $"MODE page {page.page:X2}h",
                                  "Unknown mode page");
                }
                break;
                }
            }

            Dictionary <string, string> newModePages = new Dictionary <string, string>();

            foreach (KeyValuePair <string, string> kvp in modePages)
            {
                if (string.IsNullOrWhiteSpace(kvp.Value))
                {
                    newModePages.Add(kvp.Key, "Undecoded");
                }
                else
                {
                    newModePages.Add(kvp.Key, kvp.Value.Replace("\n", "<br/>"));
                }
            }

            modePages = newModePages;
        }
Example #19
0
        /// <summary>
        /// Import a Rationale file
        /// </summary>
        /// <param name="fileName">File name including path to import.</param>
        /// <returns></returns>
        public Argument importFromRationale(string fileName)
        {
            Argument arg;
            string   line, version, s;
            int      i;

            premise = null;
            try
            {
                infile = new StreamReader(fileName);

                // expecting #Rationale Version 1.09
                line = infile.ReadLine();
                if (line == null)
                {
                    return(null);
                }
                String [] split;
                split = line.Split();                  // splits the text using the default delimiters
                // if(split.Length != 3) { infile.Close(); return null; }  // not what was expected - run away
                if (split[2].Equals("1.09"))
                {
                    version = split[2];
                }
                else if (split[2].Equals("1.08"))
                {
                    MessageBox.Show("Sorry, version 1.08 of Rationale cannot be read");
                    return(null);
                }
                else if (split[2].Equals("130.54") || split[2].Equals("120.53") ||
                         split[2].Equals("140.56") || split[2].Equals("140.58")
                         )
                {
                    version = split[2];
                    return(importFromRationale130(fileName, version));
                }
                else
                {
                    DialogResult d;
                    d = MessageBox.Show(String.Format("I do not know version {0}. Try to load anyway?", split[2]), "Unknown version", MessageBoxButtons.YesNo);                    // TODO Make question
                    if (d == DialogResult.Yes)
                    {
                        return(importFromRationale130(fileName, split[2]));
                    }
                    else
                    {
                        return(null);
                    }
                }

                line = infile.ReadLine();
                if (line == null)
                {
                    return(null);
                }
                // node0 = app.Create("Claim") expected
                if (line.ToLower().IndexOf("claim") < 0)
                {
                    return(null);
                }
                line = infile.ReadLine();
                if (line == null)
                {
                    return(null);
                }
                // app.SetText(node0, "I should go to the beach today.")
                i = line.IndexOf("app.SetText(node0,");                         // should return 0
                if (i != 0)
                {
                    MessageBox.Show(String.Format("unknown entry, app.SetText expected.  Found {0}", line));
                    return(null);
                }
                s       = line.Substring(line.IndexOf("\"") + 1);               // split string at the quote mark
                s       = s.Substring(0, s.IndexOf("\""));                      // remove the last quote and bracket
                premise = new Node(s);                                          // add main premise
                // the next lines declare the top level reasons or objections
                // eg
                // app.CreateChild(node0, "CompoundReason") or app.CreateChild(node0, "CompoundObjection")
                // or app.CreateChild(node0, "Reason") or app.CreateChild(node0, "Objection")

                //  read remaining lines
                lines = new ArrayList();
                line  = infile.ReadLine();
                while (line != null)
                {
                    lines.Add(line);
                    line = infile.ReadLine();
                }
                currentLine = 0;
                // unless the argument has a main premise only, the next lines will define top level
                line = (string)lines[currentLine];
                if (line.IndexOf("CompoundReason") > 0 || line.IndexOf("CompoundObjection") > 0)
                {
                    mode = modeType.analysisMode;
                }
                else if (line.IndexOf("Reason") > 0 || line.IndexOf("Objection") > 0)
                {
                    mode = modeType.reasonMode;
                }
                else
                {
                    MessageBox.Show(String.Format("Expecting to find reasons and or objections.  Found: {0}", line));
                    return(null);
                }
                readTopLevelElement(premise);
            }
            catch (Exception e) { MessageBox.Show(String.Format("Error reading Rationale file. {0}\n{1}", e.Message, e.StackTrace)); }

            infile.Close();
            if (premise == null)
            {
                return(null);
            }
            arg = new Argument();
            arg.setArg(premise);
            return(arg);
        }