Beispiel #1
0
            //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);
            }
Beispiel #2
0
            // 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();
                }
            }
Beispiel #3
0
        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));
            }
Beispiel #5
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();
                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);
            }
Beispiel #6
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);
            }