コード例 #1
0
        public async Task <IActionResult> Edit(int id, [Bind("HeldId,HeldName,HeldEigenschaft")] Held held)
        {
            if (id != held.HeldId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(held);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!HeldExists(held.HeldId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(held));
        }
コード例 #2
0
 protected virtual void OnHeld(ButtonHandlerEventArgs e)
 {
     if (!_initialized)
     {
         throw new InvalidOperationException($"Not initialized {_pin}");
     }
     Held?.Invoke(this, e);
 }
コード例 #3
0
        public async Task <IActionResult> Create([Bind("HeldId,HeldName,HeldEigenschaft")] Held held)
        {
            if (ModelState.IsValid)
            {
                _context.Add(held);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(held));
        }
コード例 #4
0
 private void Timer_Elapsed(object sender, ElapsedEventArgs e)
 {
     if (IsPressed)
     {
         Held?.Invoke(this, EventArgs.Empty);                    // fire the event
         timer.Interval = 100;                                   // sebsequent events fire every tenth second
     }
     else
     {
         timer.Enabled  = false;                                                 // kill the timer, we're done
         timer.Interval = 500;                                                   // reset to startup delay
     }
 }
コード例 #5
0
    public void Hold()
    {
        GameObject heldO = GameObject.Find("Held");
        Held       held  = heldO.GetComponent <Held> ();

        if (held.color == -1)
        {
            Held      = NextColor;
            NextColor = Random.Range(0, 6);
        }
        else if (held.color != -1)
        {
            int temp = held.color;
            Held      = NextColor;
            NextColor = temp;
        }
    }
コード例 #6
0
ファイル: Player.cs プロジェクト: Esherymack/CSMud
 // Drop a held item.
 public void Drop(Item thing)
 {
     Held.Remove(thing);
 }
コード例 #7
0
ファイル: Player.cs プロジェクト: Esherymack/CSMud
 // Hold an item in your hand
 public void Hold(Item thing)
 {
     Held.Add(thing);
 }
コード例 #8
0
        private async Task DoForaging(Player player, Room room)
        {
            player.Status = Player.PlayerStatus.Busy;

            await Task.Delay(500);

            HubContext.Instance.SendToClient("You continue searching the area.",
                                             player.HubGuid);


            player.PlayerIsForaging = true;
            foreach (var character in room.players)
            {
                if (character != player)
                {
                    var roomMessage =
                        $"{Helpers.ReturnName(player, character, string.Empty)} continues searching the area.";

                    HubContext.Instance.SendToClient(roomMessage, character.HubGuid);
                }
            }

            await Task.Delay(500);

            var    foragingAB   = player.Skills.FirstOrDefault(x => x.Name.Equals("Foraging"));
            double getSkillProf = 0;

            if (foragingAB != null)
            {
                getSkillProf = foragingAB.Points;
            }

            var getItems = room.ForageItems.Where(x => x.ForageRank <= player.ForageRank).ToList();

            if (getItems.Count == 0 && room.terrain == Room.Terrain.City)
            {
                getItems = new ItemContainer();

                if (Helpers.Rand(1, 100) <= 50)
                {
                    getItems.Add(Held.TatteredRag());

                    getItems.Add(Held.ScrapMetal());
                }
            }
            else if (room.terrain == Room.Terrain.City)
            {
                if (Helpers.Rand(1, 100) <= 50)
                {
                    getItems.Add(Held.TatteredRag());

                    getItems.Add(Held.ScrapMetal());
                }
            }

            var successChance = Helpers.Rand(1, 100);

            if (getSkillProf >= successChance && getItems.Count > 0)
            {
                var YouFound = "You found " +
                               Helpers.ReturnName(null, null, getItems[Helpers.Rand(0, getItems.Count)].name).ToLower() + ".";


                var item = getItems[Helpers.Rand(0, getItems.Count)];

                item.location = Item.Item.ItemLocation.Inventory;
                item.type     = Item.Item.ItemType.Food;
                item.hidden   = false;

                PlayerSetup.Player.AddItem(player, item);

                HubContext.Instance.SendToClient(YouFound, player.HubGuid);
            }

            else
            {
                var failMessage = "";

                if (room.terrain == Room.Terrain.City)
                {
                    failMessage = "You fail to find anything.";
                }
                else
                {
                    switch (Helpers.Rand(1, 4))
                    {
                    case 1:
                        failMessage = "A bee has stung you on the hand, Ouch!";
                        break;

                    case 2:
                    case 3:
                        failMessage = "You fail to find anything worth taking.";
                        break;

                    default:
                        failMessage = "You don't recognise any of the flora here.";
                        break;
                    }
                }



                HubContext.Instance.SendToClient(failMessage, player.HubGuid);


                if (getSkillProf < 99)
                {
                    HubContext.Instance.SendToClient("You learn from your mistakes and gain 100 experience points",
                                                     player.HubGuid);

                    var xp = new Experience();
                    player.Experience += 100;

                    xp.GainLevel(player);

                    foragingAB.Points += Helpers.Rand(1, 5);


                    if (foragingAB.Points > 99)
                    {
                        foragingAB.Points = 99;
                    }
                }

                if (foragingAB.Points == 99)
                {
                    HubContext.Instance.SendToClient("You must commit to a craft to progress further",
                                                     player.HubGuid);
                }



                Score.ReturnScoreUI(player);
            }

            player.ActiveSkill      = null;
            player.PlayerIsForaging = false;
        }
コード例 #9
0
 static void Main(string[] args)
 {
     Held held1 = new Held(HeldType.Barbaar, "Conan");
 }
コード例 #10
0
ファイル: Program.cs プロジェクト: KobeVanHout/HeroopQuest
 static void Main(string[] args)
 {
     Held held1 = new Held(HeroType.Barbaar, "Conan");
     Held held2 = new Held(HeroType.Tovenaar, "Bard");
 }
コード例 #11
0
        private void Update()
        {
            // Do nothing if we aren't playing Nunchaku
            if (Configuration.instance.ConfigurationData.PlayMode != PlayMode.Nunchaku)
            {
                return;
            }

            var config = Configuration.instance.ConfigurationData;

            // Resolve Trigger button presses
            var inputManager = BehaviorCatalog.instance.InputManager;

            bool bothTriggerClicked  = inputManager.GetBothTriggerClicked();
            bool leftTriggerClicked  = inputManager.GetLeftTriggerClicked();
            bool rightTriggerClicked = inputManager.GetRightTriggerClicked();

            if (bothTriggerClicked)
            {
                this.HeldState = Held.Both;
            }
            else
            {
                if (leftTriggerClicked)
                {
                    this.HeldState = Held.Left;
                }
                if (rightTriggerClicked)
                {
                    this.HeldState = Held.Right;
                }
            }

            // Move the link meshes first
            Utilities.MoveLinkMeshes(this.linkMeshes, this.physicsChain, config.NunchakuLength / 100.0f);

            // Move the Sabers into place
            Pose leftSaberPose  = BehaviorCatalog.instance.SaberDeviceManager.GetLeftSaberPose(config.LeftNunchakuTracker);
            Pose rightSaberPose = BehaviorCatalog.instance.SaberDeviceManager.GetRightSaberPose(config.RightNunchakuTracker);

            var rightChain = this.physicsChain.First();
            var leftChain  = this.physicsChain.Last();

            Pose newLeftSaberPose;
            Pose newRightSaberPose;

            switch (this.HeldState)
            {
            case Held.Left:
                // Move the left saber to the left controller position and right saber to the end of the chain
                Pose rightChainPose = new Pose(
                    rightChain.gameObject.transform.position / 10.0f,
                    rightChain.gameObject.transform.rotation * Quaternion.Euler(0.0f, 90.0f, 0.0f));

                newLeftSaberPose  = config.ReverseNunchaku ? rightChainPose : leftSaberPose.Reverse();
                newRightSaberPose = config.ReverseNunchaku ? leftSaberPose.Reverse() : rightChainPose;
                break;

            case Held.Right:
                // Move the right saber to the right controller position and the left saber to the end of the chain
                Pose leftChainPose = new Pose(
                    leftChain.gameObject.transform.position / 10.0f,
                    leftChain.gameObject.transform.rotation * Quaternion.Euler(0.0f, -90.0f, 0.0f));

                newRightSaberPose = config.ReverseNunchaku ? leftChainPose : rightSaberPose.Reverse();
                newLeftSaberPose  = config.ReverseNunchaku ? rightSaberPose.Reverse() : leftChainPose;
                break;

            case Held.Both:
            default:
                // Move sabers to controller position
                newRightSaberPose = rightSaberPose.Reverse();
                newLeftSaberPose  = leftSaberPose.Reverse();
                break;
            }

            var saberDevice = BehaviorCatalog.instance.SaberDeviceManager;

            saberDevice.SetLeftSaberPose(newLeftSaberPose);
            saberDevice.SetRightSaberPose(newRightSaberPose);
        }
コード例 #12
0
 private void HoldButton_Pressed(object sender, EventArgs e)
 {
     IsPressed = true;                                   // note button is pressed
     Held?.Invoke(this, EventArgs.Empty);                // fire the event at least once at the start
     timer.Enabled = true;                               // start timer w/initial half-second startup delay
 }