public override bool Test(Sim a, Sim target, bool isAutonomous, ref GreyedOutTooltipCallback greyedOutTooltipCallback) { if (a != target) { return(false); } if (SkateHelper.CalculateIfActorIsOccultSkaterEx(a)) { return(false); } SkatingRink.Skate currentInteraction = a.CurrentInteraction as SkatingRink.Skate; return((currentInteraction != null) && currentInteraction.CanSingleSpin(ref greyedOutTooltipCallback)); }
public override bool Test(Sim a, Sim target, bool isAutonomous, ref GreyedOutTooltipCallback greyedOutTooltipCallback) { if (a == target) { return(false); } if (SkateHelper.CalculateIfActorIsOccultSkaterEx(a) || SkateHelper.CalculateIfActorIsOccultSkaterEx(target)) { return(false); } SkatingRink.Skate currentInteraction = a.CurrentInteraction as SkatingRink.Skate; SkatingRink.Skate skate2 = target.CurrentInteraction as SkatingRink.Skate; if ((currentInteraction == null) || (skate2 == null)) { return(false); } return(((currentInteraction.Target == skate2.Target) && currentInteraction.CanCouplesSpin(true)) && skate2.CanCouplesSpin(false)); }
private new List <Sim> GetValidSimsToSpinWith(Sim actor, ISkatableObject skateLocation) { List <Sim> lazyList = null; if ((skateLocation.Skaters == null) || (skateLocation.Skaters.Count < 2)) { return(null); } foreach (KeyValuePair <ulong, SkatingRink.Lane> pair in skateLocation.Skaters) { Sim createdSim = SimDescription.GetCreatedSim(pair.Key); if (createdSim != null) { SkateEx currentInteraction = createdSim.CurrentInteraction as SkateEx; if (((currentInteraction != null) && currentInteraction.IsSkating) && !SkateHelper.CalculateIfActorIsOccultSkaterEx(actor)) { Lazy.Add <List <Sim>, Sim>(ref lazyList, createdSim); } } } return(lazyList); }
private bool CalculateIfActorIsOccultSkaterEx() { return(SkateHelper.CalculateIfActorIsOccultSkaterEx(Actor)); }