예제 #1
0
        private void CastSpell(MonsterSpellLogicPackage logicPackage)
        {
            logicPackage.m_Caster.SetSkillLockTarget(logicPackage.m_SpellAILogic.GetSkillTag());
            if (logicPackage.m_SpellAILogic.GetSkillInfo() == null)
            {
                return;
            }

            //        Debug.Log("Guid:" + logicPackage.m_Caster.GetGuid().GUID_value +
            //"  skillID:" + logicPackage.m_SpellAILogic.GetSkillInfo().GetSpellID() +
            //"  Type:" + logicPackage.m_SpellAILogic.GetSkillInfo().GetSpellType());
            logicPackage.m_Caster.SetSpellInfoNow(logicPackage.m_SpellAILogic.GetSkillInfo());
            if (logicPackage.m_Caster.OnPre_CheckUseSkillCondtion())
            {
                logicPackage.m_Caster.SetObjectActionState(ObjectCreature.ObjectActionState.skillAttack);
                string name = logicPackage.m_SpellAILogic.GetSkillInfo().GetSpellRow().getSkillNameRes();
                SkillShowNamePackage package = new SkillShowNamePackage(logicPackage.m_Caster.GetGuid(), name);
                GameEventDispatcher.Inst.dispatchEvent(GameEventID.F_ShowSkillName, package);

                if (logicPackage.m_SpellAILogic.GetSkillInfo().GetSpellRow().getSkillhittype() == 1)// 治疗技能不加成怒气 [10/17/2015 Zmy]
                {
                    return;
                }
                // 怪物攻击怒气加成 [10/17/2015 Zmy]
                AngertableTemplate _data = (AngertableTemplate)DataTemplate.GetInstance().m_AngerTable.getTableData(logicPackage.m_Caster.GetMonsterRow().getFuryId());

                FightControler.Inst.OnUpdatePowerValue(logicPackage.m_Caster.GetGroupType(), _data.getAttackFury());
            }
        }
예제 #2
0
        /// <summary>
        /// 每击杀一波敌人后,我方奖励怒气 [3/3/2015 Zmy]
        /// </summary>
        private void EachRewardPower()
        {
            // 奖励怒气 = 主角等级影响 + 英雄等级影响 + 装备符文等其他能增加英雄属性系统影响 + config中配置的全局变量 + 地图奖励 [3/3/2015 Zmy]
            //int nSelf_value = ObjectSelf.GetInstance().GetWavaPowerValue();

            int nHero_value = 0;

            for (int i = 0; i < SceneObjectManager.GetInstance().GetObjectHeroCount(); i++)
            {
                ObjectHero pHero = SceneObjectManager.GetInstance().GetHeroObject(i);
                if (pHero == null || pHero.IsAlive() == false)
                {
                    continue;
                }

//                 int nCurLevel = pHero.GetHeroData().Level;
//                 int nInitFuryTemplateID = pHero.GetHeroRow().getWaveFury() - 1;
//
//                 HerofuryTemplate pRow = (HerofuryTemplate)DataTemplate.GetInstance().m_HeroFuryTable.getTableData(nCurLevel);
//                 if (nInitFuryTemplateID >= 0 && nInitFuryTemplateID < GlobalMembers.MAX_HEROFURY_PARAM_COUNT)
//                 {
//                     nHero_value += pRow.getTemplate()[nInitFuryTemplateID];
//                 }
                AngertableTemplate _data = (AngertableTemplate)DataTemplate.GetInstance().m_AngerTable.getTableData(pHero.GetHeroRow().getFuryId());
                nHero_value += _data.getWaveFury();
            }

            //int nGlobalWavaFury = DataTemplate.GetInstance().m_GameConfig.getWave_fury();

            //int nSum = nSelf_value + nHero_value + nGlobalWavaFury;
            m_HeroPower.OnUpdatePowerValue(nHero_value);
        }
예제 #3
0
        //实例化怪物 [1/20/2015 Zmy]
        private void InstantiateMonsterObj()
        {
            int MonsterNum = FightEditorContrler.GetInstantiate().GetMonsterGroupEditorData(m_RoundInScene).Count;

            FightEditorContrler.GetInstantiate().SetMonsterTroopType(ObjectSelf.GetInstance().LimitFightMgr.m_MonsterTroopType);
            FightEditorContrler.GetInstantiate().SetBeginFightCount(ObjectSelf.GetInstance().LimitFightMgr.m_RoundNum);

            for (int i = 0; i < MonsterNum; ++i)
            {
                int                 nTableID  = SceneObjectManager.GetInstance().GetMosnterBundleRes(m_RoundInTotal, i);
                MonsterTemplate     pRow      = (MonsterTemplate)DataTemplate.GetInstance().m_MonsterTable.getTableData(nTableID);
                ArtresourceTemplate art       = (ArtresourceTemplate)DataTemplate.GetInstance().m_ArtresourceTable.getTableData(pRow.getArtresources());
                string              _res      = art.getArtresources();
                GameObject          _AssetRes = AssetLoader.Inst.GetAssetRes(_res);
                GameObject          obj       = Instantiate(_AssetRes,
                                                            FightEditorContrler.GetInstantiate().GetMonsterGroupEditorData(m_RoundInScene)[i].MyPos,
                                                            FightEditorContrler.GetInstantiate().GetMonsterGroupEditorData(m_RoundInScene)[i].MyAngle) as GameObject;
                GameUtils.SetLayerRecursively(obj, FightEditorContrler.GetInstantiate().GetShadowCullMaskLayer());
                float _zoom = art.getArtresources_zoom() * pRow.getMonsterEnlarge();
                obj.transform.localScale = new UnityEngine.Vector3(_zoom, _zoom, _zoom);

                FightEditorContrler.GetInstantiate().SetMonsterBirthState(obj, FightEditorContrler.GetInstantiate().GetMonsterGroupEditorData(m_RoundInScene)[i], false);
                SceneObjectManager.GetInstance().SceneObjectAddMonster(obj, m_RoundInTotal, i);


                //Transform _body = null;
                //_body = obj.transform.FindChild("Body");
                //if (_body != null)
                //{
                //    _body.gameObject.SetActive(false);
                //    StartCoroutine(OnShowMonsterObj(_body));
                //}

                for (int m = 0, n = obj.transform.childCount; m < n; m++)
                {
                    obj.transform.GetChild(m).gameObject.SetActive(false);
                }
                StartCoroutine(OnShowMonsterObj(obj.transform));

                //怪物入场怒气加成 [10/17/2015 Zmy]
                AngertableTemplate _data = (AngertableTemplate)DataTemplate.GetInstance().m_AngerTable.getTableData(pRow.getFuryId());
                if (_data == null)
                {
                    continue;
                }

                m_EnemyPower.OnUpdatePowerValue(_data.getStartFury());
            }

//             //每波怪物初始化时候,初始敌方怒气值 [3/3/2015 Zmy]
//             if (m_RoundInScene - 1 >= 0 && m_RoundInScene - 1 < m_StageRow.m_waveFury.Length)
//             {
//                 int nValue = m_StageRow.m_waveFury[m_RoundInScene - 1];
//                 m_EnemyPower.OnUpdatePowerValue(nValue);
//             }

            //初始化释放怪物的被动技能 [7/31/2015 Zmy]
            SceneObjectManager.GetInstance().OnMonsterFreePassiveSpell();

            // add by zcd
            SetFightState(FightState.prepareEnemy_over);
        }