PhysicsShapeGroup2D.Add
Declaration
public void Add(PhysicsShapeGroup2D physicsShapeGroup);Параметры
| Параметр | Описание |
|---|---|
| physicsShapeGroup | PhysicsShapeGroup2D для добавления в эту группу фигур. (только для чтения) |
Описание
Добавляет копию всех PhysicsShape2D и их геометрию из указанной physicsShapeGroup в эту группу фигур. Указанная physicsShapeGroup не изменяется.
using UnityEngine; using UnityEngine.Assertions;
public class Example : MonoBehaviour { private const int ShapeCount = 10;
void Start() { // Create a shape group and add a Circle to it. var shapeGroup1 = new PhysicsShapeGroup2D(); shapeGroup1.AddCircle ( center: Vector2.zero, radius: 1f );
// Validate the contents. Assert.AreEqual(1, shapeGroup1.shapeCount); Assert.AreEqual(1, shapeGroup1.vertexCount); Assert.AreEqual(PhysicsShapeType2D.Circle, shapeGroup1.GetShape(0).shapeType);
// Create another shape group and add a Box to it. var shapeGroup2 = new PhysicsShapeGroup2D(); shapeGroup2.AddBox ( center: new Vector2(3f, 2f), size: new Vector2(1f, 1f) );
// Validate the contents. Assert.AreEqual(1, shapeGroup2.shapeCount); Assert.AreEqual(4, shapeGroup2.vertexCount); Assert.AreEqual(PhysicsShapeType2D.Polygon, shapeGroup2.GetShape(0).shapeType);
// Add the second shape group to the first shape group. shapeGroup1.Add(shapeGroup2);
// Validate the contents. Assert.AreEqual(1 + 1, shapeGroup1.shapeCount); Assert.AreEqual(1 + 4, shapeGroup1.vertexCount); Assert.AreEqual(PhysicsShapeType2D.Circle, shapeGroup1.GetShape(0).shapeType); Assert.AreEqual(PhysicsShapeType2D.Polygon, shapeGroup1.GetShape(1).shapeType); } }