Inheritance: MonoBehaviour
Beispiel #1
0
    public override void LevelComplete()
    {
        levelCompleteUi.SetActive(true);
        PlayerPrefs.SetInt("LevelsCompleted", PlayerPrefs.GetInt("LevelsCompleted", 1) + 1);
        CarMovement carMovement = GetComponent <CarMovement>();

        if (carMovement.undoList.Count > 0)
        {
            if (carMovement.carToMove != carMovement.undoList[carMovement.undoList.Count - 1].car)
            {
                moves += 1;
            }
        }
        completedMovesTxt.text = "Moves: " + (moves);

        if (moves <= currLevelMoves + 7)
        {
            completedTxt.text = winMessages[Random.Range(0, winMessages.Length)];
            string mode = (CrossSceneManager.Instance.gameModeNr == 2) ? "Challenge" : "8x8 Challenge";
            if (PlayerPrefs.GetInt(mode + "LevelReached", 0) <= levelIndex)
            {
                PlayerPrefs.SetInt(mode + "LevelReached", levelIndex + 1);
            }

            levelCompleteUi.GetComponent <Image>().color = new Color32(30, 236, 34, 245);
            if (moves <= currLevelMoves)
            {
                star.sprite           = goldStar;
                movesNextStarTxt.text = "";
                PlayerPrefs.SetInt(mode + levelIndex + "Stars", 3);
            }
            else if (moves <= currLevelMoves + 3)
            {
                star.sprite           = silverStar;
                movesNextStarTxt.text = "Next star: " + currLevelMoves;
                if (PlayerPrefs.GetInt(mode + levelIndex + "Stars") < 2)
                {
                    PlayerPrefs.SetInt(mode + levelIndex + "Stars", 2);
                }
            }
            else
            {
                star.sprite           = bronzeStar;
                movesNextStarTxt.text = "Next star: " + (currLevelMoves + 3);
                if (PlayerPrefs.GetInt(mode + levelIndex + "Stars") < 1)
                {
                    PlayerPrefs.SetInt(mode + levelIndex + "Stars", 1);
                }
            }
            nextLvlBtn.SetActive(true);
        }
        else
        {
            completedTxt.text = looseMessages[Random.Range(0, looseMessages.Length)];
            levelCompleteUi.GetComponent <Image>().color = new Color32(236, 51, 30, 245);
            star.sprite           = blankStar;
            movesNextStarTxt.text = "Minimum moves: " + (currLevelMoves + 7);
            nextLvlBtn.SetActive(false);
        }
    }
Beispiel #2
0
    void Start()
    {
        spawnpoints = TileController.GetSpawnpoints();
        var nnSize = AIController.nnSize;

        for (int i = 0; i < carCount; i++)
        {
            Tile currSpawnpoint = spawnpoints[i % spawnpoints.Count];

            GameObject  carObject = Instantiate(carPrefab, currSpawnpoint.GetWorldPos(), Quaternion.identity);
            CarMovement car       = carObject.GetComponent <CarMovement>();

            Agent agent = new Agent(car);
            agent.SetSpawnpoint(currSpawnpoint);
            agent.SetBrain(new NeuralNetwork(nnSize[0], nnSize[1], nnSize[2]));

            CarController.cars.Add(car);
            List <Collider> colls = car.GetColliders();

            foreach (CarMovement other in CarController.cars)
            {
                if (car == other)
                {
                    continue;
                }
                DisableCollisions(colls, other.GetColliders());
            }
        }
    }
Beispiel #3
0
 public static void updateOwnership(CarMovement car)
 {
     flagOwnershipCount = 0;
     flagOwner          = car;
     updatePosition();
     updateBaseAlpha();
 }
Beispiel #4
0
    private void EnterCarPark()
    {
        GameObject         park;
        ParkNodeController parkInfo;

        bool  parkIsFull;
        float distanceToPlayer;

        if (!allParksFull)
        {
            do
            {
                park             = parkNodes.transform.GetChild(Random.Range(0, parkNodes.transform.childCount)).gameObject;
                parkInfo         = park.GetComponent <ParkNodeController>();
                distanceToPlayer = Vector3.Distance(park.transform.position, GameObject.FindGameObjectWithTag("Player").transform.position);

                parkIsFull = !parkInfo.isEmpty;
            } while (parkIsFull || distanceToPlayer < SPAWN_DISTANCE);

            GameObject carSpawn = Instantiate(
                carPrefabs[Random.Range(0, carPrefabs.Length)],
                park.transform
                );

            cars.Add(carSpawn);

            CarMovement carMovement = carSpawn.GetComponent <CarMovement>();
            carMovement.park         = parkInfo;
            carMovement.park.isEmpty = false;
        }

        CheckAllParksFull();
    }
