예제 #1
0
    // Use this for initialization
    void Start()
    {
        rb             = GetComponent <Rigidbody>();
        resetCarScript = GetComponent <ResetCar>();

        if (!myPlateAgent.isTrainingCar)
        {
            sharedData.SetCursorVisible(false);
            sharedData.SetPlayerControl(true);

            if (GameObject.Find("wiiMote") != null) //beim debuggen ist sonst wiiMote nullReferenz
            {
                wiiDaten  = GameObject.Find("wiiMote").GetComponent <wiiKalibrierung>();
                wiiRemote = wiiDaten.wiiRemote;
            }
            else
            {
                wiiDaten  = null;
                wiiRemote = null;
            }
        }


        //Lade eine Strecke, falls der Trainingsmodus aktiv ist
        if (sharedData.TrainingMode)
        {
            RandomDifficulty();
            LoadTrainingFiles(dirPathTrainingRoute + currentDifficulty); //vorher currentDifficulty ändern, falls statt "default" einfach, mittel oder schwer angewendet werden soll
            LoadTrainingRoute(dirPathTrainingRoute + currentDifficulty);
        }
        else
        {
            //Debug.LogError("Kein Trainignsmodus aktiviert");
        }
    }
예제 #2
0
    private void Awake()
    {
        //to do:später wieder einschalten -> für debugging besser selbst setzen

        /*   if (brain.brainType.Equals(BrainType.External))
         * {
         *     sharedData.TrainingMode = true;
         * }
         * else if (brain.brainType.Equals(BrainType.Internal))
         * {
         *     sharedData.TrainingMode = false;
         * }*/

        switch (gameObject.tag)
        {
        case "Player":
            isTrainingCar = false;
            autoname      = "Car Prototype v8";
            ballname      = "Golfball_G";
            tellername    = "Teller";

            break;

        case "Trainingsfahrzeug":
            isTrainingCar = true;
            autoname      = "TrainingCarv8";
            ballname      = "Trainingsball";
            tellername    = "Trainingsteller";
            break;

        default:
            Debug.LogError("Das Fahrzeug hat keinen gültigen Tag.");
            autoname = ballname = tellername = string.Empty;
            break;
        }


        if (!isTrainingCar)
        {
            //Im Editor veränderbare Belohnungen in sharedData schreiben
            sharedData.incentiveLostLife         = incentiveLostLife;
            sharedData.incentiveFinishedRoute    = incentiveFinishedRoute;
            sharedData.incentiveBallStillOnPlate = incentiveBallStillOnPlate;
            sharedData.incentiveFactorDistanceBallToPlateCenter = incentiveFactorDistanceBallToPlateCenter;
            sharedData.delayFactor = delayFactor;
            Debug.LogFormat("lostlife: {0}, finishedRoute: {1}, ballonPlate: {2}, center {3} , delayFactor: {4} ", sharedData.incentiveLostLife, sharedData.incentiveFinishedRoute, sharedData.incentiveBallStillOnPlate, sharedData.incentiveFactorDistanceBallToPlateCenter, sharedData.delayFactor);
        }

        carTransform        = GetComponent <Transform>();
        resetCarScript      = GetComponent <ResetCar>();
        carRgBody           = GetComponent <Rigidbody>();
        carControllerScript = GetComponent <AlternateCarController>();



        //Suche für das Auto die dazugehörenden: PlayerObjects, Ball, Teller:
        playerObjectsTransform = gameObject.transform.parent;
        Debug.Log("*****Mein Name ist: " + playerObjectsTransform.name);


        GameObject ball = playerObjectsTransform.Find(ballname).gameObject;

        //Debug.Log("*****Mein Name ist: " + ball.name);
        ballRgBody    = ball.GetComponent <Rigidbody>();
        ballTransform = ball.GetComponent <Transform>();

        plateTransform = gameObject.transform.Find("CarModel").Find(tellername).GetComponent <Transform>();
        //Debug.Log("*****Mein Name ist: " + plateTransform.name);
    }