Exemplo n.º 1
0
    IEnumerator SpawnTime()
    {
        while (true)
        {
            yield return(new WaitForSeconds(NetCustomerSpawnTime + Random.Range(NetCustomerSpawnTime * -0.1f, NetCustomerSpawnTime * 0.1f)));

            Transform start  = MathRand.Pick(startPos);
            int       choice = MathRand.WeightedPick(new float[] { recurringCust.Count, newCustomerRatio });
            if (choice == 1)
            {
                Customer c = Instantiate(MathRand.Pick(customerObjects), start.position, start.rotation).GetComponent <Customer>();
                if (mainMenuMode)
                {
                    c.actionWeight = new float[] { 3, 6, 1 }
                }
                ;
                c.custName = AssignCustomerName();
            }
            else
            {
                CustomerReturn(MathRand.Pick(recurringCust));  //else we return it
            }
            isSpawning = false;
            custCount++;
            break;
        }
    }
Exemplo n.º 2
0
    public static Transform GetInteractable(Departments dept)
    {
        if (dept == Departments.Start)
        {
            return(MathRand.Pick(instance.startPos));
        }
        if (!IsDepartmentFunctional(dept))
        {
            return(null);
        }

        if (!instance.intr.ContainsKey(dept))
        {
            instance.intr.Add(dept, new List <Transform>());
        }

        if (instance.intr[dept].Count == 0)
        {
            instance.intr[dept].AddRange(MathRand.ChooseSetDependent(depts[dept].interactablePosition.ToArray(), depts[dept].interactablePosition.Count));
        }

        var interact = instance.intr[dept][0];

        instance.intr[dept].RemoveAt(0);
        return(interact);
    }
 // Use this for initialization
 void Start()
 {
     ao = SceneManager.LoadSceneAsync(nextSceneName);
     ao.allowSceneActivation = false;
     chosenTxt = MathRand.Pick(tips);
     StartCoroutine(LoadSceneActive());
 }
Exemplo n.º 4
0
    void CustomerReturn(GameObject custObj)
    {
        Transform start = MathRand.Pick(startPos);

        instance.recurringCust.Remove(custObj);
        custObj.transform.position = start.position;
        custObj.transform.rotation = start.rotation;
        custObj.SetActive(true);
        custObj.GetComponent <Customer>().ChooseAction();
    }