コード例 #1
0
        // Release conditions are a little different than grab
        bool inputCheckRelease()
        {
            var grabbingGrabbable = RemoteGrabbingItem ? flyingGrabbable : HeldGrabbable;

            // Can't release anything we're not holding
            if (grabbingGrabbable == null)
            {
                return(false);
            }

            // Check Hold Controls
            HoldType   closestHoldType   = getHoldType(grabbingGrabbable);
            GrabButton closestGrabButton = GetGrabButton(grabbingGrabbable);

            if (closestHoldType == HoldType.HoldDown)
            {
                return(getGrabInput(closestGrabButton) <= ReleaseGripAmount);
            }
            // Check for toggle controls
            else if (closestHoldType == HoldType.Toggle)
            {
                return(getToggleInput(closestGrabButton));
            }

            return(false);
        }
コード例 #2
0
 public static Task HoldAsync(this AudioVideoFlow flow,
                              HoldType holdType)
 {
     return(Task.Factory.FromAsync(
                flow.BeginHold, flow.EndHold,
                holdType, null));
 }
コード例 #3
0
 public static Task HoldAsync(this AudioVideoFlow flow,
     HoldType holdType)
 {
     return Task.Factory.FromAsync(
         flow.BeginHold, flow.EndHold,
        holdType, null);
 }
コード例 #4
0
        public virtual bool GetInputDownForGrabbable(Grabbable grabObject)
        {
            if (grabObject == null)
            {
                return(false);
            }

            // Check Hold Controls
            HoldType   closestHoldType   = getHoldType(grabObject);
            GrabButton closestGrabButton = GetGrabButton(grabObject);

            // Hold to grab controls
            if (closestHoldType == HoldType.HoldDown)
            {
                bool grabInput = getGrabInput(closestGrabButton) >= GripAmount;

                if (closestGrabButton == GrabButton.Grip && !FreshGrip)
                {
                    return(false);
                }

                //if(HandSide == ControllerHand.Left && InputBridge.Instance.LeftTrigger > 0.9f) {
                //    Debug.Log("Trigger Down");
                //}

                return(grabInput);
            }
            // Check Toggle Controls
            else if (closestHoldType == HoldType.Toggle)
            {
                return(getToggleInput(closestGrabButton));
            }

            return(false);
        }
コード例 #5
0
ファイル: HoldViewer.cs プロジェクト: vaaski/apollo-studio
        public void SetHoldMode(HoldType value)
        {
            HoldMode.SelectedIndex = (int)value;

            Duration.Enabled  = Gate.Enabled = value != HoldType.Infinite;
            Release.IsEnabled = value != HoldType.Minimum;
        }
コード例 #6
0
 public static Task HoldAsync(this AudioVideoFlow flow,
                              HoldType holdType,
                              IEnumerable <SignalingHeader> headers)
 {
     return(Task.Factory.FromAsync(
                flow.BeginHold, flow.EndHold,
                holdType, headers, null));
 }
コード例 #7
0
 public static Task HoldAsync(this AudioVideoFlow self, HoldType holdType)
 {
     return Task.Factory.FromAsync<HoldType>(
         self.BeginHold,
         self.EndHold,
         holdType,
         null);
 }
コード例 #8
0
 public static Task HoldAsync(this AudioVideoFlow flow,
     HoldType holdType,
     IEnumerable<SignalingHeader> headers)
 {
     return Task.Factory.FromAsync(
         flow.BeginHold, flow.EndHold,
        holdType, headers, null);
 }
コード例 #9
0
 public static Task HoldAsync(this AudioVideoFlow self, HoldType holdType, params SignalingHeader[] headers)
 {
     return Task.Factory.FromAsync<HoldType, IEnumerable<SignalingHeader>>(
         self.BeginHold,
         self.EndHold,
         holdType,
         headers,
         null);
 }
