Example #1
0
    private void CopyClassValues(LecturerStats sourceComp, LecturerStats targetComp)
    {
        FieldInfo[] sourceFields = sourceComp.GetType().GetFields(BindingFlags.Public |
                                                                  BindingFlags.NonPublic |
                                                                  BindingFlags.Instance);
        int i = 0;

        for (i = 0; i < sourceFields.Length; i++)
        {
            var value = sourceFields[i].GetValue(sourceComp);
            sourceFields[i].SetValue(targetComp, value);
        }
    }
Example #2
0
    public void AddLecturersToPool(int numToAdd)
    {
        for (int i = 0; i < numToAdd; i++)
        {
            GameObject lecturerObject = Instantiate(pooledLecturerPrefab, selectionPoolGameObject.transform);

            LecturerStats lecturerStats = lecturerObject.GetComponent <LecturerStats>();
            if (lecturerStats)
            {
                lecturerStats.RandomiseStats();
            }
        }

        foreach (LecturerInfoFrameManager lecturerInfoManager in lecturerInfoFrameManagerScripts)
        {
            lecturerInfoManager.RefreshLecturerInfoUI();
        }
    }
Example #3
0
    public void HireLecturer(LecturerStats lecturerToHire)
    {
        GameObject    hiredLecturers = Instantiate(hiredLecturerPrefab, hiredPoolGameObject.transform);
        LecturerStats enrolledStats  = hiredLecturers.GetComponent <LecturerStats>();
        PolyNavAgent  polyNavAgent   = hiredLecturers.GetComponent <PolyNavAgent>();


        if (enrolledStats)
        {
            CopyClassValues(lecturerToHire, enrolledStats);
            enrolledStats.isHired = true;
        }

        if (polyNavAgent)
        {
            polyNavAgent.map     = navMesh;
            polyNavAgent.enabled = true;
        }

        Destroy(lecturerToHire.gameObject);
        StartCoroutine(RefreshAfterUpdate());
        OnHiredLecturerChange(GetHiredLecturerCount());
    }