Beispiel #5
0
    private void SpawnParkedCar()
    {
        int                spawnPointIndex;
        bool               spaceFree;
        Transform          spawnPoint;
        ParkNodeController parkingSpace;

        if (!allParksFull)
        {
            do
            {
                spawnPointIndex = Random.Range(0, parkNodes.transform.childCount);
                spawnPoint      = parkNodes.transform.GetChild(spawnPointIndex);
                parkingSpace    = spawnPoint.GetComponent <ParkNodeController>();
                spaceFree       = parkingSpace.isEmpty;
            } while (!spaceFree);

            parkingSpace.isEmpty = false;

            GameObject carSpawn = Instantiate(carPrefabs[Random.Range(0, carPrefabs.Length)], spawnPoint);
            carSpawn.transform.parent = transform;
            CarMovement carMovement = carSpawn.GetComponent <CarMovement>();
            carMovement.park         = parkingSpace;
            carMovement.leavingState = CarLeavingState.STOPPED;
            cars.Add(carSpawn);
        }

        CheckAllParksFull();
    }
Beispiel #6
0
    private void Instantiate()
    {
        Quaternion quaternion;

        if (isLeftRoad)
        {
            quaternion = Quaternion.Euler(0, 90, 0);
        }
        else
        {
            quaternion = Quaternion.Euler(0, 270, 0);
        }

        int RandomIndex = Random.Range(0, 7);

        GameObject Car = Instantiate(VehiclesType.instance.getPrefab(RandomIndex), instatiatePos.position, quaternion);

        Car.transform.parent = this.transform;

        CarMovement carMovement = Car.GetComponent <CarMovement>();

        carMovement.SetTarget(endPoint.position);
        carMovement.GetSpawner(this);

        CarOnRoad++;
    }
Beispiel #7
0
    void Awake()
    {
        redCar       = Instantiate(carPrefab, redStart.position, redStart.rotation) as GameObject;
        redCar.name  = "Red Car - Left";
        blueCar      = Instantiate(carPrefab, blueStart.position, blueStart.rotation) as GameObject;
        blueCar.name = "Blue Car - Right";
        CarMovement redMovement = redCar.GetComponent <CarMovement>();

        redMovement.axisSuffix      = "Left";
        redMovement.otherCar        = blueCar.GetComponent <Rigidbody2D>();
        redMovement.lane            = 0;
        redMovement.negatePositions = -1;
        CarMovement blueMovement = blueCar.GetComponent <CarMovement>();

        blueMovement.axisSuffix      = "Right";
        blueMovement.otherCar        = redCar.GetComponent <Rigidbody2D>();
        blueMovement.lane            = 0;
        blueMovement.negatePositions = 1;

        GameObject redCarGraphic = new GameObject();

        redCarGraphic.AddComponent <SpriteRenderer>().sprite = redCarSprite;
        redCarGraphic.transform.SetParent(redCar.transform, false);
        redCarGraphic.name = "RedCarGraphic";

        GameObject blueCarGraphics = new GameObject();

        blueCarGraphics.AddComponent <SpriteRenderer>().sprite = blueCarSprite;
        blueCarGraphics.transform.SetParent(blueCar.transform, false);
    }
Beispiel #8
0
 // Start is called before the first frame update
 void Start()
 {
     if (PhotonNetwork.IsMasterClient)
     {
         carMovement = GameObject.Find("Car").GetComponent <CarMovement>();
     }
 }
 void Awake()
 {
     PC        = GetComponent <PlayerController>();
     cMovement = this.GetComponent <CarMovement>();
     CarMovement.OnStartSkid       += StartSkid;
     CarMovement.OnStopSkid        += EndSkid;
     PlayerController.OnTileChange += OnTileChange;
 }
Beispiel #10
0
 private void Awake()
 {
     rigbody     = GetComponent <Rigidbody>();
     carMovement = GetComponent <CarMovement>();
     navigator   = GetComponent <NavMeshAgent>();
     navMeshPath = new NavMeshPath();
     nextPoint   = transform.position;
 }
Beispiel #11
0
    private void Start()
    {
        carActive       = false;
        playerTransform = playerObj.GetComponent <Transform>();
        carMovement     = GetComponent <CarMovement>();

        //allObjects = camera.GetComponent<AllObjectsInfo>();
    }
