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()); } }
/// <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); }
//实例化怪物 [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); }