コード例 #1
0
    public void Initialize(FieldMapTable.FieldGimmickPointTableData pointData)
    {
        base.Initialize();
        param           = MonoBehaviourSingleton <InGameSettingsManager> .I.waveMatchParam;
        base.objectType = OBJECT_TYPE.WAVE_TARGET;
        id            = (int)pointData.pointID;
        m_gimmickType = pointData.gimmickType;
        if (MonoBehaviourSingleton <InGameProgress> .IsValid() && MonoBehaviourSingleton <InGameProgress> .I.fieldGimmickModelTable != null)
        {
            LoadObject loadObject = MonoBehaviourSingleton <InGameProgress> .I.fieldGimmickModelTable.Get((uint)m_gimmickType);

            if (loadObject != null)
            {
                m_modelTrans = ResourceUtility.Realizes(loadObject.loadedObject, base._transform, -1);
            }
        }
        _maxHp        = (_nowHp = (int)pointData.value1);
        base.coopMode = (MonoBehaviourSingleton <CoopManager> .I.coopMyClient.isStageHost ? COOP_MODE_TYPE.ORIGINAL : COOP_MODE_TYPE.MIRROR);
        ParseParam(pointData.value2);
        if (MonoBehaviourSingleton <UIStatusGizmoManager> .IsValid())
        {
            MonoBehaviourSingleton <UIStatusGizmoManager> .I.CreateWaveTarget(this);
        }
        if (MonoBehaviourSingleton <MiniMap> .IsValid())
        {
            MonoBehaviourSingleton <MiniMap> .I.Attach(this);
        }
    }
コード例 #2
0
    public void AddUseGaugeByIndex(int index, float add_gauge, bool set_only = false, bool isForceSet = false, bool isNotBuff = false)
    {
        if ((!set_only || (index >= weaponOffset && index < weaponOffset + 3)) && skillParams[index].isValid && !IsArenaForbidSlotType(skillParams[index].tableData.type))
        {
            if (!isForceSet && !skillParams[index].tableData.lockBuffTypes.IsNullOrEmpty())
            {
                int[] lockBuffTypes = skillParams[index].tableData.lockBuffTypes;
                for (int i = 0; i < lockBuffTypes.Length; i++)
                {
                    if (player.IsValidBuff((BuffParam.BUFFTYPE)lockBuffTypes[i]))
                    {
                        return;
                    }
                }
            }
            if (!player.IsValidShield() || !player.buffParam.IsValidShieldBuff(skillParams[index].skillIndex) || isForceSet)
            {
                if (player.IsValidShield())
                {
                    int shieldFromSkillIndex = player.buffParam.GetShieldFromSkillIndex();
                    if (shieldFromSkillIndex < 0 || (IsSkillApplyShield(skillParams[index].tableData) && IsExistShieldInLockBuffTypes(skillParams[shieldFromSkillIndex].tableData.lockBuffTypes) && !isForceSet))
                    {
                        return;
                    }
                }
                float useGaugeCounter = skillParams[index].useGaugeCounter;
                float num             = add_gauge;
                if (isNotBuff)
                {
                    num *= player.buffParam.GetSkillAbsorbUp((skillParams[index].tableData.type != SKILL_SLOT_TYPE.ATTACK) ? ELEMENT_TYPE.MAX : skillParams[index].tableData.skillAtkType);
                    if (QuestManager.IsValidInGameWaveMatch() && MonoBehaviourSingleton <InGameSettingsManager> .IsValid())
                    {
                        InGameSettingsManager.WaveMatchParam waveMatchParam = MonoBehaviourSingleton <InGameSettingsManager> .I.waveMatchParam;
                        switch (waveMatchParam.skillGaugeType)
                        {
                        case InGameSettingsManager.WaveMatchParam.eGaugeType.Zero:
                            return;

                        case InGameSettingsManager.WaveMatchParam.eGaugeType.Rate:
                            num *= waveMatchParam.skillGaugeValue;
                            break;

                        case InGameSettingsManager.WaveMatchParam.eGaugeType.Constant:
                            num = waveMatchParam.skillGaugeValue;
                            break;
                        }
                    }
                }
                if (num == 3.40282347E+38f)
                {
                    useGaugeCounter = (float)(int)skillParams[index].useGauge;
                }
                else if (num == -3.40282347E+38f)
                {
                    useGaugeCounter = 0f;
                }
                else
                {
                    useGaugeCounter += num;
                    if (useGaugeCounter < 0f)
                    {
                        useGaugeCounter = 0f;
                    }
                    if (useGaugeCounter > (float)(int)skillParams[index].useGauge)
                    {
                        useGaugeCounter = (float)(int)skillParams[index].useGauge;
                    }
                }
                skillParams[index].useGaugeCounter = useGaugeCounter;
            }
        }
    }