Exemplo n.º 1
0
        private void AddIngredientToRecipeBtn_Click(object sender, RoutedEventArgs e)
        {
            //get the enum of the selected ingredient
            IngredientsEnum ingredientToAdd = (IngredientsEnum)Enum.Parse(typeof(IngredientsEnum),
                                                                          IngredientsComboBox.SelectedItem.ToString());

            //add ingredient to recipe
            UpdateLogMsg(_manager.AddIngredientToRecipe(_selectedBeverage, ingredientToAdd));
            UpdateRecipeViewSource();
        }
Exemplo n.º 2
0
    /// <summary>
    /// 创建食材Item
    /// </summary>
    /// <param name="ingredient"></param>
    /// <param name="number"></param>
    public void AddItemForIng(IngredientsEnum ingredient, int number)
    {
        if (number == 0)
        {
            return;
        }
        string ingNameStr = "???";
        string iconKey    = "";

        switch (ingredient)
        {
        case IngredientsEnum.Oilsalt:    //油盐
            ingNameStr = TextHandler.Instance.manager.GetTextById(21);
            iconKey    = "ui_ing_oilsalt";
            break;

        case IngredientsEnum.Meat:    //鲜肉
            ingNameStr = TextHandler.Instance.manager.GetTextById(22);
            iconKey    = "ui_ing_meat";
            break;

        case IngredientsEnum.Riverfresh:    //河鲜
            ingNameStr = TextHandler.Instance.manager.GetTextById(23);
            iconKey    = "ui_ing_riverfresh";
            break;

        case IngredientsEnum.Seafood:    //海鲜
            ingNameStr = TextHandler.Instance.manager.GetTextById(24);
            iconKey    = "ui_ing_seafood";
            break;

        case IngredientsEnum.Vegetables:    //蔬菜
            ingNameStr = TextHandler.Instance.manager.GetTextById(25);
            iconKey    = "ui_ing_vegetables";
            break;

        case IngredientsEnum.Melonfruit:    //瓜果
            ingNameStr = TextHandler.Instance.manager.GetTextById(26);
            iconKey    = "ui_ing_melonfruit";
            break;

        case IngredientsEnum.Waterwine:    //酒水
            ingNameStr = TextHandler.Instance.manager.GetTextById(27);
            iconKey    = "ui_ing_waterwine";
            break;

        case IngredientsEnum.Flour:    //面粉
            ingNameStr = TextHandler.Instance.manager.GetTextById(28);
            iconKey    = "ui_ing_flour";
            break;
        }
        Sprite spIcon = IconDataHandler.Instance.manager.GetIconSpriteByName(iconKey);

        CreateItem(objItemBaseContainer, spIcon, ingNameStr, number + "");
    }
Exemplo n.º 3
0
 public string UpdateIngredientAmountInRecipe(Beverage beverage, IngredientsEnum ingredient, int amount)
 {
     try
     {
         beverage.Recipe.AddAmountToIngredient(ingredient, amount);
     }
     catch (Exception)
     {
         return($"Select an ingredient first");
     }
     return($"Added {amount} {ingredient} to {beverage}");
 }
Exemplo n.º 4
0
 public string AddIngredientToRecipe(Beverage beverage, IngredientsEnum ingredient)
 {
     try
     {
         beverage.Recipe.Add(ingredient, 0);
     }
     catch (NullReferenceException)
     {
         return($"Select an ingredient first");
     }
     catch (Exception)
     {
         return($"{ingredient} is allready in {beverage}'s recipe");
     }
     return($"Added {ingredient} to {beverage}'s recipe");
 }
Exemplo n.º 5
0
    /// <summary>
    /// 是否有足够的材料
    /// </summary>
    /// <param name="ingredients"></param>
    /// <param name="number"></param>
    /// <returns></returns>
    public bool HasEnoughIng(IngredientsEnum ingredients, long number)
    {
        long hasNumber = 0;

        switch (ingredients)
        {
        case IngredientsEnum.Oilsalt:
            hasNumber = ingOilsalt;
            break;

        case IngredientsEnum.Meat:
            hasNumber = ingMeat;
            break;

        case IngredientsEnum.Riverfresh:
            hasNumber = ingRiverfresh;
            break;

        case IngredientsEnum.Seafood:
            hasNumber = ingSeafood;
            break;

        case IngredientsEnum.Vegetables:
            hasNumber = ingVegetables;
            break;

        case IngredientsEnum.Melonfruit:
            hasNumber = ingMelonfruit;
            break;

        case IngredientsEnum.Waterwine:
            hasNumber = ingWaterwine;
            break;

        case IngredientsEnum.Flour:
            hasNumber = ingFlour;
            break;
        }
        if (hasNumber >= number)
        {
            return(true);
        }
        else
        {
            return(false);
        }
    }
