public override void Init()
    {
        //初始化属性
        m_props = new GameGunProps();
        m_props.m_bulletLauncherData =
            BulletLauncherDataBase.CreateBulletLauncherData(EBulletLauncherType.SingleBullet);

        m_bulletLauncher = BulletLauncherBase.CreateBulletLauncherBase(m_props.m_bulletLauncherData, gameObject, m_tempBullet);

        m_gunNode = ObjectCommon.GetChild(gameObject, "gun_sprite");
        m_recordSpritePosition = m_gunNode.transform.localPosition;

        m_bulletNode = ObjectCommon.GetChild(gameObject, "bullet_node");
    }
Exemple #2
0
 public SingleBulletLauncher(BulletLauncherDataBase data, GameObject gameObject, BulletBase tempBullet)
     : base(EBulletLauncherType.SingleBullet)
 {
     m_data           = data as SingleBulletLauncherData;
     m_bullets        = new List <SingleBullet>();
     m_cacheBullets   = new List <SingleBullet>();
     m_templateBullet = tempBullet as SingleBullet;
     m_templateBullet.gameObject.SetActive(false);
     m_bulletNode = ObjectCommon.GetChildComponent <Transform>(gameObject, "bullet_node");
     if (m_data == null)
     {
         Debug.LogError("SingleBulletLauncherData parse error!!");
     }
 }
    public static BulletLauncherDataBase CreateBulletLauncherData(EBulletLauncherType type)
    {
        BulletLauncherDataBase data = null;

        switch (type)
        {
        case EBulletLauncherType.SingleBullet:
            data = new SingleBulletLauncherData();
            break;

        case EBulletLauncherType.Laser:
            break;
        }

        return(data);
    }
Exemple #4
0
    public static BulletLauncherBase CreateBulletLauncherBase(BulletLauncherDataBase data, GameObject gameObject, BulletBase tempBullet)
    {
        BulletLauncherBase launcher = null;

        switch (data.m_launcherType)
        {
        case EBulletLauncherType.SingleBullet:
            launcher = new SingleBulletLauncher(data, gameObject, tempBullet);
            break;

        case EBulletLauncherType.Laser:
            break;
        }

        if (launcher == null)
        {
            Debug.LogError("Launcher is null :   " + data.m_launcherType);
        }
        return(launcher);
    }
    public override void BulletAwake(Transform transform, Vector3 direction, BulletLauncherDataBase data)
    {
        m_launcherData = data as SingleBulletLauncherData;
        if (m_launcherData == null)
        {
            Debug.LogError("SingleBulletLauncher is null !!!");
            return;
        }
        m_direction             = direction;
        this.transform.position = transform.position;
        this.transform.rotation = transform.rotation;
        m_deadTime = Time.time + m_launcherData.m_lifeTime;
        gameObject.SetActive(true);
        m_animator.Play(m_launcherData.m_fireAnimName);
        m_isAwake = true;

        if (m_waitForSeconds == null)
        {
            m_waitForSeconds = new WaitForSeconds(m_launcherData.m_fadeBulletTime);
        }
    }
 public abstract void BulletAwake(Transform transform, Vector3 direction, BulletLauncherDataBase data);