Exemple #1
0
        public static bool CreateFoodAndPushConsumeOnSim(ConcessionsStand.BaseFoodData baseFoodData, Sim sim)
        {
            CommonMethods.ShowMessage(baseFoodData.mFoodType.ToString() + " " + baseFoodData);
            bool result = true;

            switch (baseFoodData.mFoodType)
            {
            case ConcessionsStand.FoodType.HotBeverage:
            case ConcessionsStand.FoodType.ColdBeverage:
            {
                BaseFoodStand.BaseFoodStandBeverage baseFoodStandBeverage = CreateBeverage(baseFoodData.FoodType == BaseFoodStand.FoodType.HotBeverage, sim);
                if (baseFoodStandBeverage != null)
                {
                    BaseFoodStand.FoodType foodType = baseFoodData.FoodType;
                    baseFoodStandBeverage.IsColdResortDrink = (foodType == BaseFoodStand.FoodType.ColdBeverage);
                    float tempChangePerSip = (foodType == BaseFoodStand.FoodType.HotBeverage) ? ConcessionsStand.kTempChangePerSipHotDrink : ConcessionsStand.kTempChangePerSipColdDrink;
                    baseFoodStandBeverage.InitData(baseFoodData.DrinkNameLocKey, baseFoodData.BevFoodUnits, baseFoodData.BuffToAdd, tempChangePerSip);
                    baseFoodData = null;
                    baseFoodStandBeverage.SetOpacity(0f, 0f);
                    if (sim.ParentToRightHand(baseFoodStandBeverage))
                    {
                        CarrySystem.EnterWhileHolding(sim, baseFoodStandBeverage);
                        baseFoodStandBeverage.FadeIn(true);
                        sim.Wander(ConcessionsStand.kMinMaxWanderBeforeDrink[0], ConcessionsStand.kMinMaxWanderBeforeDrink[1], false, RouteDistancePreference.NoPreference, false);
                        result = baseFoodStandBeverage.PushDrinkAsContinuation(sim);
                    }
                    else
                    {
                        baseFoodStandBeverage.Destroy();
                        result = false;
                    }
                }
                break;

                //string instanceName = (selectedFood.mFoodType == ConcessionsStand.FoodType.HotBeverage) ? "beverageCupHot" : "beverageCupCold";
                //ConcessionsStand.ConcessionsBeverage concessionsBeverage = GlobalFunctions.CreateObject(instanceName, ProductVersion.EP8, sim.Position, 1, Vector3.UnitZ, null, null) as ConcessionsStand.ConcessionsBeverage;
                //if (concessionsBeverage != null)
                //{
                //    float tempChangePerSip = (selectedFood.mFoodType == BaseFoodStand.FoodType.HotBeverage) ? ConcessionsStand.kTempChangePerSipHotDrink : ConcessionsStand.kTempChangePerSipColdDrink;
                //    concessionsBeverage.InitData(selectedFood.DrinkNameLocKey, selectedFood.BevFoodUnits, selectedFood.BuffToAdd, tempChangePerSip);
                //  //  concessionsBeverage.InitData(selectedFood.mFoodType, selectedFood.mDrinkNameLocKey, selectedFood.mBevFoodUnits, selectedFood.mBuffToAdd);
                //    concessionsBeverage.SetOpacity(0f, 0f);
                //    if (sim.ParentToRightHand(concessionsBeverage))
                //    {
                //        CarrySystem.EnterWhileHolding(sim, concessionsBeverage);
                //        concessionsBeverage.FadeIn(true);
                //        sim.Wander(ConcessionsStand.kMinMaxWanderBeforeDrink[0], ConcessionsStand.kMinMaxWanderBeforeDrink[1], false, RouteDistancePreference.NoPreference, false);
                //        result = concessionsBeverage.PushDrinkAsContinuation(sim);
                //    }
                //    else
                //    {
                //        concessionsBeverage.Destroy();
                //        result = false;
                //    }
                //}
                //break;
            }
            }
            return(result);
        }
