Пример #1
0
        private static RegisterCloset GetRegisterCloset(ClosetType type, bool isClosed)
        {
            GameObject obj = new GameObject();

            obj.AddComponent <BoxCollider2D>();
            obj.AddComponent <BoxCollider2D>();
            var closet = obj.AddComponent <RegisterCloset>();

            //always starts in machines layer
            obj.layer = LayerMask.NameToLayer("Machines");

            closet.closetType = type;
            closet.Passable   = false;
            closet.IsClosed   = isClosed;

            return(closet);
        }
Пример #2
0
        public void GivenClosetOfTypeAndOpenCloseState_WhenOpenOrClose_ThenHasCorrectLayerAndPassabilityStatus(ClosetType type, bool isInitiallyClosed, bool thenIsClosed, int shouldBeInLayer, bool shouldBePassable)
        {
            var closet = GetRegisterCloset(type, isInitiallyClosed);

            if (isInitiallyClosed == thenIsClosed)
            {
                //check right away
                Assert.AreEqual(closet.gameObject.layer, shouldBeInLayer);
                Assert.AreEqual(closet.Passable, shouldBePassable);
            }
            else
            {
                //change and check
                closet.IsClosed = thenIsClosed;
                Assert.AreEqual(closet.gameObject.layer, shouldBeInLayer);
                Assert.AreEqual(closet.Passable, shouldBePassable);
            }

            //collider should always be one no matter what
            AssertCollidersEnabled(closet, true);
        }