Exemple #1
0
        protected static ListenerAction OnNewObject(Event e)
        {
            HotBeverageMachine targetObject = e.TargetObject as HotBeverageMachine;

            if (targetObject != null)
            {
                AddInteractionsForCoffeeMaker(targetObject);
            }
            return(ListenerAction.Keep);
        }
Exemple #2
0
            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);
            }
Exemple #3
0
                // 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));
                    }
                }
Exemple #4
0
                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 }));
                }
Exemple #5
0
 public override bool Test(Sim a, HotBeverageMachine target, bool isAutonomous, ref GreyedOutTooltipCallback greyedOutTooltipCallback)
 {
     return(false);
 }
Exemple #6
0
 public override string GetInteractionName(Sim a, HotBeverageMachine target, InteractionObjectPair interaction)
 {
     return(base.Drink.Name);
 }
Exemple #7
0
 public override bool Test(Sim a, HotBeverageMachine target, bool isAutonomous, ref GreyedOutTooltipCallback greyedOutTooltipCallback)
 {
     return(target.Parent is Counter);
 }
Exemple #8
0
 public override string[] GetPath(bool isFemale)
 {
     return(new string[] { HotBeverageMachine.LocalizeString("TrySomethingElse", new object[0]) });
 }