public override void Initialize(GameObject owner) { base.Initialize(owner); transform = (Transform)GetComponent <Transform>(); velocity = (Velocity)GetComponent <Velocity>(); sprite = ((SpriteRenderer)GetComponent <SpriteRenderer>()).Sprite; PlayerProjectile = GameManager.GetPrefab("RedProjectile"); projectileSprite = ((SpriteRenderer)PlayerProjectile.GetComponent <SpriteRenderer>()).Sprite; health = 7; playerOrigin = new Vector2(360, 580) - sprite.GetCenter(); flippedPlayerOrigin = VectorMath.RotatePoint(playerOrigin, new Vector2(360, 360), (float)Math.PI) - sprite.GetDimensions(); transform.Position = playerOrigin; isFlipped = false; slowSpeed = 100f; normalSpeed = 300f; }
public void ShootTowards(GameObject target) { PlayerProjectile the_projectile = Instantiate(projectile_used, transform.position, Quaternion.identity); Vector2 direction = new Vector2(0.0f, 1.0f); direction.Normalize(); the_projectile.transform.rotation = Quaternion.Euler(0, 0, Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg + 90.0f); the_projectile.GetComponent <Rigidbody2D>().velocity = direction * projectile_speed; the_projectile.Target(target); // Slightly faster projectiles in the boss stage if (spawner.name == "BellSpawner") { the_projectile.speed = 1.7f * projectile_speed; } else { the_projectile.speed = projectile_speed; } Debug.Log("Shooting the " + spawner.name); }
public void ShootFromTurret(bool left, string turretName) { playerShipTurret = playerShipBody.transform.Find(turretName).gameObject; playerTurretShootPoint_left = playerShipTurret.transform.Find("PlayerTurretBarrelLeft").transform.Find("PlayerTurretShootPoint").gameObject; if (left == false) { playerTurretShootPoint_right = playerShipTurret.transform.Find("PlayerTurretBarrelRight").transform.Find("PlayerTurretShootPoint").gameObject; } float projectileAngleInRad = transform.Find("PlayerShipBody").transform.Find(turretName).transform.eulerAngles.z *Mathf.Deg2Rad * -1; Vector3 projectilePosition = playerTurretShootPoint_left.transform.position; if (!left) { projectilePosition = playerTurretShootPoint_right.transform.position; } PlayerProjectile projectile = Instantiate(playerProjectile, projectilePosition, playerShipTurret.transform.rotation) as PlayerProjectile; projectile.GetComponent <SpriteRenderer>().sortingOrder = 2; projectile.SetupProjectile(turretName, projectileAngleInRad); }