예제 #1
0
    public GameObject getPrefabBadgeFromRank(Person.RankEnum rank)
    {
        if (rankBadgeDict == null)
        {
            GenerateNewBadgeAssignment();
        }

        if (rankBadgeDict.TryGetValue(rank, out int index))
        {
            return(featurePoolBadge[index]);
        }
        Debug.LogError("Uh oh couldn't find a badge for the rank", this);
        return(null);
    }
예제 #2
0
    internal void PostBuildingAwake(Building building)
    {
        this.building = building;

        // Add the target, setting unique identifier
        Room randomRoom = building.allRooms[UnityEngine.Random.Range(0, building.allRooms.Count)];
        List <Person.RankEnum> employeePool = randomRoom.GetRankPool();

        Person.RankEnum rank = employeePool[UnityEngine.Random.Range(0, employeePool.Count)];
        target = randomRoom.InstantiatePrefabFromRank(rank);

        // Populate the rest of the building
        foreach (Room room in building.allRooms)
        {
            room.GenerateAndAddPeople();
        }
    }
예제 #3
0
    public Employee InstantiatePrefabFromRank(Person.RankEnum rank)
    {
        switch (rank)
        {
        case Person.RankEnum.Manager:
            numberOfManagers--;
            return(InstantiatePrefabEmployee(Game.S.pfbManager));

        case Person.RankEnum.Executive:
            numberOfExecs--;
            return(InstantiatePrefabEmployee(Game.S.pfbExecutive));

        case Person.RankEnum.CEO:
            numberOfCEOs--;
            return(InstantiatePrefabEmployee(Game.S.pfbCEO));

        default:
            numberOfEmployees--;
            return(InstantiatePrefabEmployee(Game.S.pfbEmployee));
        }
    }