Exemplo n.º 1
0
 public static InteractionTuning InjectAndReset <Target, OldType, NewType>(bool clone)
     where Target : IGameObject
     where OldType : InteractionDefinition
     where NewType : InteractionDefinition
 {
     return(WoohooTuningControl.ResetTuning(Tunings.Inject <Target, OldType, NewType>(clone), false, false));
 }
Exemplo n.º 2
0
 public override InteractionTestResult Test(ref InteractionInstanceParameters parameters, ref GreyedOutTooltipCallback greyedOutTooltipCallback)
 {
     using (WoohooTuningControl control = new WoohooTuningControl(parameters.InteractionObjectPair.Tuning, Woohooer.Settings.mAllowTeenWoohoo))
     {
         return(base.Test(ref parameters, ref greyedOutTooltipCallback));
     }
 }
Exemplo n.º 3
0
            public override InteractionTestResult Test(ref InteractionInstanceParameters parameters, ref GreyedOutTooltipCallback greyedOutTooltipCallback)
            {
                try
                {
                    Sim actor = parameters.Actor as Sim;
                    if (actor == null)
                    {
                        return(InteractionTestResult.Root_Null_Actor);
                    }

                    if ((actor.LotCurrent == null) || (actor.LotCurrent.IsWorldLot))
                    {
                        greyedOutTooltipCallback = Common.DebugTooltip("World Lot");
                        return(InteractionTestResult.Tuning_LotAvailability);
                    }

                    WoohooLocationControl control = WoohooLocationControl.GetControl(GetLocation(parameters.Target));
                    if (control == null)
                    {
                        greyedOutTooltipCallback = Common.DebugTooltip("Control Denied");
                        return(InteractionTestResult.Def_TestFailed);
                    }

                    if (!control.AllowLocation(actor.SimDescription, false))
                    {
                        greyedOutTooltipCallback = Common.DebugTooltip("Location Denied");
                        return(InteractionTestResult.Def_TestFailed);
                    }

                    using (WoohooTuningControl tuningControl = new WoohooTuningControl(parameters.InteractionObjectPair.Tuning, Woohooer.Settings.mAllowTeenWoohoo))
                    {
                        InteractionTestResult result = base.Test(ref parameters, ref greyedOutTooltipCallback);

                        if ((greyedOutTooltipCallback == null) && (Common.kDebugging))
                        {
                            greyedOutTooltipCallback = delegate { return(result.ToString()); };
                        }

                        return(result);
                    }
                }
                catch (ResetException)
                {
                    throw;
                }
                catch (Exception e)
                {
                    Common.Exception(parameters.Actor, parameters.Target, e);
                    return(InteractionTestResult.GenericFail);
                }
            }
Exemplo n.º 4
0
            public override InteractionTestResult Test(ref InteractionInstanceParameters parameters, ref GreyedOutTooltipCallback greyedOutTooltipCallback)
            {
                if (Pool.GetPoolNearestPoint(parameters.Hit.mPoint) == null)
                {
                    return(InteractionTestResult.Gen_BadTerrainType);
                }

                using (WoohooTuningControl control = new WoohooTuningControl(parameters.InteractionObjectPair.Tuning, Woohooer.Settings.mAllowTeenSkinnyDip))
                {
                    SwimHere.SwimHereType type = mSwimHereType;
                    try
                    {
                        mSwimHereType = SwimHere.SwimHereType.None;

                        return(base.Test(ref parameters, ref greyedOutTooltipCallback));
                    }
                    finally
                    {
                        mSwimHereType = type;
                    }
                }
            }