コード例 #10
0
        private void manageBodyFrame()
        {
            //if (WeaponOutLite.Disabled) return;
            if (Main.netMode == 2)
            {
                return;                    // Oh yeah, server calls this so don't pls
            }
            //change idle pose for player using a heavy weapon
            //copypasting from drawPlayerItem
            Item heldItem = player.inventory[player.selectedItem];

            if (heldItem == null || heldItem.type == 0 || heldItem.holdStyle != 0 || !ModConf.showWeaponOut)
            {
                return;                                                                                              //no item so nothing to show
            }
            Texture2D weaponTex = weaponTex = Main.itemTexture[heldItem.type];

            if (weaponTex == null)
            {
                return;                    //no texture to item so ignore too
            }
            float itemWidth  = weaponTex.Width * heldItem.scale;
            float itemHeight = weaponTex.Height * heldItem.scale;

            if (heldItem.modItem != null)
            {
                if (Main.itemAnimations[heldItem.type] != null)
                {
                    itemHeight /= Main.itemAnimations[heldItem.type].FrameCount;
                }
            }
            float larger             = Math.Max(itemWidth, itemHeight);
            int   playerBodyFrameNum = player.bodyFrame.Y / player.bodyFrame.Height;
            // Is a long gun
            HoldType customHold = getCustomHoldType(heldItem);

            if (customHold == HoldType.LargeGun
                ||
                (customHold == HoldType.None && // only when none set
                 (heldItem.useStyle == 5 &&
                  weaponTex.Width >= weaponTex.Height * 1.2f &&
                  (!heldItem.noUseGraphic || !heldItem.melee) &&
                  larger >= 45 &&
                  WeaponVisual))  //toggle with accessory1 visibility, or forceshow is on
                )
            {
                if (playerBodyFrameNum == 0)
                {
                    player.bodyFrame.Y = 10 * player.bodyFrame.Height;
                }
            }
        }
コード例 #11
0
ファイル: HoldViewer.cs プロジェクト: vaaski/apollo-studio
        void HoldMode_Changed(object sender, SelectionChangedEventArgs e)
        {
            HoldType selected = (HoldType)HoldMode.SelectedIndex;

            if (_hold.HoldMode != selected)
            {
                Program.Project.Undo.AddAndExecute(new Hold.HoldModeUndoEntry(
                                                       _hold,
                                                       _hold.HoldMode,
                                                       selected,
                                                       HoldMode.Items
                                                       ));
            }
        }
コード例 #12
0
        public HoldType GetHoldTypeRecord(string recordID, string UserSNo)
        {
            HoldType      Holdtype = new HoldType();
            SqlDataReader dr       = null;

            try
            {
                SqlParameter[] Parameters = { new SqlParameter("@SNo", recordID), new SqlParameter("@UserID", Convert.ToInt32(UserSNo)) };
                dr = SqlHelper.ExecuteReader(DMLConnectionString.WebConfigConnectionString, CommandType.StoredProcedure, "GetRecordHoldType", Parameters);
                if (dr.Read())
                {
                    Holdtype.SNo           = Convert.ToInt32(recordID);
                    Holdtype.Hold_Type     = Convert.ToString(dr["Hold_Type"]).ToUpper();
                    Holdtype.HoldTypeCode  = Convert.ToString(dr["HoldTypeCode"]).ToUpper();
                    Holdtype.HoldMessage   = Convert.ToString(dr["HoldMessage"]).ToUpper();
                    Holdtype.UnHoldMessage = Convert.ToString(dr["UnHoldMessage"]).ToUpper();
                    Holdtype.IsAutoHold    = Convert.ToBoolean(dr["IsAutoHold"]);
                    Holdtype.AutoHold      = dr["AutoHold"].ToString().ToUpper();
                    if (!String.IsNullOrEmpty(dr["IsRestrictChangeFinalization"].ToString()))
                    {
                        Holdtype.IsRestrictChangeFinalization = Convert.ToBoolean(dr["IsRestrictChangeFinalization"]);
                        Holdtype.RestrictChangeFinalization   = dr["RestrictChangeFinalization"].ToString().ToUpper();
                    }

                    if (!String.IsNullOrEmpty(dr["IsActive"].ToString()))
                    {
                        Holdtype.IsActive = Convert.ToBoolean(dr["IsActive"]);
                        Holdtype.Active   = dr["Active"].ToString().ToUpper();
                    }
                    Holdtype.CreatedBy           = dr["CreatedUser"].ToString().ToUpper();
                    Holdtype.UpdatedBy           = dr["UpdatedUser"].ToString().ToUpper();
                    Holdtype.hdnEditSno          = dr["SNo"].ToString() != "" ? dr["SNo"].ToString() : "";
                    Holdtype.IsAutoUnhold        = Convert.ToBoolean(dr["IsAutoUnhold"]);
                    Holdtype.Text_IsAutoUnhold   = dr["Text_IsAutoUnHold"].ToString().ToUpper();
                    Holdtype.ExcludeProduct      = dr["ExcludeProduct"] == DBNull.Value ? "" : Convert.ToString(dr["ExcludeProduct"]);
                    Holdtype.Text_ExcludeProduct = dr["Text_ExcludeProduct"] == DBNull.Value ? "" : Convert.ToString(dr["Text_ExcludeProduct"]);
                    Holdtype.Airline             = dr["Airline"] == DBNull.Value ? "" : Convert.ToString(dr["Airline"]);
                    Holdtype.Text_Airline        = dr["Text_Airline"] == DBNull.Value ? "" : Convert.ToString(dr["Text_Airline"]);
                }
            }
            catch (Exception ex)// //(Exception ex)
            {
                dr.Close();
                throw ex;
            }
            return(Holdtype);
        }
