コード例 #1
0
ファイル: RestockItem.cs プロジェクト: yakoder/NRaas
            public override bool Run()
            {
                if (!this.Actor.RouteToObjectRadialRange(this.Target, UniversityWelcomeKit.kMinRouteDistance, UniversityWelcomeKit.kMaxRouteDistance))
                {
                    return(false);
                }

                base.StandardEntry();
                base.BeginCommodityUpdates();
                base.EnterStateMachine("UniversityWelcomeKit", "EnterUniversity", "x");
                base.AnimateSim("LoopTest");
                bool flag = base.DoTimedLoop(2f, ExitReason.Default);

                base.AnimateSim("ExitAptituteTest");
                base.EndCommodityUpdates(flag);
                base.StandardExit();

                //Replace restock item with the restocked item
                StoreSetBase b = RestockItemHelperClass.FindParentShopBase(this.Target);
                GameObject   o = RestockItemHelperClass.RecreateSoldObject(this.Target, this.Actor.SimDescription);

                //If the sim is tending the register, make him go back to tending
                if (b != null)
                {
                    b.AddInteractionsToChildObjects();
                    List <StoreSetRegister> registers = new List <StoreSetRegister>(Sims3.Gameplay.Queries.GetObjects <StoreSetRegister>(b.LotCurrent));
                    if (registers != null)
                    {
                        foreach (var register in registers)
                        {
                            //Push hired clerk to go back to work.
                            if (CMStoreSet.IsStoreOpen(register) && register.mPreferredClerk == this.Actor.SimDescription.SimDescriptionId)
                            {
                                base.TryPushAsContinuation(StoreSetRegister.PostureIdle.Singleton, register);
                                break;
                            }
                        }
                    }
                }

                return(true);
            }