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); }
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); }
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); }