コード例 #13
0
        HoldType getHoldType(Grabbable grab)
        {
            HoldType closestHoldType = grab.Grabtype;

            // Inherit from Grabber
            if (closestHoldType == HoldType.Inherit)
            {
                closestHoldType = DefaultHoldType;
            }

            // Inherit isn't a value in itself. Use "hold down" instead and warn the user
            if (closestHoldType == HoldType.Inherit)
            {
                closestHoldType = HoldType.HoldDown;
                Debug.LogWarning("Inherit found on both Grabber and Grabbable. Consider updating the Grabber's DefaultHoldType");
            }

            return(closestHoldType);
        }
コード例 #14
0
        public void Update(float deltaTime)
        {
            Vector3 playerPosition = _player.worldPosition;

            _bodyRig.worldPosition = playerPosition;
            _bodyRig.viewAngle     = _player.viewAngle;
            _bodyRig.moveSpeed     = new Vector2(_player.velocity.x, _player.velocity.z).magnitude *deltaTime * 1.45f;
            _bodyRig.landed        = _player._physics.landed;

            _handleRig.worldPosition   = playerPosition;
            _handleRig.viewAngle       = _player.viewAngle;
            _handleRig.cameraViewAngle = _player.worldCamera.viewAngle;

            GetEntityPart(PartType.Scarf).worldPosition = Vector3.Lerp(GetEntityPart(PartType.Body).worldPosition, GetEntityPart(PartType.Head).worldPosition, 0.3f);
            GetEntityPart(PartType.Tail).worldPosition  = playerPosition + CustomMath.HorizontalRotate(new Vector3(-0.3f, 0.75f + Mathf.Sin(_runfactor * 2f) * -0.05f, Mathf.Sin(_runfactor * 2f) * 0.05f), _player.viewAngle);

            for (int index = 0; index < entityParts.Count; index++)
            {
                _player._entityParts[index].viewAngle = _player.viewAngle;
            }

            HoldType holdType = HoldType.None;

            EntityPart item = GetEntityPart(PartType.Item);

            item.element = null;

            if (!_player._pickedItemContainer.blank)
            {
                Item pickingItem = _player.pickItemStack.item;

                item.element = pickingItem.element;
                holdType     = pickingItem.holdType;
            }

            _handleRig.ChangeHoldState(holdType);

            _bodyRig.Update(deltaTime);
            _handleRig.Update(deltaTime);
        }
