Example #1
0
        public TransitionState InsertIntoCell(ObjCell cell, int num_insertion_attempts)
        {
            if (cell == null)
            {
                return(TransitionState.Collided);
            }

            var transitionState = TransitionState.OK;

            for (var i = 0; i < num_insertion_attempts; i++)
            {
                transitionState = cell.FindCollisions(this);

                switch (transitionState)
                {
                case TransitionState.OK:
                case TransitionState.Collided:
                    return(transitionState);

                case TransitionState.Slid:
                    CollisionInfo.ContactPlaneValid   = false;
                    CollisionInfo.ContactPlaneIsWater = false;
                    break;
                }
            }
            return(transitionState);
        }