public bool HasBroomType(BroomType type)
 {
     return(type switch
     {
         BroomType.Normal => HasBroom,
         BroomType.Long => HasLengthen,
         BroomType.Wide => HasWiden,
         BroomType.Transformer => HasTransformer,
         _ => false,
     });
示例#2
0
        private void SetBroom(BroomType broom)
        {
            if (!GlobalState.CanChangeBroom && broom != BroomType.Normal && broom != BroomType.Transformer)
            {
                return;
            }

            SoundManager.PlaySoundEffect("menu_move");
            InventoryManager.EquippedBroom = broom;
            UpdateBroomIcon();
            _player.broom.UpdateBroomType();
        }
示例#3
0
        private void SwitchBroom(bool nextBroom)
        {
            if (!InventoryManager.HasBroom)
            {
                return;
            }

            bool allowedBroom;

            BroomType broomType = InventoryManager.EquippedBroom;

            do
            {
                broomType += nextBroom ? 1 : -1;
                if (broomType < 0 || broomType > BroomType.Transformer)
                {
                    broomType = (BroomType)(((int)broomType + (int)BroomType.Transformer + 1) % ((int)BroomType.Transformer + 1));
                }

                switch (broomType)
                {
                case BroomType.Normal:
                    allowedBroom = true;
                    break;

                case BroomType.Wide:
                    allowedBroom = GlobalState.CanChangeBroom && InventoryManager.HasWiden;
                    break;

                case BroomType.Long:
                    allowedBroom = GlobalState.CanChangeBroom && InventoryManager.HasLenghten;
                    break;

                case BroomType.Transformer:
                    allowedBroom = InventoryManager.HasTransformer;
                    break;

                default:
                    allowedBroom = false;
                    break;
                }
            } while (!allowedBroom);

            if (broomType != InventoryManager.EquippedBroom)
            {
                SetBroom(broomType);
            }
        }
示例#4
0
        private void UpdateBroomIcon()
        {
            if (InventoryManager.EquippedBroom == BroomType.NONE)
            {
                return;
            }

            string tex = "";

            BroomType broom = InventoryManager.EquippedBroom;

            if (!GlobalState.CanChangeBroom && InventoryManager.EquippedBroom != BroomType.Transformer)
            {
                broom = BroomType.Normal;
            }

            switch (broom)
            {
            case BroomType.Normal:
                tex = GlobalState.UseCellBroom ? "Cell" : "Normal";
                break;

            case BroomType.Wide:
                tex = "Wide";
                break;

            case BroomType.Long:
                tex = "Long";
                break;

            case BroomType.Transformer:
                tex = "Transform";
                break;
            }

            _equippedBroomIcon = ResourceManager.GetTexture("hud" + tex, true);
        }
        public BroomTreasure(string textureName, Vector2 pos, BroomType broomType)
            : base(textureName, pos, 0, -1)
        {
            _type = broomType;

            switch (broomType)
            {
            case BroomType.Normal:
                _dialogueID = 1;
                break;

            case BroomType.Wide:
                _dialogueID = 4;
                break;

            case BroomType.Long:
                _dialogueID = 5;
                break;

            case BroomType.Transformer:
                _dialogueID = 6;
                break;
            }
        }
示例#6
0
 private void EquipBroom(BroomType broomType)
 {
     InventoryManager.EquippedBroom = broomType;
     SetEquipped();
     ExitSubState();
 }