Ejemplo n.º 1
0
    public void GenerateHabits()
    {
        if (tag != "Judge")
        {
            if (UnityEngine.Random.Range(0, 100) < 80)
            {
                needs[(int)Habits.Layer.physiology].habitPrimary      = RandomHabit(Habits.Layer.physiology);
                needs[(int)Habits.Layer.physiology].habitPrimaryValue = maxHabitValue;
                highestLayer = 0;
                //Debug.Log("physiology habit is " + needs[(int)Habits.Layer.physiology].habitPrimary.name);

                if (UnityEngine.Random.Range(0, 100) < 60)
                {
                    highestLayer = 1;
                    needs[(int)Habits.Layer.safety].habitPrimary      = RandomHabit(Habits.Layer.safety);
                    needs[(int)Habits.Layer.safety].habitPrimaryValue = maxHabitValue;
                    //Debug.Log("safety habit is " + needs[(int)Habits.Layer.safety].habitPrimary.name);


                    if (UnityEngine.Random.Range(0, 100) < 50)
                    {
                        highestLayer = 2;
                        needs[(int)Habits.Layer.belonging].habitPrimary      = RandomHabit(Habits.Layer.belonging);
                        needs[(int)Habits.Layer.belonging].habitPrimaryValue = maxHabitValue;

                        if (UnityEngine.Random.Range(0, 100) < 30)
                        {
                            highestLayer = 3;
                            needs[(int)Habits.Layer.esteem].habitPrimary      = RandomHabit(Habits.Layer.esteem);
                            needs[(int)Habits.Layer.esteem].habitPrimaryValue = maxHabitValue;

                            highestLayer    = 4;
                            influencer      = true;
                            influencerHabit = RandomNeedPrimaryHabit();
                            needs[(int)Habits.Layer.actualization].habitPrimary = influencerHabit;
                        }
                    }
                }
            }
        }
        else
        {
            highestLayer = -1;
        }



        /*
         * foreach (Need need in needs)
         * {
         *  need.habitPrimary = RandomHabit(need);
         * }
         */
    }
Ejemplo n.º 2
0
/// <summary>
/// Returns one of the person's primary habits.
/// </summary>
/// <returns></returns>
    public Habits.Habit RandomNeedPrimaryHabit()
    {
        Habits.Habit        newHabit       = new Habits.Habit();
        List <Habits.Habit> matchingHabits = new List <Habits.Habit>();

        foreach (Need eachNeed in needs)
        {
            matchingHabits.Add(eachNeed.habitPrimary);
        }
        if (matchingHabits.Count <= 0)
        {
            Debug.LogWarning("No matching random habits found for needs.");
        }
        newHabit = matchingHabits[UnityEngine.Random.Range(0, matchingHabits.Count - 1)];

        return(newHabit);
    }
Ejemplo n.º 3
0
    public Habits.Habit RandomHabit(Habits.Layer layer)
    {
        Habits.Habit        newHabit       = new Habits.Habit();
        List <Habits.Habit> matchingHabits = new List <Habits.Habit>();

        foreach (Habits.Habit eachHabit in Habits.habits)
        {
            // If this habit matches the randomly picked habit
            if (eachHabit.layer == layer)
            {
                //Debug.Log("randomizing list includes " + eachHabit.name);
                matchingHabits.Add(eachHabit);
            }
        }
        if (matchingHabits.Count <= 0)
        {
            Debug.LogWarning("No matching random habits found for that layer " + layer.ToString() + ".");
        }
        newHabit = matchingHabits[UnityEngine.Random.Range(0, matchingHabits.Count - 1)];

        return(newHabit);
    }