本文整理汇总了C#中Vec2.Mul方法的典型用法代码示例。如果您正苦于以下问题:C# Vec2.Mul方法的具体用法?C# Vec2.Mul怎么用?C# Vec2.Mul使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Vec2
的用法示例。
在下文中一共展示了Vec2.Mul方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Move
public Vec2 Move(Human LeMe, IEnumerable<Human> NearestNeighbours)
{
if ((LeMe.Node - LeMe.Position).Length() > 100.0f)
{
LeMe.Node = this.GetNewTarget(LeMe);
if (LeMe.HumanType == HumanType.Agent)
{
LeMe.MovementBehaviour = new AgentMovementBehaviour();
}
else
{
LeMe.MovementBehaviour = new UsualMovementBehaviour();
}
}
this.velocity = LeMe.Node - LeMe.Position;
this.velocity.Mul(-1.0f);
this.velocity.Mul(1.0f / this.velocity.Length());
this.velocity.Mul(this.speed);
foreach (var human in NearestNeighbours.Where(Human => Human.Position != LeMe.Position && !(Human.HumanType != HumanType.Agent && LeMe.HumanType == HumanType.Victim)))
{
this.distance = human.Position - LeMe.Position;
var num = this.distance.Length();
distance.Mul(1.0f / distance.Length());
distance.Mul(1.7f);
if (!(num <= 15.0f))
{
continue;
}
num = 15.0f - num;
num /= 15.0f;
this.distance.Mul(num * -1f);
this.distance.Mul(3.5f);
this.velocity += this.distance;
this.distance = human.Position - LeMe.Position;
}
this.velocity.Mul(1.0f / this.velocity.Length());
this.velocity.Mul(this.speed);
LeMe.Position = LeMe.Position + this.velocity;
return LeMe.Position;
}
示例2: Move
public Vec2 Move(Human LeMe, IEnumerable<Human> NearestNeighbours)
{
LeMe.Node = LeMe.Victim.Position;
if ((LeMe.Node - LeMe.Position).Length() < 14f)
{
LeMe.Victim.Kill();
}
this.velocity = LeMe.Node - LeMe.Position;
this.velocity.Mul(1.0f / this.velocity.Length());
this.velocity.Mul(this.speed);
foreach (var human in NearestNeighbours.Where(Human => Human.Position != LeMe.Position && !(Human.HumanType != HumanType.Agent && LeMe.HumanType == HumanType.Victim)))
{
this.distance = human.Position - LeMe.Position;
var num = this.distance.Length();
distance.Mul(1.0f / distance.Length());
distance.Mul(1.7f);
if (!(num <= 15.0f))
{
continue;
}
num = 15.0f - num;
num /= 15.0f;
this.distance.Mul(num * -1f);
this.distance.Mul(3.5f);
this.velocity += this.distance;
this.distance = human.Position - LeMe.Position;
}
this.velocity.Mul(1.0f / this.velocity.Length());
this.velocity.Mul(this.speed);
LeMe.Position = LeMe.Position + this.velocity;
return LeMe.Position;
}