Exemplo n.º 1
0
    void InteractBarrier(Barrier barrier)
    {
        if (!_onGround)
        {
            return;
        }

        if (barrier.passed)
        {
            //move gang to up
            MoveGangToBarrierEnd(barrier);
            PassBarrier(barrier, _activeMembers);
        }
        else if (barrier.CanGangPassBarrier(_activeMembers.Count))
        {
            Debug.LogWarning("Build Pass");
            barrier.SetPass(head.transform.position);
            //move gang to up
            MoveGangToBarrierEnd(barrier);

            List <Member> passMembers = new List <Member>();
            passMembers.AddRange(_activeMembers.GetRange(0, barrier.neededManCount));

            _activeMembers.RemoveRange(0, barrier.neededManCount);

            BuildPass(barrier, passMembers);
            PassBarrier(barrier, _activeMembers);
        }
        else
        {
            Debug.LogWarning("Cant pass!!");
        }
    }