protected static ListenerAction OnNewObject(Event e) { HotBeverageMachine targetObject = e.TargetObject as HotBeverageMachine; if (targetObject != null) { AddInteractionsForCoffeeMaker(targetObject); } return(ListenerAction.Keep); }
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); }
// Methods public override void AddInteractions(InteractionObjectPair iop, Sim actor, HotBeverageMachine target, List <InteractionObjectPair> results) { Dictionary <string, OverridedMakeHotBeverage.ItemDefinition> dictionary = new Dictionary <string, OverridedMakeHotBeverage.ItemDefinition>(); string name = HotBeverageMachine.GetFavoriteDrink(actor.SimDescription).Name; while (dictionary.Count < HotBeverageMachine.TryAnotherRecipeCount) { OverridedMakeHotBeverage.ItemDefinition definition = new OverridedMakeHotBeverage.ItemDefinition(); definition.Drink = new HotBeverageMachine.CustomDrinkRecipe(); if (definition.Drink.Name != name) { dictionary[definition.Drink.Name] = definition; } } foreach (InteractionDefinition definition2 in dictionary.Values) { results.Add(new InteractionObjectPair(definition2, target)); } }
public override string GetInteractionName(Sim a, IEdible target, InteractionObjectPair interaction) { string str; if (a.HasTrait(unchecked ((TraitNames)(-5175480303478029536L)))) { str = "DrinkInteractionName_Good"; } else if (a.HasTrait(unchecked ((TraitNames)(-5175480303478029664L)))) { str = "DrinkInteractionName_Evil"; } if (a.SimDescription.TraitManager.HasElement(TraitNames.Daredevil)) { str = "DrinkInteractionName_Daredevil"; } else { str = "DrinkInteractionName"; } return(HotBeverageMachine.LocalizeString(str, new object[] { target.FoodName })); }
public override bool Test(Sim a, HotBeverageMachine target, bool isAutonomous, ref GreyedOutTooltipCallback greyedOutTooltipCallback) { return(false); }
public override string GetInteractionName(Sim a, HotBeverageMachine target, InteractionObjectPair interaction) { return(base.Drink.Name); }
public override bool Test(Sim a, HotBeverageMachine target, bool isAutonomous, ref GreyedOutTooltipCallback greyedOutTooltipCallback) { return(target.Parent is Counter); }
public override string[] GetPath(bool isFemale) { return(new string[] { HotBeverageMachine.LocalizeString("TrySomethingElse", new object[0]) }); }