public void DoTask() { float newDeltaTime = (GameManager.main.maxFrameNum + 1) * Time.deltaTime; if (currTask == taskType.idle || !currTarget || peg.isStunned) { peg.movementInput = Vector2.zero; return; } peg.movementInput = currTarget.position.ToVector2() - transform.position.ToVector2(); float dist = Vector2.Distance(transform.position.ToVector2(), currTarget.position.ToVector2()); if (currTask == taskType.attack || currTask == taskType.crate) { if (dist < attackDistance) { attackTimer -= newDeltaTime; if (attackTimer <= 0) { peg.OnAttackPressed(); attackTimer = Random.Range(randomAttackDelay / 2, randomAttackDelay); IdleWait(0.1f); } } else { if (attackTimer < randomAttackDelay) { attackTimer += newDeltaTime; } } } else if (currTask == taskType.collectCoin && dist < coinDistance) { peg.OnAttackPressed(); RandomWait(); } else if (currTask == taskType.deliverCoin && dist < coinDropDistance) { peg.OnAttackPressed(); RandomWait(); } peg.movementInput = peg.movementInput.normalized * speedMult; }
void Update() { if (!peg || GameManager.main.isGameOver) { return; } peg.movementInput = new Vector2(Input.GetAxisRaw(string.Format("p{0}h", playerID)), Input.GetAxisRaw(string.Format("p{0}v", playerID))); if (Input.GetButtonDown(string.Format("p{0}f", playerID))) { peg.OnAttackPressed(); } }