コード例 #15
0
        // See if we are inputting controls to grab an item
        protected virtual bool inputCheckGrab()
        {
            // Can only hold one grabbable at a time
            if (HeldGrabbable != null)
            {
                return(false);
            }

            // Nothing nearby to grab
            Grabbable closest = getClosestOrRemote();

            if (closest == null)
            {
                return(false);
            }

            // Check Hold Controls
            HoldType   closestHoldType   = getHoldType(closest);
            GrabButton closestGrabButton = GetGrabButton(closest);

            // Hold to grab controls
            if (closestHoldType == HoldType.HoldDown)
            {
                bool grabInput = getGrabInput(closestGrabButton) >= GripAmount;

                if (closestGrabButton == GrabButton.Grip && !FreshGrip)
                {
                    return(false);
                }

                return(grabInput);
            }
            // Toggle controls
            else if (closestHoldType == HoldType.Toggle)
            {
                return(getToggleInput(closestGrabButton));
            }

            return(false);
        }
コード例 #16
0
ファイル: Hold.cs プロジェクト: DavidDworetzky/Sym.NET
 public Hold(HoldType holdType, RecurringStop achRecurringStop, string effectiveDate, string expirationDate,
             string expirationTime, string recordChangeDate,
             string matchDate,
             string matchTime,
             string transactionType,
             string feeCode,
             Decimal holdAmount,
             string reference1,
             string reference2,
             string reference3,
             string payeeName,
             string memberBranch,
             string stopReasonCode,
             string reference4,
             int locator)
 {
     Type             = holdType;
     ACHRecurringStop = achRecurringStop;
     EffectiveDate    = effectiveDate.ParseNullableSymDateString();
     ExpirationDate   = expirationDate.ParseNullableSymDateString();
     ExpirationTime   = expirationTime.ParseNullableSymHoursAndMinutesString();
     RecordChangeDate = recordChangeDate.ParseNullableSymDateString();
     MatchDate        = matchDate.ParseNullableSymDateString();
     MatchTime        = matchTime.ParseNullableSymHoursAndMinutesString();
     TransactionType  = transactionType;
     FeeCode          = feeCode;
     HoldAmount       = holdAmount;
     Reference1       = reference1;
     Reference2       = reference2;
     Reference3       = reference3;
     PayeeName        = payeeName;
     MemberBranch     = memberBranch;
     StopReasonCode   = stopReasonCode;
     Reference4       = reference4;
     Locator          = locator;
 }
コード例 #17
0
 public HoldDefinition(int nr, HoldType type)
 {
     this.HoldNr   = nr;
     this.HoldType = type;
 }
