// Spawn a projectile and send the projectile private void Shoot() { if (currentTime > 1f) { currentTime = 0; int i = GeneralTools.GetFirstNullIndexFromArray(projectileIds); if (i != -1) { Vector2 direction = (((BasePlayer)targetObj).transform.position - transform.position).normalized; Projectile projectile = GameManager.ProjectileM.SpawnProjectile( 1, (Vector2)transform.position + direction, direction, Projectile.Owner.Enemy, id, (byte)i); projectileIds[i] = projectile.gameObject; MultiplayerManager.peerManager.SendDataToAllPeers(projectile.GetByteData(), PacketType.projectile, PacketValue.addUpdate, true); } } }
// Check if room for projectile public virtual int CanDoAttack() { return(GeneralTools.GetFirstNullIndexFromArray(projectileIds)); }