Exemple #2
0
        public bool BuyAndEatConcessionsFood(Sim sim, bool autonomous)
        {
            bool result = false;

            ConcessionsStand.BaseFoodData foodData = ShowBuyConcessionsFoodDialog(autonomous);

            if (foodData != null)
            {
                CommonMethods.ShowMessage("Food data is not null");
                result = CreateFoodAndPushConsumeOnSim(foodData, sim);
            }
            return(result);
        }
Exemple #3
0
        public BaseFoodStand.BaseFoodData ShowBuyConcessionsFoodDialog(bool autonomous)
        {
            List <ushort> availibleFoodGuids = GetAvailibleFoodGuids(BaseFoodStand.FoodType.None, base.Actor);

            ThumbnailKey thumbnail           = ThumbnailKey.kInvalidThumbnailKey;
            string       text                = string.Empty;
            List <ObjectPicker.RowInfo> list = new List <ObjectPicker.RowInfo>();

            List <BaseFoodStand.BaseFoodData> foods = new List <BaseFoodStand.BaseFoodData>();

            foreach (ushort current in availibleFoodGuids)
            {
                BaseFoodStand.BaseFoodData baseFoodData = null;
                if (ConcessionsStand.SeasonalFoodData.sSeasonalFoodData.TryGetValue(current, out baseFoodData))
                {
                    List <ObjectPicker.ColumnInfo> list2 = new List <ObjectPicker.ColumnInfo>();
                    bool addToList = false;
                    switch (baseFoodData.FoodType)
                    {
                    case ConcessionsStand.FoodType.HotBeverage:
                    {
                        thumbnail = GetThumbnailKeyForDrink(baseFoodData.FoodType == BaseFoodStand.FoodType.HotBeverage);
                        text      = Localization.LocalizeString(ConcessionsStand.sBaseBeverageLocKey + baseFoodData.DrinkNameLocKey, new object[0]);
                        addToList = true;
                        foods.Add(baseFoodData);
                        break;
                    }
                    }
                    if (addToList)
                    {
                        list2.Add(new ObjectPicker.ThumbAndTextColumn(thumbnail, text));
                        int num = AddMenuItem.ReturnCoffeePrice();

                        list2.Add(new ObjectPicker.MoneyColumn(num));
                        ObjectPicker.RowInfo item = new ObjectPicker.RowInfo(current, list2);
                        list.Add(item);
                    }
                }
            }
            BaseFoodStand.BaseFoodData foodData = null;

            if (!autonomous)
            {
                List <ObjectPicker.HeaderInfo> list3 = new List <ObjectPicker.HeaderInfo>();
                List <ObjectPicker.TabInfo>    list4 = new List <ObjectPicker.TabInfo>();
                list3.Add(new ObjectPicker.HeaderInfo(ShoppingRegister.sLocalizationKey + ":BuyConcessionsFoodColumnName", ShoppingRegister.sLocalizationKey + ":BuyConcessionsFoodColumnTooltip", 200));
                list3.Add(new ObjectPicker.HeaderInfo("Ui/Caption/Shopping/Cart:Price", "Ui/Tooltip/Shopping/Cart:Price"));
                list4.Add(new ObjectPicker.TabInfo("coupon", ShoppingRegister.LocalizeString("AvailableConcessionsFoods", new object[0]), list));
                List <ObjectPicker.RowInfo> list5 = SimplePurchaseDialog.Show(ShoppingRegister.LocalizeString("BuyConcessionsFoodTitle", new object[0]), base.Actor.Household.FamilyFunds, list4, list3, true);
                if (list5 == null || list5.Count != 1)
                {
                    return(null);
                }
                foodData = list5[0].Item as  BaseFoodStand.BaseFoodData;

                CommonMethods.ShowMessage(list5.Count.ToString());
                CommonMethods.ShowMessage(list5[0].Item.ToString());

                if (foodData == null)
                {
                    CommonMethods.ShowMessage("foodData null");
                }
            }
            else
            {
                foodData = RandomUtil.GetRandomObjectFromList <BaseFoodStand.BaseFoodData>(foods);
            }
            return(foodData);
        }