本文整理汇总了C#中OCAction类的典型用法代码示例。如果您正苦于以下问题:C# OCAction类的具体用法?C# OCAction怎么用?C# OCAction使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
OCAction类属于命名空间,在下文中一共展示了OCAction类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: IsNotAnimatingAnything
public static bool IsNotAnimatingAnything(OCAction action, OCActionArgs args)
{
return !args.Source.animation.isPlaying;
}
示例2: IsSourceOnlyIdling
public static bool IsSourceOnlyIdling(OCAction action, OCActionArgs args)
{
return action._ActionController.RunningActions.Where(s => s != "StandIdleShow").Count() == 0;
}
示例3: IsSourceRunningOtherActionsIgnoreIdle
public static bool IsSourceRunningOtherActionsIgnoreIdle(OCAction action, OCActionArgs args)
{
return action._ActionController.RunningActions.Where(s => s != action.FullName && s != "StandIdleShow").Count() > 0;
}
示例4: IsSourceNotAnimatingOrRunningAction
public static bool IsSourceNotAnimatingOrRunningAction(OCAction action, OCActionArgs args)
{
return IsSourceNotAnimating(action, args) || IsSourceRunningAction(action, args);
}
示例5: DoesSourceNeedToTellEndTarget
public static bool DoesSourceNeedToTellEndTarget(OCAction action, OCActionArgs args)
{
return UnityEngine.Random.Range(0,100) > 75 && !action._ActionController.RunningActions.Contains("StandIdleTell");
}
示例6: IsEndTargetMoreRight
public static bool IsEndTargetMoreRight(OCAction action, OCActionArgs args)
{
Vector3 sourcePosition = args.Source.gameObject.transform.position;
Vector3 targetPosition = args.EndTarget.gameObject.transform.position;
Vector3 sourceRight = args.Source.gameObject.transform.right;
Vector3 sourceLeft = -args.Source.gameObject.transform.right;
Vector3 sourceForward = args.Source.gameObject.transform.forward;
Vector3 sourceGoal = targetPosition - sourcePosition;
float projectionLeft = Vector3.Dot(sourceGoal, sourceLeft);
float projectionRight = Vector3.Dot(sourceGoal, sourceRight);
float projectionForward = Vector3.Dot(sourceGoal, sourceForward);
return projectionRight > (projectionLeft);// && projectionRight > projectionForward;
}
示例7: IsSourceRunningAction
public static bool IsSourceRunningAction(OCAction action, OCActionArgs args)
{
return action._ActionController.RunningActions.Count > 0 && action._ActionController.RunningActions.Contains(action.FullName);
}
示例8: IsSourceIdlingAnimation
public static bool IsSourceIdlingAnimation(OCAction action, OCActionArgs args)
{
return !args.Source.animation.isPlaying || args.Source.animation.IsPlaying("idle");
}
示例9: IsPathOpenForSourceForwardBlockSolid
public static bool IsPathOpenForSourceForwardBlockSolid(OCAction action, OCActionArgs args)
{
OCMap map = OCMap.Instance;
CharacterController charController =
args.Source.GetComponent<CharacterController>();
return
map.IsPathOpen
( args.Source.transform
, charController.height
, OCMap.PathDirection.ForwardBlockSolid
, default(Vector3i)
)
;
}
示例10: IsNoEndTargetOrNotAnimating
public static bool IsNoEndTargetOrNotAnimating(OCAction action, OCActionArgs args)
{
return IsSourceNotAnimating(action, args) || IsNoEndTarget(action, args);
}
示例11: IsSourceNotIdlingAnimation
public static bool IsSourceNotIdlingAnimation(OCAction action, OCActionArgs args)
{
return IsSourceIdlingAnimation(action, args);
}
示例12: IsSourceAngry
public static bool IsSourceAngry(OCAction action, OCActionArgs args)
{
OCPhysiologicalModel model = GameObject.FindGameObjectWithTag("OCAGI").GetComponent<OCPhysiologicalModel>();
return model.Energy < 0.9;
}
示例13: IsSourceNotAnimating
public static bool IsSourceNotAnimating(OCAction action, OCActionArgs args)
{
return !IsSourceAnimating(action, args);
}
示例14: IsSourceAnimating
public static bool IsSourceAnimating(OCAction action, OCActionArgs args)
{
iTween itween = args.Source.GetComponent<iTween>();
return itween != null && itween.isRunning;
}
示例15: IsEndTargetAhead
public static bool IsEndTargetAhead(OCAction action, OCActionArgs args)
{
Vector3 sourcePosition = args.Source.gameObject.transform.position;
Vector3 targetPosition = args.EndTarget.gameObject.transform.position;
Vector3 sourceUp = args.Source.transform.up;
Vector3 sourceForward = args.Source.transform.forward;
Vector3 sourceRight = args.Source.transform.right;
Vector3 distance = targetPosition - sourcePosition;
float projUp = Vector3.Dot(distance, sourceUp);
float projForward = Vector3.Dot(distance, sourceForward);
float projRight = Vector3.Dot(distance, sourceRight);
return Math.Abs(projUp) < 0.5f && projForward >= 0.5f && Math.Abs(projRight) < 0.5f;
}