コード例 #18
0
ファイル: PlayerWOFX.cs プロジェクト: Milliath/WeaponOut
        private static void PickItemDrawType(bool drawOnBack, Player drawPlayer, Item heldItem, bool isYoyo, int gWidth, int gHeight, ref DrawData data, float itemWidth, float itemHeight, float larger, float lesser)
        {
            HoldType holdType = HoldType.None;

            // Don't draw items with draw slots
            if (heldItem.handOnSlot > 0 || heldItem.handOffSlot > 0)
            {
                return;
            }

            #region AutoPicker
            if (heldItem.useStyle == 1 || //swing
                heldItem.useStyle == 2 || //eat
                heldItem.useStyle == 3)   //stab
            {
                //|       ######
                //|       ##  ##
                //|     ##########
                //|       ##  ##
                //|       ##  ##
                //|       ##  ##
                //|       ##  ##
                //|         ##
                //Items, daggers and other throwables lie below 28 and are easily held in the hand
                if ((larger < 28 && !heldItem.magic) ||      //nonmagic weapons
                    (larger <= 32 && heldItem.shoot != 0) || //larger for throwing weapons
                    (larger <= 24 && heldItem.magic))        //only smallest magic weapons
                {
                    if (drawPlayer.grapCount > 0)
                    {
                        return;                           // can't see while grappling
                    }
                    if (DEBUG_WEAPONHOLD && drawPlayer.controlHook)
                    {
                        Main.NewText(heldItem.useStyle + "(hand): " + itemWidth + " x " + itemHeight);
                    }
                    if (drawOnBack)
                    {
                        return;
                    }
                    holdType = HoldType.Hand;
                }
                //|             ####
                //|           ##  ##
                //|         ##  ##
                //|       ##  ##
                //|   ####  ##
                //|   ##  ##
                //| ##  ####
                //| ####
                //Broadsword weapons are swing type weapons between 28 - 48
                //They are worn on the waist, and react to falling! Except when disabled
                //This also amusingly applies to ducks, axes and rockfish
                //But shouldn't apply to pickaxes, except when they are also not pickaxes
                else if (larger <= 48 &&
                         (heldItem.pick <= 0 ||
                          (heldItem.pick > 0 && heldItem.axe > 0)))
                {
                    if (DEBUG_WEAPONHOLD && drawPlayer.controlHook)
                    {
                        Main.NewText(heldItem.useStyle + "(waist): " + itemWidth + " x " + itemHeight);
                    }
                    if (!drawOnBack)
                    {
                        return;
                    }
                    holdType = HoldType.Waist;
                }
                //|           ########
                //|           ##    ##
                //|         ##    ####
                //|   ##  ##    ##
                //|   ####    ##
                //|   ##  ####
                //| ##  ########
                //| ######
                //Great weapons are swing type weapons past 36 in size and slung on the back
                else
                {
                    if (DEBUG_WEAPONHOLD && drawPlayer.controlHook)
                    {
                        Main.NewText(heldItem.useStyle + "(back): " + itemWidth + " x " + itemHeight);
                    }
                    if (!drawOnBack)
                    {
                        return;
                    }
                    holdType = HoldType.Back;
                }
            }

            if (heldItem.useStyle == 4 || //hold up
                heldItem.useStyle == 5)   //hold out
            {
                bool isAStaff = Item.staff[heldItem.type];
                //staves, guns and bows
                if (gHeight >= gWidth * 1.2f && !isAStaff)
                {
                    //|    ######
                    //|    ##  ######
                    //|    ##    ##  ##
                    //|    ##    ##  ##
                    //|    ##    ##  ##
                    //|    ##    ##  ##
                    //|    ##  ######
                    //|    ######
                    //bows
                    if (drawPlayer.grapCount > 0)
                    {
                        return;                           // can't see while grappling
                    }
                    if (DEBUG_WEAPONHOLD && drawPlayer.controlHook)
                    {
                        Main.NewText(heldItem.useStyle + "(bow): " + itemWidth + " x " + itemHeight);
                    }
                    if (drawOnBack)
                    {
                        return;
                    }
                    holdType = HoldType.Bow;
                }
                else if (gWidth >= gHeight * 1.2f && !isAStaff)
                {
                    if (heldItem.noUseGraphic && heldItem.melee)
                    {
                        //|
                        //|    ####
                        //|  ##  ##########
                        //|  ####    ##    ####
                        //|  ##  ##  ##        ####
                        //|  ##      ##  ######
                        //|    ############
                        //|
                        //drills, chainsaws
                        if (drawPlayer.grapCount > 0)
                        {
                            return;                           // can't see while grappling
                        }
                        if (DEBUG_WEAPONHOLD && drawPlayer.controlHook)
                        {
                            Main.NewText(heldItem.useStyle + "(drill): " + itemWidth + " x " + itemHeight);
                        }
                        if (drawOnBack)
                        {
                            return;
                        }
                        holdType = HoldType.PowerTool;
                    }
                    else
                    {
                        if (larger < 45)
                        {
                            //| ####        ####
                            //| ##  ########  ##
                            //|   ####        ##
                            //|   ##    ########
                            //|   ##  ##  ##
                            //|   ##  ####
                            //|   ######
                            //|
                            if (drawPlayer.grapCount > 0)
                            {
                                return;                           // can't see while grappling
                            }
                            if (DEBUG_WEAPONHOLD && drawPlayer.controlHook)
                            {
                                Main.NewText(heldItem.useStyle + "(pistol): " + itemWidth + " x " + itemHeight);
                            }
                            if (drawOnBack)
                            {
                                return;
                            }
                            //small aimed weapons (like handgun/aquasceptre) held halfway down, 1/3 back
                            holdType = HoldType.SmallGun;
                        }
                        else
                        {
                            //|
                            //|               ##
                            //| ######################
                            //| ##  ##      ##  ##
                            //| ##  ############
                            //| ####  ##    ##
                            //|     ####    ##
                            //|
                            if (DEBUG_WEAPONHOLD && drawPlayer.controlHook)
                            {
                                Main.NewText(heldItem.useStyle + "(rifle): " + itemWidth + " x " + itemHeight);
                            }
                            if (drawOnBack)
                            {
                                return;
                            }
                            //large guns (rifles, launchers, etc.) held with both hands
                            holdType = HoldType.LargeGun;
                        }
                    }
                }
                else
                {
                    if (heldItem.noUseGraphic && !isAStaff)
                    {
                        if (!heldItem.autoReuse)
                        {
                            if (drawPlayer.grapCount > 0)
                            {
                                return;                           // can't see while grappling
                            }
                            if (DEBUG_WEAPONHOLD && drawPlayer.controlHook)
                            {
                                Main.NewText(heldItem.useStyle + "(polearm): " + itemWidth + " x " + itemHeight);
                            }
                            if (drawOnBack)
                            {
                                return;
                            }
                            if (isYoyo)
                            {
                                //sam (?why did i write sam? maybe same?)
                                data = WeaponDrawInfo.modDraw_HandWeapon(data, drawPlayer, larger, lesser, isYoyo);
                            }
                            else
                            {
                                //|             ####
                                //|         ####  ##
                                //|       ##    ##
                                //|         ##  ##
                                //|       ##  ##
                                //|     ##
                                //|   ##
                                //| ##
                                //spears are held facing to the floor, maces generally held
                                holdType = HoldType.Spear;
                            }
                        }
                        else
                        {
                            //nebula blaze, flairon, solar eruption (too inconsistent)
                            if (larger <= 48)
                            {
                                if (DEBUG_WEAPONHOLD && drawPlayer.controlHook)
                                {
                                    Main.NewText(heldItem.useStyle + "(waist safe): " + itemWidth + " x " + itemHeight);
                                }
                                if (!drawOnBack)
                                {
                                    return;
                                }
                                holdType = HoldType.Waist;
                            }
                            else
                            {
                                if (DEBUG_WEAPONHOLD && drawPlayer.controlHook)
                                {
                                    Main.NewText(heldItem.useStyle + "(back safe): " + itemWidth + " x " + itemHeight);
                                }
                                if (!drawOnBack)
                                {
                                    return;
                                }
                                holdType = HoldType.Back;
                            }
                        }
                    }
                    else
                    {
                        if (larger + lesser <= 72) //only smallest magic weapons
                        {
                            //|         ######
                            //|       ##  ##  ##
                            //|     ##      ##  ##
                            //|   ##        ######
                            //| ##        ##  ##
                            //| ##      ##  ##
                            //|   ##  ##  ##
                            //|     ######
                            if (drawPlayer.grapCount > 0)
                            {
                                return;                           // can't see while grappling
                            }
                            if (DEBUG_WEAPONHOLD && drawPlayer.controlHook)
                            {
                                Main.NewText(heldItem.useStyle + "(hand magic): " + itemWidth + " x " + itemHeight);
                            }
                            if (drawOnBack)
                            {
                                return;
                            }
                            holdType = HoldType.Hand;
                        }
                        else if (lesser <= 42) //medium sized magic weapons, treated like polearms
                        {
                            if (drawPlayer.grapCount > 0)
                            {
                                return;                           // can't see while grappling
                            }
                            if (DEBUG_WEAPONHOLD && drawPlayer.controlHook)
                            {
                                Main.NewText(heldItem.useStyle + "(polearm magic): " + itemWidth + " x " + itemHeight);
                            }
                            if (drawOnBack)
                            {
                                return;
                            }
                            holdType = HoldType.Spear;
                        }
                        else   //largestaves are held straight up
                               //|
                               //|             ####
                               //|   ############  ##
                               //| ##        ##      ##
                               //|   ############  ##
                               //|             ####
                               //|
                               //|
                        {
                            if (drawPlayer.grapCount > 0)
                            {
                                return;                           // can't see while grappling
                            }
                            if (DEBUG_WEAPONHOLD && drawPlayer.controlHook)
                            {
                                Main.NewText(heldItem.useStyle + "(staff): " + itemWidth + " x " + itemHeight);
                            }
                            if (drawOnBack)
                            {
                                return;
                            }
                            //staves
                            holdType = HoldType.Staff;
                        }
                    }
                }
            }
            #endregion

            switch (holdType)
            {
            case HoldType.Hand: data = WeaponDrawInfo.modDraw_HandWeapon(data, drawPlayer, larger, lesser); break;

            case HoldType.Waist: data = WeaponDrawInfo.modDraw_WaistWeapon(data, drawPlayer, larger); break;

            case HoldType.Spear: data = WeaponDrawInfo.modDraw_PoleWeapon(data, drawPlayer, larger); break;

            case HoldType.PowerTool: data = WeaponDrawInfo.modDraw_DrillWeapon(data, drawPlayer, larger); break;

            case HoldType.Back: data = WeaponDrawInfo.modDraw_BackWeapon(data, drawPlayer, larger); break;

            case HoldType.Bow: data = WeaponDrawInfo.modDraw_ForwardHoldWeapon(data, drawPlayer, lesser); break;

            case HoldType.SmallGun: data = WeaponDrawInfo.modDraw_AimedWeapon(data, drawPlayer, larger); break;

            case HoldType.LargeGun: data = WeaponDrawInfo.modDraw_HeavyWeapon(data, drawPlayer, lesser); break;

            case HoldType.Staff: data = WeaponDrawInfo.modDraw_MagicWeapon(data, drawPlayer, larger); break;

            default: return;
            }

            //Add the weapon to the draw layers
            Main.playerDrawData.Add(data);
            WeaponDrawInfo.drawGlowLayer(data, drawPlayer, heldItem);
        }
