Пример #1
0
    // (weighted) availability of activity, given state of run
    public override int CustomAvailability(RunState runState)
    {
        Activity balancedMeal = Object.FindObjectOfType <BalancedMeal>();

        // offer whenever it's time for a meal
        if (balancedMeal.Availability(runState) > 0)
        {
            return(3);
        }
        // or if meal was skipped
        int timeSinceEat = System.Math.Min(runState.TimeSinceLast(this), runState.TimeSinceLast(balancedMeal));
        int hunger       = System.Math.Max(0, timeSinceEat - 3);

        return(hunger);
    }
Пример #2
0
 // (weighted) availability of activity, given state of run
 public override int CustomAvailability(RunState runState)
 {
     if (runState.timeSteps <= 1 || runState.TimeSinceLast(this) == 0)
     {
         // dominate when available
         return(10);
     }
     return(0);
 }