IEnumerator GenerateVehicleRoutine() { float nextVehicleAfter = 1.0f; if (withVehicles) { int randomVehicleIndex = Random.Range(0, levelConfig.vehicles.Count); string vehicleName = levelConfig.vehicles[randomVehicleIndex]; ObjectPool vehiclePool = vehiclePoolList.Find(item => vehicleName.Equals(item.name)); if (vehiclePool == null) { GameObject aGameObject = Resources.Load <GameObject>("Vehicles/" + vehicleName); vehiclePool = new ObjectPool(aGameObject, 5); vehiclePoolList.Add(vehiclePool); } GameObject vehicleGO = vehiclePool.Get(); //vehicleGO.transform.localScale = Vector3.one; VehicleControlScript vehicleControlScript = vehicleGO.GetComponent <VehicleControlScript>(); vehicleControlScript.SetupVehicle(vehiclePool, !firstVehicleCreated); vehicleControlScripts.Add(vehicleControlScript); firstVehicleCreated = true; nextVehicleAfter = Random.Range(levelConfig.timeBetweenVehicleMin, levelConfig.timeBetweenVehicleMax); yield return(new WaitForSeconds(nextVehicleAfter)); GenerateVehicle(); } }
// Use this for initialization void Start() { vehicle = GameObject.FindWithTag("Vehicle"); vehicleScript = vehicle.GetComponent <VehicleControlScript>(); endTime = Time.time + gameTime; gameOver = false; Gnmies = new GameObject("NMIES"); SpawnZombies(); }
/* * void OnLevelWasLoaded() * { * Debug.Log("WAAAATTT"); * }*/ void FindVehicleRef() { GameObject temp = GameObject.FindGameObjectWithTag("Vehicle"); if (temp) { vehicle = temp.GetComponent <VehicleControlScript>(); Debug.Log("vehicle exists"); } }
private void AddCellControllers() { VehicleControlScript vehicle = transform.GetComponent <VehicleControlScript>(); foreach (Transform cell in gridActive.transform) { CellController cellControl = cell.gameObject.AddComponent <CellController>(); cellControl.Init(); cellControl.Health = Mathf.CeilToInt(vehicle.Health / (rows * columns)); //e.g. 5000 / 24 = 208.33 == 208 ==~ 209 Ceil'd. cellControl.healthOrig = cellControl.Health; cellControl.layers = gridCellsInLayers.Count; } }
private void OnTriggerEnter(Collider _other) { IGameObject iGameObject = _other.GetComponent <IGameObject>(); if (iGameObject != null && iGameObject is VehicleControlScript) { VehicleControlScript otherVehicle = iGameObject as VehicleControlScript; if (otherVehicle.transform.position.z < transform.position.z) { iGameObject.speed *= 0.8f; speed *= 1.2f; } } }
/// <summary> /// Spawn all players onto the vehicle and transitions to GAMEPLAY state /// </summary> public void SpawnPlayers() { if (!stateManager)//If for some reason we didn't find the state manager { //Please locate statemanager stateManager = UnityUtils.FindComponentOn <StateManager>("StateManager"); } //Change to Gameplay State stateManager.LoadGameplayScene(); //Find Vehicle gameobject //VehicleControlScript vehicle = Utils.FindComponentOn<VehicleControlScript>("Vehicle"); VehicleControlScript vehicle = SingletonGodController.instance.vehicleControlScript; //Spawn Freddies SetActivePlayers(); //vehicle.GetComponent<FreddySpawnScript>().InstantiatePlayers(3);//GetPlayerDeviceIds().Count //update playerCount instead of above line playerCount = 3; //does this need to be fixed victor? -Tyler }
// Use this for initialization public virtual void Start() { rb = this.GetComponent <Rigidbody2D>(); zC = this.GetComponent <Collider2D>(); ZSR = this.GetComponent <SpriteRenderer>(); ZSR.sortingLayerName = "Zombies"; damage = 5; health = 20; this.contact = false; counter = 10; colcount = 10; hitHappenedRecently = false; van = GameObject.FindGameObjectWithTag("Vehicle"); if (van == null) { return; } vehicle = van.GetComponent <VehicleControlScript>(); VSR = van.GetComponent <SpriteRenderer>(); vC = van.GetComponent <Collider2D>(); }
public void ReCenterTracks(Vector3 _offset) { int count = presentedTrackSegment.Count; for (int i = 0; i < count; i++) { presentedTrackSegment[i].transform.position -= _offset; } for (int i = 0; i < vehicleControlScripts.Count; i++) { VehicleControlScript vehicleControlScript = vehicleControlScripts[i]; vehicleControlScript.transform.position -= _offset; } //count = m_PastSegments.Count; //for (int i = 0; i < count; i++) //{ // m_PastSegments[i].transform.position -= currentPos; //} // Recalculate current world position based on the moved world //m_Segments[0].GetPointAtInWorldUnit(m_CurrentSegmentDistance, out currentPos, out currentRot); }
public void Init() { vehicle = transform.parent.parent.GetComponent <VehicleControlScript>(); gr = transform.parent.parent.GetComponent <Gridilizer>(); sr = transform.GetComponent <SpriteRenderer>(); }
// Use this for initialization protected override void Start() { base.Start(); vehicle = GetComponentInParent <VehicleControlScript>(); //vehicle = GameObject.FindGameObjectWithTag("Vehicle").GetComponent<VehicleControlScript>(); }
public void RemoveVehicleFromTrack(VehicleControlScript _vehicleControlScript) { vehicleControlScripts.Remove(_vehicleControlScript); }
void Instance_OnUpdate(float _deltaTime) { if (!TrackManager.Instance.isTrackReady) { return; } //Vector3 newMoveDirection = Vector3.zero; //if (characterTransform.isGrounded) //{ // moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical")); // moveDirection = transform.TransformDirection(moveDirection); // moveDirection *= speed; // if (Input.GetButton("Jump")) // { // moveDirection.y = jumpSpeed; // } //} ////if (characterTransform.gameObject.transform.position.y >= maxHeight) ////{ //// moveDirection.y = maxHeight; ////} ////else ////{ ////Debug.LogError(characterTransform.isGrounded); //if (!characterTransform.isGrounded) //{ // moveDirection.y -= gravity * _deltaTime; // //} // //Debug.LogError(moveDirection.y); //} //Debug.LogError(moveDirection.y); //CollisionFlags cFlags = characterTransform.Move(moveDirection * _deltaTime); CheckInput(); float dTime = laneChangeSpeed * TrackManager.Instance.laneOffset * _deltaTime / runDistance; // Move collider side to side Vector3 newLaneChangeTargetPosition = laneChangeTargetPosition; if (isJumping) { //// Same as with the sliding, we want a fixed jump LENGTH not fixed jump TIME. Also, just as with sliding, //// we slightly modify length with speed to make it more playable. ////newLaneChangeTargetPosition.x - Mathf.Abs(newLaneChangeTargetPosition.x) + TrackManager.Instance.laneOffset; //float correctJumpLength = runDistance;//laneChangeSpeed / runDistance;// * (1.0f + trackManager.speedRatio); //float ratio = (totalWorldTravelDistance - jumpStart) / correctJumpLength; //Debug.LogError(totalWorldTravelDistance - jumpStart); ////Debug.LogError(ratio); //if (ratio >= 1.0f) //{ // isJumping = false; // //character.animator.SetBool(s_JumpingHash, false); //} //else //{ // newLaneChangeTargetPosition.y = ratio * 2.0f * jumpHeight * laneChangeSpeed;//Mathf.Sin(ratio * Mathf.PI) * jumpHeight; // //if (newLaneChangeTargetPosition.y <= 0.0f) // //{ // // newLaneChangeTargetPosition.y = 0.0f; // // isJumping = false; // //} //} //else if (!AudioListener.pause)//use AudioListener.pause as it is an easily accessible singleton & it is set when the app is in pause too //{ // verticalTargetPosition.y = Mathf.MoveTowards(verticalTargetPosition.y, 0, k_GroundingSpeed * Time.deltaTime); // if (Mathf.Approximately(verticalTargetPosition.y, 0f)) // { // character.animator.SetBool(s_JumpingHash, false); // m_Jumping = false; // } //} float correctJumpLength = runDistance; Vector3 newPos = characterTransform.localPosition; float ratio = newPos.y / jumpHeight * 4.0f; if (Mathf.Approximately(newPos.y, 0.0f)) { isGoingUp = true; } if (isGoingUp) { newPos.y = characterTransform.localPosition.y + (jumpHeight * dTime); if (newPos.y >= jumpHeight) { newPos.y = jumpHeight; isGoingUp = false; currentVehicleControlScript = null; characterColliderScript.SetTrigger(true); } } else { newPos.y = characterTransform.localPosition.y + (-jumpHeight * dTime); if (newPos.y <= 0.0f) { newPos.y = 0.0f; isJumping = false; } } characterTransform.localPosition = newPos; } //float dTime = laneChangeSpeed * TrackManager.Instance.laneOffset * _deltaTime / runDistance; newLaneChangeTargetPosition.y = characterTransform.localPosition.y; characterTransform.localPosition = Vector3.MoveTowards(characterTransform.localPosition, newLaneChangeTargetPosition, dTime); // Move pivot forward float scaledSpeed = runDistance * _deltaTime; Vector3 newForwardTargetPosition = forwardTargetPosition; bool needRecenter = transform.position.sqrMagnitude > TrackManager.Instance.k_FloatingOriginThreshold; if (needRecenter) { TrackManager.Instance.ReCenterTracks(transform.position); forwardTargetPosition = newForwardTargetPosition -= transform.position; transform.position = Vector3.zero; } if (autoForward) { Vector3 movingDirection = transform.forward; movingDirection *= scaledSpeed; transform.position = transform.position + movingDirection; forwardTargetPosition = transform.position; } else { transform.position = Vector3.MoveTowards(transform.position, newForwardTargetPosition, laneChangeSpeed * _deltaTime); } totalWorldTravelDistance += scaledSpeed; CheckPlayerPositionOnTrack(); }
public void RegisterVehicle(VehicleControlScript _newVehicleControlScript) { currentVehicleControlScript = _newVehicleControlScript; }