//private static string LocalizeString(string name, params object[] parameters) //{ // return Localization.LocalizeString("Gameplay/Objects/Appliances/HotBeverageMachine/ServeHotBeverages:" + name, parameters); //} private new HotBeverageMachine.Cup MakeCup() { HotBeverageMachine.Cup cup = GlobalFunctions.CreateObject("CoffeeCup", (base.Target.Parent ?? base.Target).Position, base.Target.Level, Vector3.UnitZ) as HotBeverageMachine.Cup; cup.Contents = new HotBeverageMachine.CustomDrinkRecipe(); cup.RemoveAllInteractions(); cup.AddInteraction(DrinkCoffee.Drink.Singleton); return(cup); }
// private const string sLocalizationKey = "Gameplay/Objects/Appliances/HotBeverageMachine/ServeHotBeverages"; //Fields from coffee machine //private static int kDrinkHoursBeforeWakeupTime = 12; // Methods private new void FillTray(StateMachineClient smc, IEvent evt) { int num = this.BarTray.CountEmptySlots(); for (int i = 0; i < num; i++) { HotBeverageMachine.Cup item = this.MakeCup(); this.BarTray.AddItem(item); item.StartEffects(); } }
public bool BuyAndEatConcessionsFood(Sim sim, bool autonomous) { bool result = true; //Find the counter the cash register is on bool registerFound = false; int cupLevel = 1; Vector3 cupPosition = sim.Position; if (base.Target.SimDescription.HasActiveRole && base.Target.SimDescription.AssignedRole != null && base.Target.SimDescription.AssignedRole.RoleGivingObject != null) { if (base.Target.SimDescription.AssignedRole.RoleGivingObject.Parent != null) { registerFound = true; } } if (registerFound) { cupLevel = base.Target.SimDescription.AssignedRole.RoleGivingObject.Level + 100; cupPosition = base.Target.SimDescription.AssignedRole.RoleGivingObject.Position; } HotBeverageMachine.Cup cup = GlobalFunctions.CreateObject("CoffeeCup", cupPosition, cupLevel, Vector3.UnitZ) as HotBeverageMachine.Cup; if (cup != null) { cup.Contents = new HotBeverageMachine.CustomDrinkRecipe(); if (sim.ParentToRightHand(cup)) { CarrySystem.EnterWhileHolding(sim, cup); cup.PushDrinkAsContinuation(sim); cup.StartEffects(); result = true; } else { cup.Destroy(); result = false; } } //HotBeverageMachine.Cup cup = GlobalFunctions.CreateObject("CoffeeCup", cupPosition, cupLevel, Vector3.UnitZ) as HotBeverageMachine.Cup; //cup.Contents = new HotBeverageMachine.CustomDrinkRecipe(); //CarrySystem.PickUp(sim, cup); //// CarrySystem.EnterWhileHolding(sim, cup); //cup.PushDrinkAsContinuation(sim); return(result); }
// Methods public override ThumbnailKey GetIconKey() { ResourceKey key = base.Target.GetResourceKey(); foreach (Slot slot in base.Target.GetContainmentSlots()) { HotBeverageMachine.Cup cup = base.Target.GetContainedObject(slot) as HotBeverageMachine.Cup; if (cup != null) { key = cup.GetResourceKey(); break; } } return(new ThumbnailKey(key, ThumbnailSize.Medium)); }
public override bool Run() { Counter parent = base.Target.Parent as Counter; if (parent == null) { return(false); } if (!SurfaceUtil.RouteToObjectOnSurface(parent, base.Actor, base.Target)) { return(false); } base.StandardEntry(); HotBeverageMachine.Cup actor = GlobalFunctions.CreateObject("CoffeeCup", base.Target.Parent.Position, base.Target.Level, Vector3.UnitZ) as HotBeverageMachine.Cup; try { actor.AddToUseList(base.Actor); actor.Contents = (base.InteractionDefinition as Definition).Drink; actor.SetHiddenFlags(HiddenFlags.Model); HotBeverageMachine.EnterStateMachine(this); base.SetActor("coffeeCup", actor); base.BeginCommodityUpdates(); base.AnimateSim("Make One Drink"); base.EndCommodityUpdates(true); CarrySystem.VerifyAnimationParent(actor, base.Actor); } finally { actor.RemoveFromUseList(base.Actor); } //pay for drink CommonMethods.PayForCoffee(base.Actor, base.Target.LotCurrent); CarrySystem.EnterWhileHolding(base.Actor, actor); actor.PushDrinkAsContinuation(base.Actor); if (parent.IsCleanable) { parent.Cleanable.DirtyInc(base.Actor); } base.mCurrentStateMachine.Dispose(); actor.StartEffects(); base.StandardExit(); return(true); }
public override bool Run() { Counter parent = base.Target.Parent as Counter; if (parent == null) { return(false); } if (!SurfaceUtil.RouteToObjectOnSurface(parent, base.Actor, base.Target)) { return(false); } base.StandardEntry(); this.Cup = this.MakeCup() as HotBeverageMachine.Cup; this.Cup.SetHiddenFlags(HiddenFlags.Model); this.BarTray = GlobalFunctions.CreateObject("barTray", (base.Target.Parent ?? base.Target).Position, base.Target.Level, Vector3.UnitZ) as BarTray; this.BarTray.SetHiddenFlags(HiddenFlags.Model); this.BarTray.AddInteraction(CallForCoffee.Singleton); base.Target.mLastCreatedTrayOfDrinksId = this.BarTray.ObjectId; HotBeverageMachine.EnterStateMachine(this); base.AddOneShotScriptEventHandler(100, new SacsEventHandler(this.FillTray)); base.SetActor("coffeeCup", this.Cup); base.SetActor("barTray", this.BarTray); base.BeginCommodityUpdates(); base.AnimateSim("Make Many Drinks"); base.EndCommodityUpdates(true); base.StandardExit(); CarrySystem.VerifyAnimationParent(this.BarTray, base.Actor); CarrySystem.EnterWhileHolding(base.Actor, this.BarTray); CarrySystem.PutDown(base.Actor, SurfaceType.Normal, true); //if ((!base.Autonomous || !base.Actor.HasBuffsToPreventSleepiness()) && CarrySystem.PickUp(base.Actor, this.Cup)) //{ // this.Cup.PushDrinkAsContinuation(base.Actor); //} base.mCurrentStateMachine.Dispose(); this.Cup.StartEffects(); if (parent.IsCleanable) { parent.Cleanable.DirtyInc(base.Actor); } return(true); }