public static BeHitState GetBeHitStateFromStr(string str) { BeHitState result = BeHitState.kDefault; if (str.Equals("kDefault")) { result = BeHitState.kDefault; } else if (str.Equals("kStand")) { result = BeHitState.kStand; } else if (str.Equals("kStiffness")) { result = BeHitState.kStiffness; } else if (str.Equals("kKnockDown")) { result = BeHitState.kKnockDown; } else if (str.Equals("kLauncher")) { result = BeHitState.kLauncher; } return(result); }
private List <GameObject> FiltStateObjects(List <GameObject> objects) { List <GameObject> result = new List <GameObject>(); if (objects == null) { return(result); } foreach (GameObject obj in objects) { if (m_IsFiltSupperArmer) { if (GrabTargetTrigger.IsGameObjectSupperArmer(obj)) { continue; } } BeHitState state = SkillDamageManager.GetBeHitState(obj); if (!IsFiltState(state)) { result.Add(obj); } } return(result); }
private bool IsFiltState(BeHitState state) { foreach (BeHitState bs in m_FiltStates) { if (bs == state) { return(true); } } return(false); }
private void LoadFiltStateConfig(ScriptableData.CallData stCall) { if (stCall.GetParamNum() >= 1) { BeHitState filtstate = TriggerUtil.GetBeHitStateFromStr(stCall.GetParamId(0)); if (!IsFiltState(filtstate)) { m_FiltStates.Add(filtstate); } } }
public override bool IsSatisfied(GameObject obj, SkillInstance instance) { BeHitState obj_state = SkillDamageManager.GetBeHitState(obj); if (m_IsEquals && m_TargetState == obj_state) { return(true); } if (!m_IsEquals && m_TargetState != obj_state) { return(true); } return(false); }
public void SendImpactToObject(GameObject source, GameObject target, Dictionary <BeHitState, StateImpact> stateimpacts, int skillid, long hit_count_id) { if (stateimpacts == null) { return; } if (IsUserStandUp(target)) { return; } BeHitState state = GetBeHitState(target); StateImpact stateimpact = null; if (!stateimpacts.TryGetValue(state, out stateimpact)) { stateimpacts.TryGetValue(BeHitState.kDefault, out stateimpact); } if (stateimpact == null) { return; } int final_skill_id = -1; GameObject damageOwner = TriggerUtil.GetFinalOwner(source, skillid, out final_skill_id); //Debug.Log("------------send impact to object " + target.name); for (int i = 0; i < stateimpact.m_Impacts.Count; i++) { LogicSystem.NotifyGfxHitTarget(damageOwner, stateimpact.m_Impacts[i].ImpactId, target, 1, final_skill_id, stateimpact.m_Impacts[i].RemainTime, source.transform.position, TriggerUtil.GetObjFaceDir(source), hit_count_id); } /* * foreach (ImpactData im in stateimpact.m_Impacts) { * LogicSystem.NotifyGfxHitTarget(damageOwner, im.ImpactId, target, 1, final_skill_id, * im.RemainTime, source.transform.position, * TriggerUtil.GetObjFaceDir(source), hit_count_id); * }*/ }
public override bool IsSatisfied(GameObject obj, SkillInstance instance) { if (!m_IsIncludeBehitState) { BeHitState state = SkillDamageManager.GetBeHitState(obj); if (state != BeHitState.kStand) { return(false); } } float height = TriggerUtil.GetHeightWithGround(obj); if (m_IsJudgeFly && height >= m_Height) { return(true); } if (!m_IsJudgeFly && height <= m_Height) { return(true); } return(false); }
public StateImpact FindImpactByState(SkillScript skillscript, int impactgroupid, BeHitState state) { ImpactGroup ig = skillscript.GetImpactGroupById(impactgroupid); if (ig == null) { return(null); } foreach (StateImpact stateinfo in ig.m_StateImpact) { if (state == stateinfo.m_State) { return(stateinfo); } } if (state == BeHitState.kDefault) { return(null); } else { return(FindImpactByState(skillscript, impactgroupid, BeHitState.kDefault)); } }