Beispiel #12
0
 // Update is called once per frame
 void Update()
 {
     car = GameObject.FindGameObjectWithTag("Player").GetComponent <CarMovement>();
     action_indicator.text       = "Current Action: " + car.action;
     speed_indicator.text        = "Speed: " + string.Format("{0:N1}", car.speed);
     left_sensor_indicator.text  = "Left Sensor Distance: " + string.Format("{0:N1}", car.left_distance);
     right_sensor_indicator.text = "Right Sensor Distance: " + string.Format("{0:N1}", car.right_distance);
     front_sensor_indicator.text = "Front Sensor Distance: " + string.Format("{0:N1}", car.front_distance);
 }
Beispiel #13
0
 void Instantiate()
 {
     this.Movement = GetComponent <CarMovement>();
     sensors       = GetComponentsInChildren <Sensor>();
     Learning      = new QLearning();
     Points        = new Points();
     this.ShowSensors();
     Init();
 }
Beispiel #14
0
 public static void bounceFlag()
 {
     if (flagOwner != null)
     {
         flagOwner = null;
         randomizePosition();
         updateBaseAlpha();
     }
 }
 private void Awake()
 {
     if (canvasController == null)
     {
         canvasController = this; // Singleton del canvas
     }
     timer = minutos * 60;
     StartCoroutine(TimerUpdater());
     player = GameObject.FindGameObjectWithTag("Player").GetComponent <CarMovement>();
 }
    private void _generate(SpawnPosition _pos, GameObject _objPrefab)
    {
        GameObject _objCar = Instantiate(_objPrefab, Vector3.zero, Quaternion.identity);

        _objCar.transform.SetParent(_pos.transform);
        _objCar.transform.localPosition = Vector3.zero;
        CarMovement _carMovement = _objCar.GetComponent <CarMovement>();

        _carMovement.Registe(chgSpeedMgr);
        _carMovement.SetStartData(_pos.MoveDir, _pos.Dir);
    }
Beispiel #17
0
 private void OnTriggerEnter(Collider other)
 {
     if (other.gameObject.CompareTag("TagCar"))
     {
         CarMovement _carMove = other.gameObject.GetComponent <CarMovement>();
         if (_carMove.m_dir == BelongDir)
         {
             Destroy(other.gameObject);
         }
     }
 }
Beispiel #18
0
 void OnTriggerEnter(Collider other)
 {
     if (Flag.flagOwner == this && Flag.flagOwnershipCount >= Flag.flagOwnershipCountMin)
     {
         CarMovement otherCar = (CarMovement)other.gameObject.GetComponent(typeof(CarMovement));
         if (otherCar != null)
         {
             Flag.updateOwnership(otherCar);
         }
     }
 }
 // Start is called before the first frame update
 void Start()
 {
     carMovement   = GetComponent <CarMovement>();
     rigidbody     = GetComponent <Rigidbody>();
     gameUiManager = FindObjectOfType <UIManager>().GameUiManager;
     vcam          = FindObjectOfType <CinemachineVirtualCamera>();
     noise         = vcam.GetCinemachineComponent <CinemachineBasicMultiChannelPerlin>();
     material      = GetComponentInChildren <MeshRenderer>().material;
     currentLife   = maxLife;
     gameUiManager.DisplayLife(maxLife, currentLife);
 }
 IEnumerator RespawnChunk()
 {
     isLoaded    = true;
     unloadScene = SceneManager.UnloadSceneAsync(gameObject.scene);
     Resources.UnloadUnusedAssets();
     StartCoroutine(CarMovement.LoadChunk(gameObject.scene.buildIndex));
     while (!unloadScene.isDone)
     {
         yield return(null);
     }
 }
    //Finds car's movement script ...
    private void Start()
    {
        carMovement      = GetComponentInParent <CarMovement>();
        playerResources  = GameObject.FindWithTag(PlayerTag).GetComponent <PlayerResources>();
        losingController = GameObject.FindWithTag(LosingControllerTag).GetComponent <LosingController>();

        speedTextOffPoint   = carMovement.Road.commonPath.GetControlPoint(15).z;
        checkResourcesPoint = carMovement.Road.commonPath.GetControlPoint(47).z;

        SetTextParameters();
    }
Beispiel #22
0
 // Start is called before the first frame update
 void Start()
 {
     // Auto Get
     if (carMovement == null)
     {
         carMovement = GetComponent <CarMovement>();
     }
     if (carAnimation == null)
     {
         carAnimation = GetComponent <CarAnimation>();
     }
 }
