Exemplo n.º 1
0
 private void GarderHorsBornes(Soldat a, Vector3 v)
 {
     //faire le reste
     if (v.X > 0 && a.HitBoxGénérale.Min.X < HitBoxGénérale.Max.X)
     {
         a.ModifierPosition(new Vector3(a.VarPosition.X + HitBoxGénérale.Max.X - a.HitBoxGénérale.Min.X, a.VarPosition.Y, a.VarPosition.Z));
     }
     if (v.X < 0 && a.HitBoxGénérale.Max.X > HitBoxGénérale.Min.X)
     {
         a.ModifierPosition(new Vector3(a.VarPosition.X + HitBoxGénérale.Min.X - a.HitBoxGénérale.Max.X, a.VarPosition.Y, a.VarPosition.Z));
     }
     if (v.Z > 0 && a.HitBoxGénérale.Max.Z < HitBoxGénérale.Min.Z)
     {
         a.ModifierPosition(new Vector3(a.VarPosition.X, a.VarPosition.Y, a.VarPosition.Z + HitBoxGénérale.Min.Z - a.HitBoxGénérale.Min.Z));
     }
     if (v.Z < 0 && a.HitBoxGénérale.Min.Y > HitBoxGénérale.Max.Y)
     {
         a.ModifierPosition(new Vector3(a.VarPosition.X, a.VarPosition.Y, a.VarPosition.Z + HitBoxGénérale.Max.Z - a.HitBoxGénérale.Min.Z));
     }
     if (v.Y < 0 && a.HitBoxGénérale.Max.Y > HitBoxGénérale.Min.Y)
     {
         a.ModifierPosition(new Vector3(a.VarPosition.X, a.VarPosition.Y + HitBoxGénérale.Min.Y - a.HitBoxGénérale.Max.Y, a.VarPosition.Z));
     }
     if (v.Y > 0 && a.HitBoxGénérale.Min.Y < HitBoxGénérale.Max.Y)
     {
         a.ModifierPosition(new Vector3(a.VarPosition.X, a.VarPosition.Y + HitBoxGénérale.Max.Y - a.HitBoxGénérale.Min.Y, a.VarPosition.Z));
     }
 }
 protected override void SuivreTerrain(Soldat a)
 {
     a.ModifierPosition(a.VarPosition + DifferencePosition);
 }