Exemplo n.º 6
0
    /// <summary>
    /// 设置拥有数量
    /// </summary>
    public void SetOwn(IngredientsEnum ingType)
    {
        if (goodsData == null || tvOwn == null)
        {
            return;
        }
        GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData();

        long ownNumber = 0;

        switch (ingType)
        {
        case IngredientsEnum.Oilsalt:
            ownNumber = gameData.ingOilsalt;
            break;

        case IngredientsEnum.Meat:
            ownNumber = gameData.ingMeat;
            break;

        case IngredientsEnum.Riverfresh:
            ownNumber = gameData.ingRiverfresh;
            break;

        case IngredientsEnum.Seafood:
            ownNumber = gameData.ingSeafood;
            break;

        case IngredientsEnum.Vegetables:
            ownNumber = gameData.ingVegetables;
            break;

        case IngredientsEnum.Melonfruit:
            ownNumber = gameData.ingMelonfruit;
            break;

        case IngredientsEnum.Waterwine:
            ownNumber = gameData.ingWaterwine;
            break;

        case IngredientsEnum.Flour:
            ownNumber = gameData.ingFlour;
            break;
        }
        tvOwn.text = ownNumber + "";
    }
Exemplo n.º 7
0
 public string RemoveIngredientFromRecipe(Beverage beverage, IngredientsEnum ingredient)
 {
     //dont allow the user to delete the sugar from the recipe.
     if (ingredient.Equals(IngredientsEnum.Sugar))
     {
         return($"All Beverages must have sugar in the recipe!");
     }
     try
     {
         beverage.Recipe.Remove(ingredient);
     }
     catch (Exception)
     {
         //if an ingreidnet wasn't selected.
         //or for some reason the ingredient isn't in the dictionery
         //(Shouldn't happen but catching the base class Exception will catch all excaptions)
         return($"Select an ingredient first");
     }
     return($"Removed {ingredient} from {beverage}'s recipe");
 }
Exemplo n.º 8
0
    public void Submit(DialogView dialogView, DialogBean dialogBean)
    {
        int             buyNumber = int.Parse(etNumber.text);
        IngredientsEnum ingType   = (IngredientsEnum)goodsData.mark_type;
        GameDataBean    gameData  = GameDataHandler.Instance.manager.GetGameData();

        if (buyNumber <= 0)
        {
            ToastHandler.Instance.ToastHint(TextHandler.Instance.manager.GetTextById(1017));
            return;
        }
        if (!gameData.HasEnoughMoney(price_l * buyNumber, price_m * buyNumber, price_s * buyNumber))
        {
            ToastHandler.Instance.ToastHint(TextHandler.Instance.manager.GetTextById(1005));
            return;
        }
        gameData.PayMoney(price_l * buyNumber, price_m * buyNumber, price_s * buyNumber);
        gameData.AddIng(ingType, buyNumber);
        RreshData();
        ToastHandler.Instance.ToastHint(ivIcon.sprite, string.Format(TextHandler.Instance.manager.GetTextById(1018), buyNumber, goodsData.name, tvPirce.text));
    }
Exemplo n.º 9
0
    public static Sprite GetIngredientIcon(IngredientsEnum ingredients)
    {
        string iconKey = "";

        switch (ingredients)
        {
        case IngredientsEnum.Oilsalt:
            iconKey = "ui_ing_oilsalt";
            break;

        case IngredientsEnum.Meat:
            iconKey = "ui_ing_meat";
            break;

        case IngredientsEnum.Riverfresh:
            iconKey = "ui_ing_riverfresh";
            break;

        case IngredientsEnum.Seafood:
            iconKey = "ui_ing_seafood";
            break;

        case IngredientsEnum.Vegetables:
            iconKey = "ui_ing_vegetables";
            break;

        case IngredientsEnum.Melonfruit:
            iconKey = "ui_ing_melonfruit";
            break;

        case IngredientsEnum.Waterwine:
            iconKey = "ui_ing_waterwine";
            break;

        case IngredientsEnum.Flour:
            iconKey = "ui_ing_flour";
            break;
        }
        return(IconDataHandler.Instance.manager.GetIconSpriteByName(iconKey));
    }
