本文整理汇总了C#中InteractionDefinition.Test方法的典型用法代码示例。如果您正苦于以下问题:C# InteractionDefinition.Test方法的具体用法?C# InteractionDefinition.Test怎么用?C# InteractionDefinition.Test使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类InteractionDefinition
的用法示例。
在下文中一共展示了InteractionDefinition.Test方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TestAllow
public static bool TestAllow(InteractionDefinition definition, ref InteractionInstanceParameters parameters)
{
try
{
Common.StringBuilder msg = new Common.StringBuilder();
GreyedOutTooltipCallback greyedOutTooltipCallback = null;
InteractionTestResult result = definition.Test(ref parameters, ref greyedOutTooltipCallback);
if (!IUtil.IsPass(result))
{
msg += Common.NewLine + result;
sTracer.Reset();
sTracer.mActor = parameters.Actor as Sim;
sTracer.mFail = true;
sTracer.mIgnore = true;
}
else
{
sTracer.mActor = parameters.Actor as Sim;
sTracer.Perform();
if ((sTracer.mActor != null) && (sTracer.mTestForActive))
{
if (sTracer.mActor.IsSelectable)
{
if (GoHere.Settings.mDisallowActiveGoHome)
{
sTracer.mFail = true;
}
}
else
{
if ((GoHere.Settings.mDisallowInactiveLeaveActiveLot) &&
(!sTracer.mActor.LotCurrent.IsBaseCampLotType) &&
(!sTracer.mActor.Autonomy.Motives.IsSleepy()))
{
foreach (Sim sim in Households.AllSims(Household.ActiveHousehold))
{
if (sim.LotCurrent == sTracer.mActor.LotCurrent)
{
sTracer.mFail = true;
break;
}
}
}
}
}
}
if (((!sTracer.mIgnore) || (!GoHere.Settings.mIgnoreLogs)) && (Common.kDebugging))
{
msg += Common.NewLine + sTracer.ToString();
Common.DebugException(parameters.Actor, parameters.Target, msg, new Exception());
}
if (sTracer.mFail)
{
return false;
}
}
catch (Exception e)
{
Common.Exception(parameters.Actor, parameters.Target, e);
}
return true;
}