public void DoActions(ITriggerDoActionParam param = null) { if (this.func_actions != null) { this.func_actions(param); } }
private void OnSkill(ITriggerDoActionParam param) { if (!this.CanHandleControl()) { return; } this.signalCom.Init(); this.InvokeEveryCom("OnSkill", new object[] { param }); }
public bool CheckConditions(ITriggerDoActionParam param = null) { bool flag = true; if (this.func_conditions != null) { for (int i = 0; i < this.func_conditions.Count; i++) { if (this.func_conditions[i] != null) { flag &= this.func_conditions[i](param); } } } return(flag); }
private void OnStopOrStart(ITriggerDoActionParam param) { TriggerParam_touchController triggerParam_touchController = param as TriggerParam_touchController; if (triggerParam_touchController == null) { return; } if (triggerParam_touchController.Start) { this.OnStart(); } else { this.OnStop(); } }
private void OnMoveEnd(ITriggerDoActionParam param) { if (!this.CanHandleControl()) { return; } TriggerParamTouch triggerParamTouch; if (!this.HandleTouchParam(param, out triggerParamTouch)) { return; } this.signalCom.Init(); this.InvokeEveryCom("OnMoveEnd", new object[] { triggerParamTouch }); }
public void Trigger2(ITriggerDoActionParam param) { if (param == null) { return; } ETriggerType2 typeID = param.TypeID; int eventID = param.EventID; if (this.tMap.ContainsKey(typeID) && this.tMap[typeID].ContainsKey(eventID)) { Dictionary <string, TriggerEvent2> dictionary = this.tMap[typeID][eventID]; foreach (KeyValuePair <string, TriggerEvent2> current in dictionary) { if (current.Value.CheckConditions(param)) { current.Value.DoActions(param); } } } }
public virtual void OnSkill(ITriggerDoActionParam param) { }
private bool HandleTouchParam(ITriggerDoActionParam param, out TriggerParamTouch info) { info = (param as TriggerParamTouch); return(info != null); }
private bool IsPlayer(ITriggerDoActionParam param = null) { TriggerParamNavigation triggerParamNavigation = param as TriggerParamNavigation; return(triggerParamNavigation != null && triggerParamNavigation.IsPlayer); }
private void OnNavigateEnd(ITriggerDoActionParam param = null) { this.signalCom.Init(); this.InvokeEveryCom("OnNavigateEnd", null); }
public override void OnSkill(ITriggerDoActionParam param) { TriggerParamSkillControl triggerParamSkillControl = param as TriggerParamSkillControl; if (!this.self.CanManualControl()) { return; } Skill skillOrAttackById = this.self.getSkillOrAttackById(triggerParamSkillControl.SkillID); Units selectedTarget = PlayerControlMgr.Instance.GetSelectedTarget(); Units units = null; TargetTag targetTag = skillOrAttackById.data.targetTag; if (!skillOrAttackById.NeedCustomTargetInCrazy()) { if (selectedTarget == null || skillOrAttackById.NeedAutoLaunchToHero()) { if (selectedTarget == null && skillOrAttackById.skillIndex == 4 && units == null && targetTag == TargetTag.HeroAndMonster) { units = this.self; } else { units = FindTargetHelper.FindAutoSkillTarget(this.self, this.self.trans.position, TargetTag.Hero, (this.self.atk_type != 1) ? (base.GetSkillRange(skillOrAttackById) + 3f) : 6.5f, skillOrAttackById.data.targetCamp, null); } } if (units == null) { units = selectedTarget; } if (!skillOrAttackById.data.needTarget && skillOrAttackById.data.isMoveSkill) { units = null; } else if (((units == null || units.isHero) && targetTag == TargetTag.CreepsAndMinions) || targetTag == TargetTag.Monster || targetTag == TargetTag.Minions || targetTag == TargetTag.Creeps) { units = FindTargetHelper.FindAutoSkillTarget(this.self, this.self.trans.position, targetTag, (this.self.atk_type != 1) ? (base.GetSkillRange(skillOrAttackById) + 3f) : 6.5f, SkillTargetCamp.None, null); } else if (units == null && targetTag == TargetTag.HeroAndMonster) { units = FindTargetHelper.FindAutoSkillTarget(this.self, this.self.trans.position, targetTag, (this.self.atk_type != 1) ? (base.GetSkillRange(skillOrAttackById) + 3f) : 6.5f, skillOrAttackById.data.targetCamp, skillOrAttackById); } } else { units = skillOrAttackById.CustomTargetInCrazy(); } if (skillOrAttackById.needTarget) { units = base.GetSkillTarget(skillOrAttackById, units, true); if (units != null && !units.CanBeSelected) { units = null; } units = skillOrAttackById.ReselectTarget(units, true); if (units != null) { this.DisableAIAutoAttackMove(); this.targetCom.ClearMoveFlag(); if (units != null) { this.self.mCmdCacheController.EnqueueSkillCmd(triggerParamSkillControl.SkillID, units.mTransform.position, units, true, true); } } else { Singleton <SkillView> .Instance.ShowSkillWarn("需要指定一个有效目标!"); Singleton <TriggerManager> .Instance.SendUnitSkillStateEvent(UnitEvent.UnitSkillCmdCrazyPointer, this.self, skillOrAttackById); } } else { if (units != null && !units.CanBeSelected) { units = null; } if (units == this.self) { units = null; } Vector3 vector = this.self.mTransform.forward; if (units != null) { vector = units.mTransform.position; if (Vector3.Distance(vector, this.self.mTransform.position) > skillOrAttackById.distance + 3f) { Vector3 a = vector - this.self.mTransform.position; a.Normalize(); vector = this.self.mTransform.position + a * skillOrAttackById.distance; } } else { vector.Normalize(); if (skillOrAttackById.distance == 0f) { vector = this.self.mTransform.position + vector; } else { vector = this.self.mTransform.position + vector * skillOrAttackById.distance; } } if (skillOrAttackById.NeedResetTargetPos()) { vector = skillOrAttackById.GetExtraTargetPos(units, vector, true); } this.DisableAIAutoAttackMove(); this.targetCom.ClearMoveFlag(); this.self.mCmdCacheController.EnqueueSkillCmd(triggerParamSkillControl.SkillID, vector, units, true, true); } }
public override void OnSkill(ITriggerDoActionParam param) { TriggerParamSkillControl triggerParamSkillControl = param as TriggerParamSkillControl; Skill skillOrAttackById = this.self.getSkillOrAttackById(triggerParamSkillControl.SkillID); Units selectedTarget = PlayerControlMgr.Instance.GetSelectedTarget(); Units units = null; TargetTag targetTag = skillOrAttackById.data.targetTag; if (selectedTarget == null || skillOrAttackById.NeedAutoLaunchToHero()) { if (selectedTarget == null && skillOrAttackById.skillIndex == 4 && units == null && targetTag == TargetTag.HeroAndMonster) { units = this.self; } else { units = FindTargetHelper.FindAutoSkillTarget(this.self, this.self.trans.position, TargetTag.Hero, (this.self.atk_type != 1) ? (base.GetSkillRange(skillOrAttackById) + 3f) : 6.5f, skillOrAttackById.data.targetCamp, null); } } if (units == null) { units = selectedTarget; } if (!skillOrAttackById.data.needTarget && skillOrAttackById.data.isMoveSkill) { units = null; } else if (((units == null || units.isHero) && targetTag == TargetTag.CreepsAndMinions) || targetTag == TargetTag.Monster || targetTag == TargetTag.Minions || targetTag == TargetTag.Creeps) { units = FindTargetHelper.FindAutoSkillTarget(this.self, this.self.trans.position, targetTag, (this.self.atk_type != 1) ? (base.GetSkillRange(skillOrAttackById) + 3f) : 6.5f, skillOrAttackById.data.targetCamp, null); } else if (units == null && targetTag == TargetTag.HeroAndMonster) { units = FindTargetHelper.FindAutoSkillTarget(this.self, this.self.trans.position, targetTag, (this.self.atk_type != 1) ? (base.GetSkillRange(skillOrAttackById) + 3f) : 6.5f, skillOrAttackById.data.targetCamp, skillOrAttackById); } this.targetCom.ClearMoveFlag(); if (!this.self.CanManualControl()) { return; } if (this.self.IsSkillCanTriggerBornPowerObj(triggerParamSkillControl.SkillID)) { this.ClearReadySkill(); this.LaunchSkill(skillOrAttackById, units, true); return; } if (!this.DoseSkillNeedDoubleClick(skillOrAttackById)) { this.ClearReadySkill(); this.LaunchSkill(skillOrAttackById, units, true); return; } if (skillOrAttackById == this.readySkill) { if (this.ReadySkillOld()) { this.readyTm = Time.realtimeSinceStartup; this.ClearReadySkill(); } else { this.ClearReadySkill(); this.LaunchSkill(skillOrAttackById, units, true); } return; } if (this.readySkill == null && this.lastReadySkill == skillOrAttackById && Time.realtimeSinceStartup - this.readyTm < 0.5f) { this.ClearReadySkill(); this.LaunchSkill(skillOrAttackById, units, true); return; } this.SetReadySkill(skillOrAttackById, units); }