Наследование: MonoBehaviour
Пример #1
0
        public async Task <IActionResult> Edit(int id, [Bind("BoulderID,Name,Area,Location,BoulderingClimbingGrade,ConsensusGrade,ModifyDate")] Boulder boulder)
        {
            if (id != boulder.BoulderID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(boulder);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!BoulderExists(boulder.BoulderID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(boulder));
        }
Пример #2
0
    void getValues()
    {
        GameObject en  = GameObject.FindWithTag("Enemy");
        GameObject en1 = GameObject.FindWithTag("Boulder");
        GameObject en2 = GameObject.FindWithTag("Enemy");

        if (en != null)
        {
            enemy = en.GetComponent <EnemyController>();
        }
        if (enemy == null)
        {
            Debug.Log("Cannot find 'EnemyController' script");
        }
        if (en1 != null)
        {
            boulder = en1.GetComponent <Boulder>();
        }
        if (boulder == null)
        {
            Debug.Log("Cannot find 'Boulder script");
        }
        if (en2 != null)
        {
            villagerdamage = en2.GetComponent <VillagerDamageController>();
        }
        if (villagerdamage == null)
        {
            Debug.Log("Cannot find 'VillagerdamageController' script");
        }
        gameController = GameObject.FindWithTag("GameController").GetComponent <GameController> ();
        trapcontrol    = GameObject.FindWithTag("TrapController").GetComponent <TrapController> ();
    }
Пример #3
0
        public void Pushables()
        {
            Button  button  = new Button();
            Boulder boulder = new Boulder();
            var     loop    = true;

            while (loop)
            {
                Console.Clear();
                Console.WriteLine("1. Button");
                Console.WriteLine("2. Boulder");
                Console.WriteLine("3. Return");
                var input = Console.ReadKey(true).Key;

                switch (input)
                {
                case ConsoleKey.D1:
                    Console.Clear();
                    Console.WriteLine(button.Push());
                    Console.ReadKey();
                    break;

                case ConsoleKey.D2:
                    Console.Clear();
                    Console.WriteLine(boulder.Push());
                    Console.ReadKey();
                    break;

                case ConsoleKey.D3:
                    loop = false;
                    break;
                }
            }
        }
    public void OnCreate()
    {
        DateTime date;

        try
        {
            date = GetDate();
        }
        catch (ArgumentOutOfRangeException)
        {
            return;
        }

        Boulder boulder = new Boulder(
            AssetsLibrary.Instance.GetBoulderDifficulty(
                difficultiesDropdown.options[difficultiesDropdown.value].text),
            (int)numberslider.value,
            date,
            (BoulderWall)wallsDropdown.value);

        //boulder.SetIntersections(intersections);
        if (editingProblem != null)
        {
            BoulderListController.Instance.UpdateBoulder(boulder);
        }
        else
        {
            BoulderListController.Instance.CreateBoulderDisplay(boulder);
        }

        SetDisplay(false);
    }
Пример #5
0
        public Boulder AddBoulder(Vector2 position)
        {
            var result = new Boulder(position);

            this._gameObjectCollection.Add(result);
            return(result);
        }
Пример #6
0
    public override TileElement LoadTileElement(params object[] vars)
    {
        Boulder boulder = new Boulder(vars);

        boulder.SetPhysics(false, true, false, false);
        return(boulder);
    }
Пример #7
0
    void OnGUI()
    {
        GUILayout.Label("Character", EditorStyles.boldLabel);
        character = (Character)EditorGUILayout.ObjectField("Character", character, typeof(Character), false);

        tileGroupEnabled = EditorGUILayout.ToggleLeft("Tile Menu", tileGroupEnabled);
        float showTileGroup = 0;

        if (tileGroupEnabled)
        {
            showTileGroup = 1;
        }
        if (EditorGUILayout.BeginFadeGroup(showTileGroup))
        {
            dirt   = (Dirt)EditorGUILayout.ObjectField("Dirt", dirt, typeof(Dirt), false);
            water  = (Water)EditorGUILayout.ObjectField("Water", water, typeof(Water), false);
            spikes = (Spikes)EditorGUILayout.ObjectField("Spikes", spikes, typeof(Spikes), false);
        }
        EditorGUILayout.EndFadeGroup();

        doodadGroupEnabled = EditorGUILayout.ToggleLeft("Doodad Menu", doodadGroupEnabled);
        float showDoodadGroup = 0;

        if (doodadGroupEnabled)
        {
            showDoodadGroup = 1;
        }
        if (EditorGUILayout.BeginFadeGroup(showDoodadGroup))
        {
            entrance = (Entrance)EditorGUILayout.ObjectField("Entrance", entrance, typeof(Entrance), false);
            exit     = (Exit)EditorGUILayout.ObjectField("Exit", exit, typeof(Exit), false);
            boulder  = (Boulder)EditorGUILayout.ObjectField("Boulder", boulder, typeof(Boulder), false);
        }
        EditorGUILayout.EndFadeGroup();

        if (GUILayout.Button("Select stage file"))
        {
            stageFilePath = EditorUtility.OpenFilePanel("Load stage file", "", "");
        }
        if (stageFilePath != null)
        {
            GUILayout.Label("Stage File Path: " + stageFilePath);
        }
        if (GUILayout.Button("Generate Stage"))
        {
            if (stageFilePath == null)
            {
                EditorUtility.DisplayDialog("Error", "You need to select a stage file.", "OK");
            }
            else if (dirt == null || water == null || entrance == null || exit == null || boulder == null)
            {
                EditorUtility.DisplayDialog("Error", "You must assign prefabs to all tile and doodad fields.", "OK");
            }
            else
            {
                string stageStr = System.IO.File.ReadAllText(stageFilePath);
                CreateStage(stageStr);
            }
        }
    }
    public void OnEdit(Boulder boulder)
    {
        wallsDropdown.value = (int)boulder.wall;

        base.OnEdit(boulder);

        OnRefresh();
    }
    /// <summary>
    /// Update the boulder data and displays
    /// </summary>
    /// <param name="boulder"></param>
    public void EditBoulder(Boulder boulder)
    {
        StaticBoulderList.Edit(boulder);
        GameObject boulderObject = boulders[boulder];

        boulders.Remove(boulder);
        boulders.Add(boulder, boulderObject);

        boulderObject.GetComponent <BoulderEntryDisplay>().Setup(boulder);
        OldestDisplay.dirtyBoulders = true;
    }
    /// <summary>
    /// Create a display for the boulder and for its difficulty
    /// </summary>
    /// <param name="boulder">Boulder to add</param>
    public void CreateBoulderDisplay(Boulder boulder)
    {
        //If difficulty doesn't exist, create a new one (don't mind if boulder exists, it doesn't)
        if (!bouldersObjects.ContainsKey(boulder.difficulty))
        {
            bouldersObjects.Add(boulder.difficulty, BoulderDifficultyDisplay.InstantiateObject(boulder.difficulty, Instance.transform));
        }

        bouldersObjects[boulder.difficulty].AddBoulder(boulder);

        SortDifficultiesDisplays();
    }
 //creates a boulder a the beginning of the path in a fixed time interval
 void FixedUpdate()
 {
     if (path != null)
     {
         if (time % 200 == 0)
         {
             Boulder boulder = (Boulder)Instantiate(template, new Vector3(0, -100, 0), new Quaternion());
             boulder.SetPath(path);
         }
     }
     time++;
 }
Пример #12
0
        public async Task <IActionResult> Create([Bind("BoulderID,Name,Area,Location,BoulderingClimbingGrade,ConsensusGrade,ModifyDate")] Boulder boulder)
        {
            boulder.ModifyDate = DateTime.Now;

            if (ModelState.IsValid)
            {
                _context.Add(boulder);
                await _context.SaveChangesAsync();

                return(Redirect("/Logbook/create"));
            }
            return(View(boulder));
        }
    /// <summary>
    /// Adds a boulder to the list and the display
    /// </summary>
    /// <param name="boulder"></param>
    public void AddBoulder(Boulder boulder)
    {
        if (!StaticBoulderList.Instance.Add(boulder))
        {
            return;
        }
        GameObject boulderObject = BoulderEntryDisplay.InstanciateListObject(boulder, transform);

        boulderObject.SetActive(toogled && !boulder.pending);
        boulders.Add(boulder, boulderObject);
        OldestDisplay.dirtyBoulders = true;

        SortBoulderEntriesDisplays();
    }
Пример #14
0
        public void SpawnBoulders()
        {
            while (_boulders.Count < MaxBoulderCount)
            {
                float radius = (float)_rand.Next(_gameBounds.Width / 2, _gameBounds.Width) / 2;
                float angle  = (float)_rand.NextDouble() * MathHelper.TwoPi;
                float x      = _player.Center.X + radius * (float)Math.Cos(angle);
                float y      = _player.Center.Y + radius * (float)Math.Sin(angle);

                var boulder = new Boulder(ContentProvider.Boulder,
                                          new Vector2(x, y));
                _collisionEntities.Add(boulder.Guid.ToString(), boulder);
                _boulders.Add(boulder);
            }
        }
Пример #15
0
        private void canvas_MouseDown(object sender, MouseButtonEventArgs e)
        {
            if (isSnapShotTaken)
            {
                Point mouseClickPt = e.GetPosition(cameraIMG);
                //ColorSpacePoint _boulderCSP = new ColorSpacePoint { X = (float)mouseClickPt.X, Y = (float)mouseClickPt.Y };

                Boulder rockCorrespondsToCanvasPt =
                    rocksOnWallViewModel.GetRockInListByCanvasPoint(mouseClickPt);

                if (rockCorrespondsToCanvasPt == null)  // new rock
                {
                    double newBoulderWidthOnCanvas  = ConvertSliderValueToSizeOnCanvas(boulderWidthSlider.Value);
                    double newBoulderHeightOnCanvas = ConvertSliderValueToSizeOnCanvas(boulderHeightSlider.Value);

                    // check rock overlaps
                    if (rocksOnWallViewModel.IsOverlapWithRocksOnWall(
                            mouseClickPt, newBoulderWidthOnCanvas, newBoulderHeightOnCanvas)
                        == false)
                    {
                        CameraSpacePoint csp = jcWall.GetCamSpacePointFromMousePoint(mouseClickPt, _mode);
                        if (!csp.Equals(default(CameraSpacePoint)))
                        {
                            rocksOnWallViewModel.AddRock(csp, mouseClickPt, newBoulderWidthOnCanvas,
                                                         newBoulderHeightOnCanvas);
                        }
                        else
                        {
                            UiHelper.NotifyUser("No depth info is captured for this point!");
                        }
                    }
                    else
                    {
                        UiHelper.NotifyUser(RockOverlapsWarningMsg);
                    }
                }
                else  // rock already in list
                {
                    rocksOnWallViewModel.SelectedRock = rockCorrespondsToCanvasPt;
                    boulderWidthSlider.Value          = rockCorrespondsToCanvasPt.BCanvasWidth;
                    boulderHeightSlider.Value         = rockCorrespondsToCanvasPt.BCanvasHeight;
                }
            }
            else
            {
                UiHelper.NotifyUser("Please take snap shot first.");
            }
        }
Пример #16
0
    private void OnTimerTimeout()
    {
        if (!this.Active)
        {
            return;
        }

        this.SpawnLocation.UnitOffset = (float)random.Next(0, 100) / 100;

        Boulder boulder = (Boulder)Boulder.Instance();

        boulder.GlobalPosition = this.SpawnLocation.GlobalPosition;
        this.GetTree().CurrentScene.AddChild(boulder);

        this.EmitSignal(nameof(BoulderGenerated), boulder);
    }
Пример #17
0
        /// <summary>
        /// LoadContent will be called once per game and is the place to load
        /// all of your content.
        /// </summary>
        protected override void LoadContent()
        {
            // Create a new SpriteBatch, which can be used to draw textures.
            spriteBatch = new SpriteBatch(GraphicsDevice);

            initialNumberOfBoulders = 4;

            playerShip = new Player(Content.Load<Texture2D>("spaceship"), new Rectangle(200, 10, 25, 25), graphics);

            boulders = new List<Boulder>();
            for (int i = 0; i < initialNumberOfBoulders; i++)
            {
                Boulder boulder = new Boulder(Content.Load<Texture2D>("boulder"), new Rectangle(n.Next(0, graphics.GraphicsDevice.Viewport.Width), n.Next(0, graphics.GraphicsDevice.Viewport.Height), 200, 200), graphics);
                boulders.Add(boulder);
            }
        }
Пример #18
0
    public override void Perform()
    {
        //Angle
        var dir   = create.spawnDir;
        var angle = Mathf.Atan2(dir.y, dir.x) * Mathf.Rad2Deg - 90;

        //Create
        GameObject boulderObj = Instantiate(boulderPrefab, create.spawnPosition, Quaternion.Euler(0, 0, angle));
        Boulder    boulder    = boulderObj.GetComponent <Boulder>();

        boulder.speed = speed;
        boulder.Setup(create.creatable.collider, dir);

        //Effects
        //EffectManager.CreateBoulderCreateEffect(create.createPosition, Vector2.up);
        CameraController.Shake(0.5f);
    }
Пример #19
0
        public void MoveTowardsPlayer()
        {
            var player_pos = GameService.Player.GetComponent <PositionComponent>();
            var pos        = GetComponent <PositionComponent>();
            var movable    = GetComponent <CharMoveComponent>();
            var drawable   = GetComponent <CharacterRenderComponent>();

            if (TryCooldown("Cast", 120))
            {
                float force     = 30;
                var   distance  = player_pos.WorldPosition.Coords - pos.WorldPosition.Coords;
                var   direction = BallisticsHelper.GetThrowVector(force, Boulder.InverseMass, distance.X, distance.Y);

                drawable.StartAnimation(AnimationType.Cast, 20);
                EventHandler <AnimationEventArgs> handler = null;
                handler = (sender, e) =>
                {
                    if (e.animation == AnimationType.Cast)
                    {
                        if (direction != null)
                        {
                            var boulder = new Boulder((pos.WorldPosition).Coords)
                            {
                                Team = Team.Enemy
                            };
                            Game.AddToMainScene(boulder);
                            var b_movable = (DynamicPhysicsComponent)boulder;
                            b_movable.ApplyImpulse(direction.Value);
                        }

                        // Spells.FireBolt.Cast(this, player_pos.WorldPosition);
                        drawable._onAnimationEnd -= handler;
                    }
                };
                drawable._onAnimationEnd += handler;
            }
            if (Cooldowns.TryGetValue("Stun", out float val) && val > 0)
            {
                movable.move_direction = Direction.None;
            }
            else
            {
                movable.move_direction = pos.WorldPosition.Center.X < player_pos.WorldPosition.Center.X ? Direction.Right : Direction.Left;
            }
            movable.move_direction = Direction.None;
        }
        public PaginationSet <ProblemViewModel> Get(int id, int?page, int?pageSize)
        {
            PaginationSet <ProblemViewModel> pagedSet = null;

            try
            {
                int currentPage     = page.Value;
                int currentPageSize = pageSize.Value;

                List <Problem> _problems      = null;
                int            _totalProblems = new int();

                Boulder _boulder = _boulderRepository.GetSingle(a => a.Id == id, a => a.Problems);

                _problems = _boulder
                            .Problems
                            .OrderBy(p => p.Id)
                            .Skip(currentPage * currentPageSize)
                            .Take(currentPageSize)
                            .ToList();

                _totalProblems = _boulder.Problems.Count();

                IEnumerable <ProblemViewModel> _problemsVM = Mapper.Map <IEnumerable <Problem>, IEnumerable <ProblemViewModel> >(_problems);

                pagedSet = new PaginationSet <ProblemViewModel>()
                {
                    Page       = currentPage,
                    TotalCount = _totalProblems,
                    TotalPages = (int)Math.Ceiling((decimal)_totalProblems / currentPageSize),
                    Items      = _problemsVM
                };
            }
            catch (Exception ex)
            {
                _loggingRepository.Add(new Error()
                {
                    Message = ex.Message, StackTrace = ex.StackTrace, DateCreated = DateTime.Now
                });
                _loggingRepository.Commit();
            }

            return(pagedSet);
        }
Пример #21
0
    public override TileElement DecompileTileElement(ref Queue <int> dataInts, ref Queue <Shade> dataShades)
    {
        Boulder boulder = new Boulder();

        boulder.SetCoords(new int[]
        {
            dataInts.Dequeue(),
            dataInts.Dequeue(),
            dataInts.Dequeue()
        },
                          new int[]
        {
            dataInts.Dequeue(),
            dataInts.Dequeue(),
            dataInts.Dequeue()
        });
        boulder.SetPhysics(false, true, false, false);
        return(boulder);
    }
Пример #22
0
    public override void Perform()
    {
        //Where to put the boulder
        Vector2 rayDir = Vector2.down;

        if (!player.controller.collisions.below)
        {
            if (player.controller.collisions.left)
            {
                rayDir = Vector2.left;
            }
            if (player.controller.collisions.right)
            {
                rayDir = Vector2.right;
            }
        }

        //Setup Create
        create.Creating(rayDir);
        if (!create.creatable)
        {
            return;
        }

        //Stick spawnGoalPos to spawnPos
        create.spawnPosition = create.spawnGoalPosition;

        //Angle
        var dir   = create.spawnDir;
        var angle = Mathf.Atan2(dir.y, dir.x) * Mathf.Rad2Deg - 90;

        //Create
        GameObject boulderObj = Instantiate(boulderPrefab, create.spawnPosition, Quaternion.Euler(0, 0, angle));
        Boulder    boulder    = boulderObj.GetComponent <Boulder>();

        boulder.speed = speed;
        boulder.Setup(create.creatable.collider, dir);

        //Effects
        //EffectManager.CreateBoulderCreateEffect(create.createPosition, Vector2.up);
        CameraController.Shake(0.5f);
    }
Пример #23
0
    // Use this for initialization

    void Start()
    {
        //boulder positions
        Boulders = GameObject.FindGameObjectsWithTag("Other");

        //saves the score dependent on player position
        ScoreToSet = PlayerPrefs.GetInt("CheckScore", 0);
        PlayerPrefs.SetInt("score", ScoreToSet);
        PlayerPrefs.Save();

        //resets the boulder position
        foreach (GameObject Boulder in Boulders)
        {
            Boulder.GetComponent <Boulder_Script>().ResetSelf();
        }

        //for the player position with checkpoints
        gm = GameObject.FindGameObjectWithTag("GM").GetComponent <GameMaster>();
        transform.position = gm.lastCheckPointPos;
    }
Пример #24
0
        public void TestDecoratorToMakeObstacle()
        {
            GameObject obstacle = new DamageObstacle(baseObject);

            obstacle.Decorate();

            Assert.IsTrue(obstacle.damage > 0);

            obstacle = new Tree(obstacle);
            obstacle.Decorate();

            Assert.IsTrue(obstacle.shape == Shape.Ellipse);
            Assert.IsTrue(obstacle.brush == Brushes.DarkGreen);

            obstacle = new Wall(obstacle);
            obstacle.Decorate();

            Assert.IsTrue(obstacle.shape == Shape.Rectangle);
            Assert.IsTrue(obstacle.brush == Brushes.DarkGray);

            obstacle = new Water(obstacle);
            obstacle.Decorate();

            Assert.IsTrue(obstacle.shape == Shape.Rectangle);
            Assert.IsTrue(obstacle.brush == Brushes.DarkSlateBlue);

            obstacle = new Boulder(obstacle);
            obstacle.Decorate();

            Assert.IsTrue(obstacle.shape == Shape.Ellipse);
            Assert.IsTrue(obstacle.brush == Brushes.Gray);

            obstacle = new OutlineObstacle(obstacle);
            obstacle.Decorate();

            Color color = (obstacle.brush as SolidBrush).Color;

            Assert.IsTrue(obstacle.outlinePen.Color.Equals(color.Tint(Color.FromArgb(64, Color.Black))));
        }
 /// <summary>
 /// Update the boulder's data
 /// </summary>
 /// <param name="boulder">Boulder to update</param>
 public void UpdateBoulder(Boulder boulder)
 {
     bouldersObjects[boulder.difficulty].EditBoulder(boulder);
 }
Пример #26
0
 void Start()
 {
     boulder        = GetComponentInChildren <Boulder> ();
     boulderTrigger = GetComponentInChildren <BoulderTrigger> ();
 }
        public async Task EditAsyncEditsThePorpertiesAndSavesTheChanges(
            string name,
            string description,
            string gradeId,
            string gymId,
            string newName,
            string newDescription,
            string newGradeId,
            string newGymId,
            bool imageNull,
            string imageSource,
            string newImageSource)
        {
            // Arrange
            AutoMapperConfig.RegisterMappings(typeof(Test).Assembly, typeof(ErrorViewModel).Assembly);
            var saved = true;

            var boulder = new Boulder()
            {
                Name        = name,
                Description = description,
                GradeId     = gradeId,
                GymId       = gymId,
                Image       = new Image()
                {
                    Source = imageSource,
                },
            };

            var bouldersList = new List <Boulder>()
            {
                new Boulder(),
                new Boulder(),
                new Boulder(),
                boulder,
                new Boulder(),
                new Boulder(),
            };

            var repositoryMock = new Mock <IDeletableEntityRepository <Boulder> >();

            repositoryMock.Setup(x => x.All())
            .Returns(bouldersList.AsQueryable());

            repositoryMock.Setup(x => x.SaveChangesAsync())
            .Callback(() =>
            {
                saved = true;
            });

            var boulderEditModel = new BoulderInputModel()
            {
                Name        = newName,
                Description = newDescription,
                GymId       = newGymId,
                GradeId     = newGradeId,
            };

            var imageEditModel = new ImageInputModel()
            {
                Source = newImageSource,
            };

            if (imageNull)
            {
                imageEditModel = null;
            }

            var bouldersService = new BouldersService(repositoryMock.Object, AutoMapperConfig.MapperInstance);

            // Act
            await bouldersService.EditAsync(boulder.Id, boulderEditModel, imageEditModel);

            // Assert
            Assert.True(saved);

            Assert.Equal(newName, boulder.Name);
            Assert.Equal(newDescription, boulder.Description);
            Assert.Equal(newGradeId, boulder.GradeId);
            Assert.Equal(newGymId, boulder.GymId);

            var actualImage = boulder.Image;

            if (imageNull)
            {
                Assert.Equal(imageSource, actualImage.Source);
            }
            else
            {
                Assert.Equal(newImageSource, actualImage.Source);
            }
        }
Пример #28
0
    //this is for dealing with the players death
    public void Kill()
    {
        //takes away lives and saves the changes made
        livesObject.LoseLife();

        //taken oout saving of lives as it now serves as a death counter and isnt needed to save between levels
        //livesObject.SaveLives();

        //plays death sound on the kill of player
        Death.Play();

        //checks if its game over
        bool gameOver = livesObject.isGameOver();

        //if lives are = 0 go to game over screen however this will never be called due to lives being converted to a death counter
        if (gameOver == true)
        {
            //if game is over load game over
            SceneManager.LoadScene("Game Over");
        }
        else
        {
            //gets the current scene/level and reloads
            Scene currentLevel = SceneManager.GetActiveScene();
            // if it isnt game over...
            // reset to beginning

            //if the checkpoint isnt made then reset the level, however this doesnt save the scrolls and means that
            //once collected once they are permanently gone until the game fully resets
            if (ifMadeCheckpoint == false)
            {
                SceneManager.LoadScene(currentLevel.buildIndex);
            }
            else
            {
                //checks for boulders & invwalls tagged with other and resets them to their original position within the level
                // this could be reset however i felt that with the death counter
                // a constant resetting of scrolls would be unneccessary and the player could focus on traversing the level as
                //opposed to focusing on score solely

                Boulders = GameObject.FindGameObjectsWithTag("Other");

                foreach (GameObject Boulder in Boulders)
                {
                    Boulder.GetComponent <Boulder_Script>().ResetSelf();
                }

                InvWalls = GameObject.FindGameObjectsWithTag("MovingInvWalls");

                foreach (GameObject InvWall in InvWalls)
                {
                    Physics2D.IgnoreCollision(InvWall.GetComponent <Collider2D>(), GetComponent <Collider2D>());
                    InvWall.GetComponent <InvWalls>().ResetSelf();
                }


                //saves score when the player dies
                ScoreToSet = PlayerPrefs.GetInt("CheckScore", 0);
                PlayerPrefs.SetInt("score", ScoreToSet);
                PlayerPrefs.Save();

                //sets the player position to the last checkpoint with the tag of GM
                gm = GameObject.FindGameObjectWithTag("GM").GetComponent <GameMaster>();
                transform.position = gm.lastCheckPointPos;
            }
        }
    }
        private CardPrint GetCardPrint()
        {
            CardPrint retVal = new CardPrint();

            retVal.CANCEL           = Cancel;
            retVal.OnlyParticipants = cbOnlyReal.Checked;
            if (Cancel)
            {
                return(retVal);
            }
            if (!(cbLead.Checked || cbSpeed.Checked || cbBoulder.Checked))
            {
                MessageBox.Show(this, "Для печати в карточку ничего не выбрано.");
                retVal.CANCEL = true;
                return(retVal);
            }
            if (cbLead.Checked)
            {
                Lead l = new Lead();
                l.quali = cbLQuali.Checked;
                l.q1g   = rbL1gr.Checked;
                l.q2g   = rbL2gr.Checked;
                if (cbLead.Enabled && cbLead.Checked && rbLFlash.Enabled && rbLFlash.Checked)
                {
                    int nRn;
                    if (!int.TryParse(tbFlashRN.Text, out nRn))
                    {
                        MessageBox.Show(this, "Число трасс для квалификации flash введено неверно");
                        retVal.CANCEL = true;
                        return(retVal);
                    }
                    l.qFlashRN = nRn;
                }

                l.final     = cbLFinal.Checked;
                l.semi      = cbLSemi.Checked;
                l.super     = cbLSuper.Checked;
                retVal.lead = l;
            }

            if (cbSpeed.Checked)
            {
                Speed s = new Speed();
                if (rbS1q.Checked)
                {
                    s.q1 = !(s.q2 = false);
                }
                else
                {
                    s.q1 = s.q2 = true;
                }
                if (rbSF16.Checked)
                {
                    s.f16 = s.f8 = s.f4 = true;
                }
                else
                {
                    if (rbSF08.Checked)
                    {
                        s.f16 = false;
                        s.f4  = s.f8 = true;
                    }
                    else
                    {
                        s.f16 = s.f8 = false;
                        s.f4  = true;
                    }
                }
                retVal.speed = s;
            }

            if (cbBoulder.Checked)
            {
                int     nTmp;
                Boulder b = new Boulder();
                b.quali = cbBQuali.Checked;
                ClComp cSet = ClComp.Default;
                if (b.quali)
                {
                    b.q2g = rbB2g.Checked;
                    if (!int.TryParse(tbQroute.Text, out nTmp))
                    {
                        MessageBox.Show("Число трасс в квалификации боулдеринга введено неверно.");
                        retVal.CANCEL = true;
                        return(retVal);
                    }
                    cSet.tbQroute = nTmp.ToString();
                    b.rQuali      = nTmp;
                }

                b.semi = cbBSemi.Checked;
                if (b.semi)
                {
                    if (!int.TryParse(tbSroute.Text, out nTmp))
                    {
                        MessageBox.Show("Число трасс в полуфинале боулдеринга введено неверно.");
                        retVal.CANCEL = true;
                        return(retVal);
                    }
                    cSet.tbSroute = nTmp.ToString();
                    b.rSemi       = nTmp;
                }
                b.final = cbBFinal.Checked;
                if (b.final)
                {
                    if (!int.TryParse(tbFroute.Text, out nTmp))
                    {
                        MessageBox.Show("Число трасс в финале боулдеринга введено неверно.");
                        retVal.CANCEL = true;
                        return(retVal);
                    }
                    cSet.tbFroute = nTmp.ToString();
                    b.rFinal      = nTmp;
                }
                b.super        = cbBSuper.Checked;
                retVal.boulder = b;
            }
            return(retVal);
        }
Пример #30
0
    public void ActivateBoulder(params object[] parameterContainer)
    {
        Boulder boulder = (Boulder)parameterContainer[0];

        boulder.Activate();
    }
Пример #31
0
    public void DesactivateBoulder(params object[] parameterContainer)
    {
        Boulder boulder = (Boulder)parameterContainer[0];

        boulder.Reset();
    }