Example #1
0
    void Awake()
    {
        // Sort out dep. on players.
        HandlePosition = HandlePosition.OrderBy(go => go.Position.name).ToList();

        for (int i = HandlePosition.Count - 1; i > -1; i--)
        {
            if (i > GameManager.playerCount - 1)
            {
                CustomerPositionClass nCPC = HandlePosition[i];
                HandlePosition.RemoveAt(i);
                handoverplaces.RemoveAt(i);
                WaitingPosition.Insert(0, nCPC);
            }
        }

        List <Transform> WP = WaitPosGameObj.GetComponentsInChildren <Transform>().ToList();

        WP.Remove(WaitPosGameObj.transform);
        for (int i = 0; i < WP.Count(); i++)
        {
            CustomerPositionClass CPC = new CustomerPositionClass(WP[i].gameObject, null, false);
            WaitingPosition.Add(CPC);
        }
    }
Example #2
0
    public void LookForNowPosition()
    {
        if (CPC.OccupiedBy != null)
        {
            CPC.OccupiedBy = null;
        }

        CPC = CL.AskForPosition(gameObject);
        if (CPC != null)
        {
            SetPositionTo(CPC);
        }
    }
Example #3
0
    public CustomerPositionClass AskForPosition(GameObject customer)
    {
        CustomerPositionClass AssignedPlace = null;

        for (int i = 0; i < HandlePosition.Count; i++)
        {
            if (HandlePosition[i].OccupiedBy == null)
            {
                AssignedPlace = HandlePosition[i];
                break;
            }
        }
        if (AssignedPlace == null)
        {
            for (int i = 0; i < WaitingPosition.Count; i++)
            {
                if (WaitingPosition[i].OccupiedBy == null)
                {
                    AssignedPlace = WaitingPosition[i];
                    break;
                }
            }
        }

        if (AssignedPlace != null)
        {
            AssignedPlace.OccupiedBy = customer;

            return(AssignedPlace);
        }
        else
        {
            EndCondition();
            return(null);
        }
    }
Example #4
0
 public void SetPositionTo(CustomerPositionClass nCPC)
 {
     TargetTransform = nCPC.Position.transform;
     NMA.SetDestination(TargetTransform.position);
 }