Exemplo n.º 10
0
    public static string GetIngredientName(IngredientsEnum ingredients)
    {
        string name = "???";

        switch (ingredients)
        {
        case IngredientsEnum.Oilsalt:
            name = TextHandler.Instance.manager.GetTextById(21);
            break;

        case IngredientsEnum.Meat:
            name = TextHandler.Instance.manager.GetTextById(22);
            break;

        case IngredientsEnum.Riverfresh:
            name = TextHandler.Instance.manager.GetTextById(23);
            break;

        case IngredientsEnum.Seafood:
            name = TextHandler.Instance.manager.GetTextById(24);
            break;

        case IngredientsEnum.Vegetables:
            name = TextHandler.Instance.manager.GetTextById(25);
            break;

        case IngredientsEnum.Melonfruit:
            name = TextHandler.Instance.manager.GetTextById(26);
            break;

        case IngredientsEnum.Waterwine:
            name = TextHandler.Instance.manager.GetTextById(27);
            break;

        case IngredientsEnum.Flour:
            name = TextHandler.Instance.manager.GetTextById(28);
            break;
        }
        return(name);
    }
Exemplo n.º 11
0
    /// <summary>
    /// 增加食材
    /// </summary>
    public void AddIng(IngredientsEnum ingType, int number)
    {
        switch (ingType)
        {
        case IngredientsEnum.Oilsalt:
            ingOilsalt += number;
            userAchievement.ownIngOilsalt += number;
            if (ingOilsalt < 0)
            {
                ingOilsalt = 0;
            }
            break;

        case IngredientsEnum.Meat:
            ingMeat += number;
            userAchievement.ownIngMeat += number;
            if (ingMeat < 0)
            {
                ingMeat = 0;
            }
            break;

        case IngredientsEnum.Riverfresh:
            ingRiverfresh += number;
            userAchievement.ownIngRiverfresh += number;
            if (ingRiverfresh < 0)
            {
                ingRiverfresh = 0;
            }
            break;

        case IngredientsEnum.Seafood:
            ingSeafood += number;
            userAchievement.ownIngSeafood += number;
            if (ingSeafood < 0)
            {
                ingSeafood = 0;
            }
            break;

        case IngredientsEnum.Vegetables:
            ingVegetables += number;
            userAchievement.ownIngVegetables += number;
            if (ingVegetables < 0)
            {
                ingVegetables = 0;
            }
            break;

        case IngredientsEnum.Melonfruit:
            ingMelonfruit += number;
            userAchievement.ownIngMelonfruit += number;
            if (ingMelonfruit < 0)
            {
                ingMelonfruit = 0;
            }
            break;

        case IngredientsEnum.Waterwine:
            ingWaterwine += number;
            userAchievement.ownIngWaterwine += number;
            if (ingWaterwine < 0)
            {
                ingWaterwine = 0;
            }
            break;

        case IngredientsEnum.Flour:
            ingFlour += number;
            userAchievement.ownIngFlour += number;
            if (ingFlour < 0)
            {
                ingFlour = 0;
            }
            break;
        }
    }
Exemplo n.º 12
0
    /// <summary>
    /// 扣除材料
    /// </summary>
    /// <param name="ingredients"></param>
    /// <param name="number"></param>
    public void DeductIng(IngredientsEnum ingredients, long number)
    {
        switch (ingredients)
        {
        case IngredientsEnum.Oilsalt:
            ingOilsalt -= number;
            break;

        case IngredientsEnum.Meat:
            ingMeat -= number;
            break;

        case IngredientsEnum.Riverfresh:
            ingRiverfresh -= number;
            break;

        case IngredientsEnum.Seafood:
            ingSeafood -= number;
            break;

        case IngredientsEnum.Vegetables:
            ingVegetables -= number;
            break;

        case IngredientsEnum.Melonfruit:
            ingMelonfruit -= number;
            break;

        case IngredientsEnum.Waterwine:
            ingWaterwine -= number;
            break;

        case IngredientsEnum.Flour:
            ingFlour -= number;
            break;
        }
        if (ingOilsalt < 0)
        {
            ingOilsalt = 0;
        }
        if (ingMeat < 0)
        {
            ingMeat = 0;
        }
        if (ingRiverfresh < 0)
        {
            ingRiverfresh = 0;
        }
        if (ingSeafood < 0)
        {
            ingSeafood = 0;
        }
        if (ingVegetables < 0)
        {
            ingVegetables = 0;
        }
        if (ingMelonfruit < 0)
        {
            ingMelonfruit = 0;
        }
        if (ingWaterwine < 0)
        {
            ingWaterwine = 0;
        }
        if (ingFlour < 0)
        {
            ingFlour = 0;
        }
    }
