예제 #1
0
 public void StudyMagic(MAGIC_SCHOOL schoolToStudy, float studyModifer)
 {
     // Only increment student skill if study cooldown has passed
     if (lastStudy + studyPeriod < Time.time)
     {
         studentSkills[schoolToStudy] += Constants.STUDENT_LEARN_RATE * studyModifer;
         lastStudy = Time.time;
     }
 }
예제 #2
0
 public Classroom FindClassroom(MAGIC_SCHOOL classroomTypeToFind)
 {
     foreach (Classroom classroomToCheck in transform.GetComponentsInChildren <Classroom>())
     {
         if (classroomToCheck.classroomType == classroomTypeToFind)
         {
             return(classroomToCheck);
         }
     }
     return(null);
 }
예제 #3
0
    public void RandomiseStats()
    {
        studentSkills = new MagicTypeFloatDictionary();
        var magicTypes = Enum.GetValues(typeof(MAGIC_SCHOOL)).Cast <MAGIC_SCHOOL>();

        foreach (MAGIC_SCHOOL currentMagicSchool in magicTypes)
        {
            if (currentMagicSchool == MAGIC_SCHOOL.NONE)
            {
                continue;
            }
            studentSkills.Add(currentMagicSchool, (float)System.Math.Round(UnityEngine.Random.Range(0f, 0.4f), 2));
        }

        studentTraits = new List <STUDENT_TRAITS>(UnityEngine.Random.Range(1, 5));
        for (int j = 0; j < studentTraits.Capacity; j++)
        {
            studentTraits.Add((STUDENT_TRAITS)UnityEngine.Random.Range(0, 4));
        }

        studentDesire = (MAGIC_SCHOOL)UnityEngine.Random.Range(0, 2);
    }