예제 #1
0
 ResetRewardFunctions()
 {
     foreach (RewardFunctionDistance RewardFunctionDistance_ in RewardFunctionDistances)
     {
         RewardFunctionDistance_.Reset();
     }
 }
예제 #2
0
        StepRewardFunction()
        {
            float StepReward_ = 0f;

            foreach (RewardFunctionDistance RewardFunctionDistance_ in RewardFunctionDistances)
            {
                StepReward_ += RewardFunctionDistance_.StepGetReward() * globalManager.RewardDistanceCoefficient;
            }

            if (RewardTimeCoefficient != 0f)
            {
                StepReward_ += (globalManager.RewardTimeCoefficient * RewardTimeCoefficient);
            }

            foreach (TransformReinitializor TransformReinitializor_ in TransformReinitializors)
            {
                StepReward_ += TransformReinitializor_.StepRewardFunction();
            }

            AddReward(StepReward_ * RewardSchemeScale);
        }