Exemple #1
0
        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)));
        }