private void HandleMachineTatata() { if (movingToPosition == null) { if (currMovements < maxMachineguns) { currMovements++; movingToPosition = new Vector3( neutralPosition.x + Random.Range(-Camera.main.pixelWidth / 10, Camera.main.pixelWidth / 10), neutralPosition.y + Random.Range(-Camera.main.pixelHeight / 3, Camera.main.pixelHeight / 3), 0); } else { currMovements = 0; movingToPosition = null; ChangeStateTo(States.EnteringTheMothafuckaScreen); } } if (movingToPosition != null && MoveTowards(movingToPosition.Value, false)) { movingToPosition = null; } if (Time.time - machinegunFreq > lastMachinegunShot) { machinegunLeft.FromCurrentShootingState(false, false, true, left.gameObject, 666, machinegunLevel, 0f); machinegunRight.FromCurrentShootingState(false, false, true, right.gameObject, 666, machinegunLevel, 0f); lastMachinegunShot = Time.time; } }
private void FixedUpdate() { if (Time.time - lastShotAt > shootingFrequency) { lastShotAt = Time.time; shooter.FromCurrentShootingState(true, false, true, gameObject, 666, machinegunLevel, 0f); } // Move forwards transform.Translate(0, speed * Time.fixedDeltaTime, 0, Space.Self); // Trying to chase the player var angle = Vector2.SignedAngle(transform.up, playerTrans.position - transform.position); if (Mathf.Abs(angle) > 5) { if (angle > 0) { transform.Translate(-(speed / verticalSpeedDivider) * Time.fixedDeltaTime, 0, 0, Space.Self); } else { transform.Translate((speed / verticalSpeedDivider) * Time.fixedDeltaTime, 0, 0, Space.Self); } } }