コード例 #19
0
    public void OnTakeButtonClick()
    {
        Ray ray = Camera.main.ScreenPointToRay(new Vector3(Screen.width / 2, Screen.height / 2, 0));//射线

        RaycastHit hit;

        if (Physics.Raycast(ray, out hit, 1))//发射射线(射线,射线碰撞信息,射线长度,射线会检测的层级)
        {
            // 拿食物
            if (hit.collider.tag == "food" && GameManager.Instance.CurrentPlayerState == GameManager.PlayerState.notTake &&
                CurrentHoldType == HoldType.empty)
            {
                logText.text = "takeFood";
                GameManager.Instance.TakeObject(FoodItem);
                CurrentHoldType = HoldType.food;
            }
            // 拿未切的食物
            if (hit.collider.tag == "cut" && GameManager.Instance.CurrentPlayerState == GameManager.PlayerState.notTake &&
                hit.collider.GetComponent <CutPlace>().CurrentState == CutPlace.cutState.hasfood &&
                CurrentHoldType == HoldType.empty)
            {
                logText.text = "takeFood";
                hit.collider.SendMessage("TakeFood");
                GameManager.Instance.TakeObject(FoodItem);
                CurrentHoldType = HoldType.food;
            }

            // 拿切好的食物
            if (hit.collider.tag == "cut" &&
                GameManager.Instance.CurrentPlayerState == GameManager.PlayerState.notTake &&
                hit.collider.GetComponent <CutPlace>().CurrentState == CutPlace.cutState.foodOk &&
                CurrentHoldType == HoldType.empty)
            {
                hit.collider.SendMessage("Reset");
                GameManager.Instance.TakeObject("cutItem");
                CurrentHoldType = HoldType.cutThings;
            }

            // TODO 拿未煮的食物

            // 拿煮熟的食物
            if (hit.collider.tag == "pot" &&
                CurrentHoldType == HoldType.empty &&
                GameManager.Instance.CurrentPlayerState == GameManager.PlayerState.notTake &&
                hit.collider.GetComponent <PotPlace>().CurrentPotState == PotPlace.PotState.goodCook)
            {
                hit.collider.SendMessage("Reset");
                GameManager.Instance.TakeObject("GoodPotItem");
                CurrentHoldType = HoldType.goodPotThings;
            }

            // 拿煮糊的食物
            if (hit.collider.tag == "pot" &&
                CurrentHoldType == HoldType.empty &&
                GameManager.Instance.CurrentPlayerState == GameManager.PlayerState.notTake &&
                hit.collider.GetComponent <PotPlace>().CurrentPotState == PotPlace.PotState.badCook)
            {
                hit.collider.SendMessage("Reset");
                GameManager.Instance.TakeObject("BadPotItem");
                CurrentHoldType = HoldType.badPotThings;
            }
        }
    }
