public void Init(EditorUnit unit, string _skillId) { this.skillid = _skillId; this.unit = unit; this.data = new SkillData(_skillId, 1, 0); this.skillKey = new SkillDataKey(this.skillid, 1, 0); }
private void DoInsert(string skillID, int level, int skin) { SkillDataKey key = new SkillDataKey(skillID, level, skin); if (!this.mDataPool.ContainsKey(key)) { this.mDataPool.Add(key, new SkillData(skillID, level, skin)); } }
protected override void doStartHighEffect_Perform() { if (this.performIds != null) { for (int i = 0; i < this.performIds.Length; i++) { if (this.targetUnits != null && this.targetUnits.Count > 0) { SkillDataKey skill_key = new SkillDataKey(this.skillId, 1, 0); ActionManager.PlayPerformMustntLive(skill_key, this.performIds[i], this.targetUnits[0], this.targetUnits, null, true, this, base.unit); } } } }
public SkillData GetData(SkillDataKey skillKey) { SkillData result; if (this.mDataPool.TryGetValue(skillKey, out result)) { return(result); } this.InsertData(skillKey.SkillID, skillKey.Skin); if (this.mDataPool.TryGetValue(skillKey, out result)) { return(result); } return(null); }
public static void AddBuff(Units selfUnit, SkillDataKey skill_key, SkillPhrase trigger, List <Units> targets = null) { if (!StringUtils.CheckValid(skill_key.SkillID)) { return; } SkillData data = GameManager.Instance.SkillData.GetData(skill_key); if (data == null) { return; } string[] buffs = data.GetBuffs(trigger); if (buffs != null) { for (int i = 0; i < buffs.Length; i++) { string text = buffs[i]; switch (trigger) { case SkillPhrase.Start: case SkillPhrase.Init: if (!SkillUtility.IsImmunityBuff(selfUnit, text)) { ActionManager.AddBuff(text, selfUnit, selfUnit, true, string.Empty); } break; case SkillPhrase.Hit: for (int j = 0; j < targets.Count; j++) { if (targets[j] != null && targets[j].isLive && !SkillUtility.IsImmunityBuff(targets[j], text)) { ActionManager.AddBuff(text, targets[j], selfUnit, true, string.Empty); } } break; } } } }
public static void AddHighEff(Units selfUnit, SkillDataKey skill_key, SkillPhrase skillPhrase, List <Units> targets = null, Vector3?skillPosition = null) { if (!StringUtils.CheckValid(skill_key.SkillID)) { return; } SkillData data = GameManager.Instance.SkillData.GetData(skill_key); if (data == null) { return; } string[] highEffects = data.GetHighEffects(skillPhrase); if (highEffects != null) { for (int i = 0; i < highEffects.Length; i++) { string text = highEffects[i]; switch (skillPhrase) { case SkillPhrase.Start: case SkillPhrase.Init: if (!SkillUtility.IsImmunityHighEff(selfUnit, text)) { ActionManager.AddHighEffect(text, skill_key.SkillID, selfUnit, selfUnit, skillPosition, true); } break; case SkillPhrase.Hit: for (int j = 0; j < targets.Count; j++) { if (targets[j] != null && targets[j].isLive && !SkillUtility.IsImmunityHighEff(targets[j], text)) { ActionManager.AddHighEffect(text, skill_key.SkillID, targets[j], selfUnit, skillPosition, true); } } break; } } } }
private void OnResetBtn(GameObject go) { if (LevelManager.Instance.CheckSceneIsTest()) { if (LevelManager.Instance.IsServerZyBattleType) { return; } GameObject gameObject = GameObject.FindGameObjectWithTag("Player"); if (gameObject != null) { Units component = gameObject.GetComponent <Units>(); UtilCounter counter = UtilManager.Instance.GetCounter(UtilType.Exp); ExpValue expValue = counter.GetValue(PlayerControlMgr.Instance.GetPlayer().unique_id) as ExpValue; expValue.AddExp(-expValue.CurExp); component.skillManager.SkillPointsLeft = 0; for (int i = 0; i < 4; i++) { List <SkillDataKey> skillsByIndex = component.getSkillsByIndex(i); if (skillsByIndex != null) { for (int j = 0; j < skillsByIndex.Count; j++) { skillsByIndex[j] = new SkillDataKey(skillsByIndex[j].SkillID, 0, skillsByIndex[j].Skin); Skill skillById = component.getSkillById(skillsByIndex[j].SkillID); if (skillById != null) { skillById.SetLevel(0); } } } } SkillCounter skillCounter = UtilManager.Instance.GetCounter(UtilType.Skill) as SkillCounter; skillCounter.OnHeroLevelup(component, 0); component.level = 1; component.UpLevel(); CtrlManager.CloseWindow(WindowID.SkillView); CtrlManager.OpenWindow(WindowID.SkillView, null); } } }
protected override void AddHighEff(SkillDataKey skill_key, SkillPhrase skillPhrase, List <Units> targets = null, Vector3?skillPosition = null) { if (!StringUtils.CheckValid(skill_key.SkillID)) { return; } SkillData data = GameManager.Instance.SkillData.GetData(skill_key); string[] highEffects = data.GetHighEffects(skillPhrase); if (highEffects != null) { int curConjureIndex = this.GetCurConjureIndex(); if (highEffects.Length > curConjureIndex) { string text = highEffects[curConjureIndex]; switch (skillPhrase) { case SkillPhrase.Start: case SkillPhrase.Init: if (!SkillUtility.IsImmunityHighEff(this.unit, text)) { ActionManager.AddHighEffect(text, data.skillId, this.unit, this.unit, skillPosition, true); } break; case SkillPhrase.Hit: for (int i = 0; i < targets.Count; i++) { if (targets[i] != null && targets[i].isLive && !SkillUtility.IsImmunityHighEff(targets[i], text)) { ActionManager.AddHighEffect(text, data.skillId, targets[i], this.unit, skillPosition, true); } } break; } } } }
protected override void OnSkillPhase3End(SkillDataKey skill_key) { base.OnSkillPhase3End(skill_key); this.Switch(); }
private void DoEventDispatch(SkillDataKey skill_key, Units targetUnit, Units casterUnit) { if (targetUnit == null || casterUnit == null) { return; } SkillData data = GameManager.Instance.SkillData.GetData(skill_key); if (data == null) { return; } Skill skillOrAttackById = casterUnit.getSkillOrAttackById(data.skillId); if (skillOrAttackById == null) { return; } if (skillOrAttackById.IsAttack) { targetUnit.SetAttackedYouTarget(casterUnit); Singleton <TriggerManager> .Instance.SendUnitStateEvent(UnitEvent.UnitAttackHitOther, casterUnit, null, null); } if (skillOrAttackById.IsSkill) { if (targetUnit.unique_id != base.unit.unique_id) { casterUnit.SetSkillHitedTarget(targetUnit); } if (casterUnit.isEnemy) { targetUnit.SetSkillHitedYouTarget(casterUnit); } Singleton <TriggerManager> .Instance.SendUnitStateEvent(UnitEvent.UnitSkillHitOther, casterUnit, null, null); if (skillOrAttackById.skillIndex != 3) { Singleton <TriggerManager> .Instance.SendUnitStateEvent(UnitEvent.UnitConjureQWE_HitOther, casterUnit, null, null); } } Singleton <TriggerManager> .Instance.SendUnitStateEvent(UnitEvent.UnitHit, targetUnit, null, null); if (skillOrAttackById.IsAttack) { Singleton <TriggerManager> .Instance.SendUnitStateEvent(UnitEvent.UnitBeAttackHit, targetUnit, null, null); } if (skillOrAttackById.IsSkill) { Singleton <TriggerManager> .Instance.SendUnitStateEvent(UnitEvent.UnitBeSkillHit, targetUnit, null, null); } if (StringUtils.CheckValid(base.unit.attackForTargetBuff)) { ActionManager.AddBuff(base.unit.attackForTargetBuff, targetUnit, casterUnit, true, string.Empty); casterUnit.attackForTargetBuff = string.Empty; } if (!casterUnit.isLocalUnit && targetUnit != null && targetUnit.isLocalUnit) { if (casterUnit.m_nVisibleState >= 2) { casterUnit.m_fVisibleTimer = 3f; } if (GlobalSettings.FogMode == 1) { if (casterUnit != null && FogMgr.Instance.IsInFog(casterUnit) && targetUnit.isLocalUnit) { FogMgr.Instance.AddFogItem(casterUnit, 1f, 3f); } } else if (GlobalSettings.FogMode >= 2 && casterUnit != null && !FOWSystem.Instance.IsVisible(casterUnit.transform.position) && targetUnit.isLocalUnit) { FOWSystem.CreateStaticTimeRevealer(casterUnit.transform.position, 1f, 3f); } } if (targetUnit == PlayerControlMgr.Instance.GetPlayer()) { Singleton <TriggerManager> .Instance.SendGameStateEvent(GameEvent.MainPlayerHitted); } }
protected void AddBuff(SkillDataKey skill_key, SkillPhrase skillPhrase, List <Units> targets = null) { SkillUtility.AddBuff(base.unit, this.skillKey, skillPhrase, targets); }
protected void AddHighEff(SkillDataKey skill_key, SkillPhrase skillPhrase, List <Units> targets = null, Vector3?skillPosition = null) { SkillUtility.AddHighEff(base.unit, this.skillKey, skillPhrase, targets, skillPosition); }
public SkillData GetData(string skillID, int level = 0, int skin = 0) { SkillDataKey skillKey = new SkillDataKey(skillID, level, skin); return(this.GetData(skillKey)); }
public override void StartCastSkill(SkillDataKey skill_key) { this.hitList.Clear(); base.StartCastSkill(skill_key); }
public override void StartCastSkill(SkillDataKey skill_key) { this._DoStartCastSkill(skill_key); GlobalObject.Instance.StartCoroutine(this._StartCastSkillEnumerator(skill_key)); }
private IEnumerator _StartCastSkillEnumerator(SkillDataKey skill_key) { Skill_ShiRenMo_01.< _StartCastSkillEnumerator > c__Iterator98 <_StartCastSkillEnumerator> c__Iterator = new Skill_ShiRenMo_01.< _StartCastSkillEnumerator > c__Iterator98();