示例#1
0
    // 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);
            }
        }
    }
示例#2
0
 // Check if room for projectile
 public virtual int CanDoAttack()
 {
     return(GeneralTools.GetFirstNullIndexFromArray(projectileIds));
 }