コード例 #20
0
    // 放下
    public void OnPutButtonClick()
    {
        Ray ray = Camera.main.ScreenPointToRay(new Vector3(Screen.width / 2, Screen.height / 2, 0));//射线

        RaycastHit hit;

        if (Physics.Raycast(ray, out hit, 1))//发射射线(射线,射线碰撞信息,射线长度,射线会检测的层级)
        {
            // 放回食物
            if (hit.collider.tag == "food" &&
                GameManager.Instance.CurrentPlayerState == GameManager.PlayerState.take &&
                CurrentHoldType == HoldType.food)
            {
                // 放下食物
                logText.text = "putFood";
                GameManager.Instance.PutObject();
                CurrentHoldType = HoldType.empty;
            }
            // 放下未切的食物
            if (hit.collider.tag == "cut" &&
                CurrentHoldType == HoldType.food &&
                GameManager.Instance.CurrentPlayerState == GameManager.PlayerState.take &&
                hit.collider.GetComponent <CutPlace>().CurrentState == CutPlace.cutState.nofood)
            {
                logText.text = "putFood";
                GameManager.Instance.PutObject();
                hit.collider.SendMessage("PutFood");
                //hit.collider.GetComponent<CutPlace>().CurrentState = CutPlace.cutState.hasfood;
                CurrentHoldType = HoldType.empty;
            }
            // 放下切好的食物
            //if (hit.collider.tag == "cut"
            //    && CurrentHoldType == HoldType.cutThings
            //    && GameManager.Instance.CurrentPlayerState == GameManager.PlayerState.take
            //    && hit.collider.GetComponent<CutPlace>().CurrentState == CutPlace.cutState.nofood) {
            //    logText.text = "putFood";
            //    GameManager.Instance.PutObject();
            //    //hit.collider.GetComponent<CutPlace>().CurrentState = CutPlace.cutState.foodOk;
            //    hit.collider.SendMessage("PutGoodFood");
            //    CurrentHoldType = HoldType.empty;
            //}
            // 从菜板到锅子
            if (hit.collider.tag == "pot" &&
                CurrentHoldType == HoldType.cutThings &&
                GameManager.Instance.CurrentPlayerState == GameManager.PlayerState.take &&
                hit.collider.GetComponent <PotPlace>().CurrentPotState == PotPlace.PotState.empty)
            {
                GameManager.Instance.PutObject();
                //hit.collider.GetComponent<PotPlace>().CurrentPotState = PotPlace.PotState.cooking;
                hit.collider.SendMessage("StartCooking");
                CurrentHoldType = HoldType.empty;
            }
            // 从锅子到盘子
            if (hit.collider.tag == "plate" &&
                CurrentHoldType == HoldType.goodPotThings &&
                GameManager.Instance.CurrentPlayerState == GameManager.PlayerState.take)
            {
                GameManager.Instance.PutObject();
                //todo 显示加分
                GameManager.Instance.AddScore();
                CurrentHoldType = HoldType.empty;
            }
            if (hit.collider.tag == "plate" &&
                CurrentHoldType == HoldType.badPotThings &&
                GameManager.Instance.CurrentPlayerState == GameManager.PlayerState.take)
            {
                GameManager.Instance.PutObject();
                GameManager.Instance.ReduceScore();
                CurrentHoldType = HoldType.empty;
            }
            // 从任何到垃圾桶
            if (hit.collider.tag == "trash" &&
                GameManager.Instance.CurrentPlayerState == GameManager.PlayerState.take)
            {
                GameManager.Instance.PutObject();
                //hit.collider.GetComponent<PotPlace>().CurrentPotState = PotPlace.PotState.cooking;
                CurrentHoldType = HoldType.empty;
            }
        }
    }
コード例 #21
0
 public void ChangeHoldState(HoldType type)
 {
     ChangeState(_states[(int)type]);
 }
コード例 #22
0
ファイル: HoldDefinition.cs プロジェクト: lnystad/OrionFelt
 public HoldDefinition(int nr, HoldType type)
 {
     this.HoldNr = nr;
     this.HoldType = type;
 }