Ejemplo n.º 1
0
    JPBossWeaponData GetNextWeaponData(int indexVal)
    {
        JPBossWeaponData dt = null;
        int indexNext       = (indexVal + 1) % m_WeaponDtArray.Length;
        int count           = 0;

        do
        {
            if (count >= m_WeaponDtArray.Length)
            {
                //找不到可以用来攻击的武器.
                break;
            }

            count++;
            if (m_WeaponDtArray[indexNext] != null && m_WeaponDtArray[indexNext].IsExploreWeapon == false)
            {
                //SSDebug.LogWarning("GetNextWeaponData -> indexNext ==================== " + indexNext);
                dt            = m_WeaponDtArray[indexNext];
                m_IndexWeapon = indexNext;
                break;
            }
            indexNext = (indexNext + 1) % m_WeaponDtArray.Length;
        } while (true);
        return(dt);
    }
Ejemplo n.º 2
0
    /// <summary>
    /// 启用下一套攻击武器.
    /// </summary>
    void ChangeNextWeapon()
    {
        int indexVal = m_IndexWeapon % m_WeaponDtArray.Length;

        //SSDebug.LogWarning("ChangeNextWeapon -> indexVal ====================== " + indexVal);
        if (m_WeaponDtArray[indexVal] != null)
        {
            //重置冷却阶段控制开关.
            IsOpenLengQueStage = false;
            m_TimeLastWeapon   = Time.time;
            //关闭当前阶段武器.
            m_WeaponDtArray[indexVal].SetIsOpenFire(false);
            //开启下一阶段武器.
            JPBossWeaponData weaponDt = GetNextWeaponData(indexVal);
            if (weaponDt != null)
            {
                weaponDt.SetIsOpenFire(true);
            }
        }
    }