Exemplo n.º 1
0
    public void OpenFire(Vector3 targetPosition)
    {
        if (!canFire)
        {
            return;
        }
        GameObject    objBullet  = Instantiate(gameObject, bulletModel, tf_FirePosition.position);
        ShipBulletCpt shipBullet = objBullet.GetComponent <ShipBulletCpt>();

        shipBullet.SetData(shipData.characterType, shipData.bulletDamage);
        //子弹高度
        float bulletHight = handler_GameData.GetBulletHight();
        float bulletSpeed = handler_GameData.GetBulletSpeed();

        shipBullet.MoveParabola(targetPosition, bulletHight, bulletSpeed);

        //玩家打炮倒计时
        if (shipData.characterType == CharacterTypeEnum.Player)
        {
            StartCoroutine(CoroutineForFireCD(shipData.intervalForFire));
        }
        //大炮粒子
        handler_Effect.PlayEffect(EffectInfo.SHIP_FIRE, tf_FirePosition.position, 1.4f);
        //打炮动画
        shipAnim.SetShipFire(() => {
            shipAnim.SetShipIdle();
        });
    }