private void AgentDone()
 {
     if (unityAgent.IsDone())
     {
         return;
     }
     unityAgent.SetReward(area.doneReward);
     unityAgent.Done();
     levelParameters = levelParameters.AdvanceLevel();
     Reset(true);
 }
        private void Initialize()
        {
            step = 0;
            stepsInsideTarget = 0;
            levelParameters   = LevelParameters.Create(100, 30f, 1f);

            var initialPosition = spawnPosition.localPosition;
            var targetPosition  = target.localPosition;

            agent = FlyingAgent.Create(initialPosition, target: targetPosition, speed: moveSpeed);
            area  = FlyingArea.Create(agent, targetPosition, doneReward: 2f, failReward: -2f);
            ResetUnityEntities(initialPosition, targetPosition);
        }