Ejemplo n.º 1
0
        protected override OptionResult Run(GameHitParameters <GameObject> parameters)
        {
            LoopingAnimationBase interaction = parameters.mActor.InteractionQueue.GetCurrentInteraction() as LoopingAnimationBase;

            interaction.SetLookAt(parameters.mTarget);
            return(OptionResult.SuccessClose);
        }
Ejemplo n.º 2
0
            protected override void OnPerform()
            {
                LoopingAnimationBase interaction = mInteractionInstance as LoopingAnimationBase;

                string value = StringInputDialog.Show(Common.Localize("Timing:MenuName"), Common.Localize("Timing:Prompt", interaction.TargetSim.IsFemale, new object[] { interaction.TargetSim }), interaction.Timing.ToString());

                if (string.IsNullOrEmpty(value))
                {
                    return;
                }

                float timing = 0;

                if (!float.TryParse(value, out timing))
                {
                    AcceptCancelDialog.Show(Common.Localize("Numeric:Error"));
                    return;
                }

                if (timing < 0)
                {
                    timing = 0;
                }

                interaction.Timing = timing;

                mTone.mTiming = timing;

                Sims3.UI.Hud.InteractionQueue.Instance.UpdateQueueFull();
            }
Ejemplo n.º 3
0
        public override bool Test(InteractionInstance ii, out StringDelegate reason)
        {
            try
            {
                LoopingAnimationBase interaction = ii as LoopingAnimationBase;

                if (interaction.Paused)
                {
                    reason = delegate
                    {
                        return(Common.Localize("Pause:Disabled"));
                    };

                    return(false);
                }

                return(base.Test(ii, out reason));
            }
            catch (Exception e)
            {
                reason = null;

                Common.Exception(ii.InstanceActor, e);
                return(false);
            }
        }
Ejemplo n.º 4
0
        protected override OptionResult Run(GameHitParameters <Sim> parameters)
        {
            LoopingAnimationBase interaction = parameters.mActor.InteractionQueue.GetCurrentInteraction() as LoopingAnimationBase;

            interaction.DisposeLookAt();

            return(OptionResult.SuccessClose);
        }
Ejemplo n.º 5
0
        public override void OnSelectionBegin(InteractionInstance interactionInstance)
        {
            try
            {
                LoopingAnimationBase interaction = interactionInstance as LoopingAnimationBase;

                interaction.Cancel();

                base.OnSelectionBegin(interactionInstance);
            }
            catch (Exception e)
            {
                Common.Exception(interactionInstance.InstanceActor, e);
            }
        }
Ejemplo n.º 6
0
        public override bool Test(InteractionInstance ii, out StringDelegate reason)
        {
            try
            {
                LoopingAnimationBase interaction = ii as LoopingAnimationBase;

                mTiming = interaction.Timing;

                return(base.Test(ii, out reason));
            }
            catch (Exception e)
            {
                reason = null;

                Common.Exception(ii.InstanceActor, e);
                return(false);
            }
        }
Ejemplo n.º 7
0
        public static bool ControlLoop(LoopingAnimationBase interaction)
        {
            try
            {
                float start = SimClock.ElapsedTime(TimeUnit.Seconds);
                while (((interaction.Paused) || (interaction.Timing > (SimClock.ElapsedTime(TimeUnit.Seconds) - start))) && (!interaction.TargetSim.HasExitReason()))
                {
                    SpeedTrap.Sleep();
                }
                
                interaction.Iterations--;

                return (interaction.Iterations > 0);
            }
            catch (ResetException)
            {
                throw;
            }
            catch (Exception e)
            {
                Common.Exception(interaction.TargetSim, interaction.TargetSim, e);
                return false;
            }
        }
Ejemplo n.º 8
0
        public static bool ControlLoop(LoopingAnimationBase interaction)
        {
            try
            {
                float start = SimClock.ElapsedTime(TimeUnit.Seconds);
                while (((interaction.Paused) || (interaction.Timing > (SimClock.ElapsedTime(TimeUnit.Seconds) - start))) && (!interaction.TargetSim.HasExitReason()))
                {
                    SpeedTrap.Sleep();
                }

                interaction.Iterations--;

                return(interaction.Iterations > 0);
            }
            catch (ResetException)
            {
                throw;
            }
            catch (Exception e)
            {
                Common.Exception(interaction.TargetSim, interaction.TargetSim, e);
                return(false);
            }
        }