예제 #1
0
        public static GameAction GetRandomOrder(Entity entity, int orderTimeOurInMins = 120)
        {
            var randomValue = Random.value;

            if (randomValue <= 0.20)
            {
                var drinkOrder = new ExactDrinkorder(DrinkRecipes.GetRandomDrinkRecipe(), entity.GetState <NameState>().Name);
                return(OrderDrink(entity, drinkOrder, DialogueSelector.GetExactDrinkOrderConversation(drinkOrder.Recipe.DrinkName, entity), orderTimeoutInMins: orderTimeOurInMins));
            }
            if (randomValue <= 0.40)
            {
                return(OrderDrink(entity, new NonAlcoholicDrinkOrder(entity.GetState <NameState>().Name), new OrderNonAlcoholicDrinkConversation(), orderTimeoutInMins: orderTimeOurInMins));
            }
            if (randomValue <= 0.60)
            {
                var ingredient = Ingredients.DispensedIngredients.PickRandom();
                return(OrderDrink(entity, new IncludingIngredientOrder(ingredient, entity.GetState <NameState>().Name), new OrderDrinkIncludingIngredientConversation(ingredient), orderTimeoutInMins: orderTimeOurInMins));
            }
            if (randomValue <= 0.80)
            {
                var ingredient = Ingredients.DispensedIngredients.PickRandom();
                return(OrderDrink(entity, new ExcludingIngredientOrder(ingredient, entity.GetState <NameState>().Name), new OrderDrinkExcludingIngredientConversation(ingredient), orderTimeoutInMins: orderTimeOurInMins));
            }
            return(OrderDrink(entity, new ExactDrinkorder(DrinkRecipes.Beer, entity.GetState <NameState>().Name), DialogueSelector.GetExactDrinkOrderConversation("Beer", entity), orderTimeoutInMins: orderTimeOurInMins));
        }
예제 #2
0
        public static GameAction GetRandomAlcoholicDrinkOrderWithoutFailure(Entity entity, int orderTimeOurInMins = 20)
        {
            var drinkOrder = new ExactDrinkorder(DrinkRecipes.GetRandomAlcoholicDrinkRecipe(), entity.GetState <NameState>().Name);

            return(OrderDrinkWithoutFailure(entity, drinkOrder, DialogueSelector.GetExactDrinkOrderConversation(drinkOrder.Recipe.DrinkName, entity, required: Required.Yes), orderTimeOurInMins));
        }
예제 #3
0
        public static GameAction GetRandomAlcoholicDrinkOrder(Entity entity, Conversation correctDrinkConversation = null, Conversation incorrectDrinkConversation = null, Dictionary <String, GameAction> otherDrinkActions = null, int orderTimeOurInMins = 20)
        {
            var drinkOrder = new ExactDrinkorder(DrinkRecipes.GetRandomAlcoholicDrinkRecipe(), entity.GetState <NameState>().Name);

            return(OrderDrink(entity, drinkOrder, DialogueSelector.GetExactDrinkOrderConversation(drinkOrder.Recipe.DrinkName, entity, required: Required.Yes), correctDrinkConversation, incorrectDrinkConversation, otherDrinkActions, orderTimeOurInMins));
        }