Beispiel #23
0
    // Start is called before the first frame update
    void Start()
    {
        player = FindObjectOfType <PlayerController>().transform;

        carMovement = GetComponent <CarMovement>();

        if (GameManager.Instance.CurrentState == GameManager.GameState.START)
        {
            previousState_ = state_;
            state_         = State.PAUSE;
        }
    }
Beispiel #24
0
 public void Spawn()
 {
     if (isSpawned == false)
     {
         Vector3 destinationDirection = nextWaypoint.transform.position - transform.position;
         spawnedObject    = Instantiate(prefab, transform.position, Quaternion.LookRotation(destinationDirection));
         isSpawned        = true;
         spawnedTransform = spawnedObject.GetComponent <Transform>();
         CarMovement carMovement = spawnedObject.GetComponent <CarMovement>();
         carMovement.CurrentWaypoint(nextWaypoint);
     }
 }
 private void OnTriggerEnter(Collider other)
 {
     if (other.transform.tag == "shovel")
     {
         carMovement         = other.gameObject.GetComponent <CarMovement>();
         carMovement.enabled = false;
         winText.SetActive(true);
         confetti.SetActive(true);
         StartCoroutine(loadScene());
         startedLoading = true;
     }
 }
Beispiel #26
0
    void Start()
    {
        carScript = car.GetComponent<CarMovement>();
        helicopterScript = helicopter.GetComponent<HelicopterScript> ();
        playerScript = player.GetComponent<ThirdPersonUserControl> ();
        cameraCarScript = mainCamera.GetComponent<CameraCarScript> ();
        cameraPlayerScript = mainCamera.GetComponent<CameraPlayerScript> ();
        cameraHelicopterScript = mainCamera.GetComponent<CameraHelicopterScript> ();

        player.transform.GetChild (0).GetChild(0).renderer.enabled = false;
        player.transform.GetChild (0).GetChild(1).renderer.enabled = false;
    }
Beispiel #27
0
    private void Awake()
    {
        carMovement      = GetComponent <CarMovement>();
        carsSound        = CarsController.Instance.GetComponent <CarsSound>();
        sensorVisualizer = sensor.GetComponentInChildren <SensorVisualizer>();

        MeshRenderer[] carMeshRenderers = GetComponentsInChildren <MeshRenderer>(true);
        vehicleMeshRenderer       = carMeshRenderers[0];
        potatoVehicleMeshRenderer = carMeshRenderers[1];

        genome = new Genome(inNodesNumber, outNodesNumber);
    }
Beispiel #28
0
    private void OnCollisionEnter(Collision collision)
    {
        if (collision.gameObject.tag == "Car" && collision.gameObject.GetComponent <CarMovement>().Hit == false) // проверяет произошло ли столкновение с машинкой и не было ли столкновений до этого
        {
            CarMovement collisionCar = collision.gameObject.GetComponent <CarMovement>();
            collisionCar.Hit = true;                                                      // предотвращает второе срабатывание метода

            ChangeScore((collisionCar.CarSpeed) * ((collisionCar.LeftRoad ? 1 : 0) + 1)); // = скорость авто * полоса движения авто (левая = 2, правая = 1)

            carSpawner.CarPrefab.Add(collision.gameObject);                               // уничтожение машины
        }
    }
Beispiel #29
0
 void Start()
 {
     car         = GameObject.FindGameObjectWithTag("Car");
     mainCam     = GameObject.FindGameObjectWithTag("MainCamera");
     carMovement = car.GetComponent <CarMovement>();
     carFollow   = mainCam.GetComponent <CarFollow>();
     panel       = GameObject.FindGameObjectWithTag("Panel");
     if (panel.active == true)
     {
         carFollow.enabled   = false;
         carMovement.enabled = false;
     }
 }
Beispiel #30
0
    void OnTriggerExit(Collider other)
    {
        if (other.GetComponent <Rigidbody>() != null)
        {
            Rigidbody   targetRigidBody  = other.GetComponent <Rigidbody>();
            CarMovement targetCarMovenet = targetRigidBody.GetComponent <CarMovement>();

            if (targetCarMovenet)
            {
                targetCarMovenet.SetOutSpeedZone();
            }
        }
    }
Beispiel #31
0
    void InstantiateCar()
    {
        GameObject newCar = Instantiate(cars [0]);

        newCar.transform.position = GetPosition();
        newCar.transform.parent   = transform;

        carSpeed = Random.Range(3, 10);
        life     = 20.0f;
        CarMovement carComponent = newCar.GetComponent <CarMovement> ();

        carComponent.SetCarSpeedAndLife(carSpeed, life);
    }