Exemplo n.º 13
0
        private void RecipeListView_ItemClick(object sender, ItemClickEventArgs e)
        {
            var selectedKeyValuePair = (KeyValuePair <IngredientsEnum, int>)e.ClickedItem;

            _selctedRecipeIngredient = selectedKeyValuePair.Key;
        }
Exemplo n.º 14
0
        private void InContainerListView_ItemClick(object sender, ItemClickEventArgs e)
        {
            var selectedKeyValuePair = (KeyValuePair <IngredientsEnum, int>)e.ClickedItem;

            _selctedStockIngredient = selectedKeyValuePair.Key;
        }
Exemplo n.º 15
0
 public string RestockIngredient(IngredientsEnum ingredient, int amount)
 {
     VendingMachine.Restock(ingredient, amount);
     return($"Restocked {ingredient},added {amount}");
 }
Exemplo n.º 16
0
 //fill a spesific ingredient to an amount
 internal void Restock(IngredientsEnum ingredient, int amount) =>
 Stock.Restock(ingredient, Math.Min(Stock[ingredient] + amount, MaxAmountInStock));
Exemplo n.º 17
0
 //restock an ingredient to max
 internal void Restock(IngredientsEnum ingredient) =>
 Stock.Restock(ingredient, MaxAmountInStock);
Exemplo n.º 18
0
    /// <summary>
    /// 修改准备的食材
    /// </summary>
    public void ChangeIngredientPre()
    {
        if (menuInfo == null)
        {
            return;
        }
        List <IngredientsEnum> listIng = new List <IngredientsEnum>();

        if (menuInfo.ing_oilsalt != 0)
        {
            listIng.Add(IngredientsEnum.Oilsalt);
        }
        if (menuInfo.ing_meat != 0)
        {
            listIng.Add(IngredientsEnum.Meat);
        }
        if (menuInfo.ing_riverfresh != 0)
        {
            listIng.Add(IngredientsEnum.Riverfresh);
        }
        if (menuInfo.ing_seafood != 0)
        {
            listIng.Add(IngredientsEnum.Seafood);
        }
        if (menuInfo.ing_vegetables != 0)
        {
            listIng.Add(IngredientsEnum.Vegetables);
        }
        if (menuInfo.ing_melonfruit != 0)
        {
            listIng.Add(IngredientsEnum.Melonfruit);
        }
        if (menuInfo.ing_waterwine != 0)
        {
            listIng.Add(IngredientsEnum.Waterwine);
        }
        if (menuInfo.ing_flour != 0)
        {
            listIng.Add(IngredientsEnum.Flour);
        }
        IngredientsEnum ingredientType = RandomUtil.GetRandomDataByList(listIng);
        string          iconKey        = "ingredient_";

        switch (ingredientType)
        {
        case IngredientsEnum.Oilsalt:
            iconKey += "oilsalt_1";
            break;

        case IngredientsEnum.Meat:
            iconKey += "meat_1";
            break;

        case IngredientsEnum.Riverfresh:
            iconKey += "riverfresh_1";
            break;

        case IngredientsEnum.Seafood:
            iconKey += "seafood_1";
            break;

        case IngredientsEnum.Vegetables:
            iconKey += "vegetables_1";
            break;

        case IngredientsEnum.Melonfruit:
            iconKey += "melonfruit_1";
            break;

        case IngredientsEnum.Waterwine:
            iconKey += "waterwine_1";
            break;

        case IngredientsEnum.Flour:
            iconKey += "flour_1";
            break;
        }
        Sprite spIcon = GameItemsHandler.Instance.manager.GetItemsSpriteByName(iconKey);

        if (srIngredientPre != null)
        {
            srIngredientPre.sprite = spIcon;
            srIngredientPre.transform.localScale = new Vector3(1, 1, 1);
            srIngredientPre.transform.DOScale(Vector3.zero, 0.5f).From().SetEase(Ease.OutBack);
        }
    }
 public IngredientOutOfStockException(IngredientsEnum ingredient, int amountMissing)
 {
     Ingredient    = ingredient;
     AmountMissing = amountMissing;
 }
Exemplo n.º 20
0
 public string RestockIngredient(IngredientsEnum ingredient)
 {
     VendingMachine.Restock(ingredient);
     return($"Restocked {ingredient} to max");
 }