示例#1
0
    bool WeightedPawnSpawn(Transform t)
    {
        int  chosenBase  = 0;
        bool pawnSpawned = false;

        for (int i = 0; i < usedSubset.Length; i++)
        {
            int pawnRand = Random.Range(0, totalChance);
            if (pawnRand <= pawnSpawnThreshold[i])
            {
                chosenBase = i;
                classNumbers[i]++;
                //GameObject pawnToSpawn = Instantiate(usedSubset[0], t.position, t.rotation,pawnHolder);
                GameObject pawnToSpawn = Instantiate(usedSubset[chosenBase], t.position, t.rotation, pawnHolder);
                InitPawn   pawnInit    = pawnToSpawn.GetComponent <InitPawn>();
                pawnInit.workContainer = workContainer;
                pawnInit.SetRestZone(homeZones[pawnsSpawned].relaxZone.transform);
                pawnInit.SetSleepZone(homeZones[pawnsSpawned].sleepZone.transform);
                pawnInit.classType = i;
                pawnSpawned        = true;
                break;
            }
        }

        return(pawnSpawned);
    }
示例#2
0
 public void AssignWorker(InitPawn newWorker)
 {
     workers.Add(newWorker);
     newWorker.workplaceAssigned = true;
     newWorker.SetWorkZone(transform);
     currentJobCount++;
     if (currentJobCount >= totalJobCount)
     {
         workplaceFull = true;
     }
 }
示例#3
0
    private void Start()
    {
        targetReady = false;
        seeker      = GetComponent <Seeker>();
        grid        = FindObjectOfType <GridLayout>();
        pathMap     = grid.GetComponentInChildren <Tilemap>();
        init        = GetComponent <InitPawn>();

        path = FindObjectOfType <AstarPath>();

        currentSpeed = movementSpeed;
        aILerp.speed = currentSpeed;
    }
    //TODO develop graphing parameters

    protected void Start()
    {
        pathfinding                 = GetComponent <PathfindingTestScript>();
        pawn                        = GetComponent <InitPawn>();
        taskQueueToday              = new Queue <TaskTypes>();
        taskQueueTimeHourToday      = new Queue <int>();
        taskQueueTimeMinuteToday    = new Queue <int>();
        taskQueueTomorrow           = new Queue <TaskTypes>();
        taskQueueTimeHourTomorrow   = new Queue <int>();
        taskQueueTimeMinuteTomorrow = new Queue <int>();

        fullInteractionZones = new List <InteractionZone>();
        fullJoyZones         = new List <JoyZone>();

        for (int i = 0; i < taskListToday.Count; i++)
        {
            taskQueueToday.Enqueue(taskListToday[i]);
            taskQueueTimeHourToday.Enqueue(taskTimeHourToday[i]);
            taskQueueTimeMinuteToday.Enqueue(taskTimeMinuteToday[i]);
        }
    }