本文整理汇总了C#中Entity.SetDirection方法的典型用法代码示例。如果您正苦于以下问题:C# Entity.SetDirection方法的具体用法?C# Entity.SetDirection怎么用?C# Entity.SetDirection使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Entity
的用法示例。
在下文中一共展示了Entity.SetDirection方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Execute
public override void Execute(Entity context)
{
CharacterController controller = context.GetComponent<CharacterController>();
transform = controller.transform;
//transform = context.transform;
direction = context.GetMedrashPosition() - transform.position;
direction.y = 0.0f;
tangent.x = clockwise*direction.z;
tangent.z = -clockwise*direction.x;
tangent.y = 0.0f;
if (context.DistanceToMainCharacter() > context.GetCloseRadius())
direction = tangent + 0.01f*(direction.magnitude - context.GetFarRadius()) * direction;
else
direction = tangent + 0.1f*(direction.magnitude - context.GetFarRadius()) * direction;
RaycastHit hitInfo;
if (Physics.Raycast(transform.position + controller.center, direction, out hitInfo, 3.0f)) {
clockwise *= -1;
direction *= -1;
}
context.SetDirection(direction);
context.SetRunAnimation();
}
示例2: Execute
public override void Execute(Entity context)
{
Transform transform = context.transform;
direction = context.GetMedrashPosition() - transform.position;
direction.y = 0.0f;
context.SetDirection(direction);
}
示例3: Execute
public override void Execute(Entity context)
{
direction = context.ReturnPlace() - context.transform.position;
direction.y = 0;
context.SetDirection(direction);
context.SetWalkAnimation();
}
示例4: Enter
public override void Enter(Entity context)
{
transform = context.transform;
direction = context.GetMedrashPosition() - transform.position;
direction.y = 0.0f;
context.SetSpeed(context.GetBaseSpeed()*1.5f);
context.SetDirection(direction);
}
示例5: Execute
public override void Execute(Entity context)
{
target = context.medrash.transform;
transform = context.transform;
direction = target.position - transform.position;
direction.y = 0;
direction = -5.0f*direction.normalized;
context.SetDirection(direction);
}
示例6: Enter
public override void Enter(Entity context)
{
context.SetSpeed(context.GetBaseSpeed());
float r = Random.value;
rotateAngle = 120.0f*(2*r - 1)*Mathf.PI/180.0f;
if (r < 0.4)
context.RotateBy(rotateAngle);
else if (r < 0.8)
context.RotateBy(-rotateAngle);
direction = context.transform.forward;
direction.y = 0.0f;
context.SetDirection(direction);
}
示例7: Execute
public override void Execute(Entity context)
{
transform = context.transform;
direction = context.GetMedrashPosition() - transform.position;
direction.y = 0.0f;
tangent.x = clockwise*direction.z;
tangent.z = -clockwise*direction.x;
tangent.y = 0.0f;
direction = tangent + (direction.magnitude - context.GetFarRadius()) * direction;
if (Physics.Raycast(transform.position, direction, context.GetCloseRadius()))
clockwise *= -1;
context.SetDirection(direction);
context.SetRunAnimation();
}
示例8: Execute
public override void Execute(Entity context)
{
context.SetDirection(Vector3.zero);
context.SetFace(context.transform.right);
}