protected override void Awake() { base.Awake(); if (null == piece) { piece = new MatrixPiece(new Vector2Int(1, 1)); if (!piece.BuildFromShape(pieceShape)) { // Default piece: a 1x1 piece.Fill(); } } piece.owner = new WeakReference <object>(this); // Matrix nodes must be kinematic only rigidbody.isKinematic = true; }
public void TestMatrixPiece_BuildFromShape() { var sut = new MatrixPiece(new Vector2Int(1, 1)); Assert.AreEqual(false, sut.CellAt(new Vector2Int(0, 0))); var pieceShape = new List <string>(); pieceShape.Add(" *"); pieceShape.Add("*"); sut.BuildFromShape(pieceShape); Assert.AreEqual(2, sut.Width); Assert.AreEqual(2, sut.Height); Assert.AreEqual(false, sut.CellAt(new Vector2Int(0, 0))); Assert.AreEqual(true, sut.CellAt(new Vector2Int(1, 0))); Assert.AreEqual(true, sut.CellAt(new Vector2Int(0, 1))); Assert.AreEqual(false, sut.CellAt(new Vector2Int(1, 1))); }