void Start() { //gameVars.StepsChanged += RandomizeBehaviour; if (verticalOnly) { randomMove = VerticalMove; } else { randomMove = Move; } if (myDirection.x < 0.0f && allowXInversion) { transform.localScale = new Vector3(-transform.localScale.x, transform.localScale.y, transform.localScale.z); } if (pursuitSPZ) { myCollider = gameObject.GetComponent <Collider2D>(); if (myCollider == null) { Debug.Log("Warning no collider set for " + gameObject.name); } GameObject gameManager = GameObject.FindGameObjectWithTag(GlobalTags.GameManager); gameVars = gameManager.GetComponent <GlobalVars>(); gameVars.StepsChanged += this.OnStepsChanged; gsm = gameManager.GetComponent <GameSpeedManager>(); if (boostPosition == null) { Debug.Log("Warning boostPosition not set for " + gameObject.name); } } }
void AddGoToMid() { RandomBehaviour.inPursuit = false; myAnimator.SetBool("PreBoost", false); myAnimator.speed = myAnimator.speed * 2.0f; initPosition = new Vector3(transform.position.x, transform.position.y, transform.position.z); randomMove = GoToMid; }
void GoBack() { transform.position = new Vector3(Mathf.Lerp(transform.position.x, initPosition.x, gsm.GameSpeed * myBoostSpeed / 20.0f * Time.deltaTime), transform.position.y, transform.position.z); if (Mathf.Abs(transform.position.x - initPosition.x) < 0.1f) { randomMove = Move; gameVars.StepsChanged += this.OnStepsChanged; } }
void GoToMid() { if (transform.position.x < boostPosition.position.x) { transform.position = new Vector3(Mathf.Lerp(transform.position.x, transform.position.x + gameVars.linearTranslationOffset, gsm.GameSpeed * myBoostSpeed * Time.deltaTime), transform.position.y, transform.position.z); } else { randomMove = GoBack; myAnimator.speed = myAnimator.speed / 2.0f; } }