public HighEffVo(string higheff_id, string skillId, Units casterUnit, Vector3?skillPosition = null, bool isPassiveAdd = false, int target_type = 1) { this.skillPosition = skillPosition; this.casterUnit = casterUnit; this.target_type = target_type; this.higheff_id = higheff_id; this.skillId = skillId; this.data = Singleton <HighEffectDataManager> .Instance.GetVo(higheff_id); }
public static Units CreateMapItem(MapItemInfo info, UnitControlType unitControlType = UnitControlType.None) { if (info == null) { return(null); } SkillUnitData vo = Singleton <SkillUnitDataMgr> .Instance.GetVo(info.uniTypeId); if (vo == null) { return(null); } Dictionary <DataType, object> dictionary = new Dictionary <DataType, object>(); dictionary.Add(DataType.NameId, info.uniTypeId); dictionary.Add(DataType.TeamType, (TeamType)info.group); if (info.unitId != 0) { dictionary.Add(DataType.UniqueId, info.unitId); } Units units; if (vo.IsBloodBall) { units = MapManager.Instance.SpawnBuffItem(dictionary, null, MoveController.SVectgor3ToVector3(info.burnPos), Quaternion.identity, unitControlType); } else { Units unit = MapManager.Instance.GetUnit(info.callUnitId); units = MapManager.Instance.SpawnSkillUnit(dictionary, null, MoveController.SVectgor3ToVector3(info.burnPos), Quaternion.identity, unitControlType, unit, info.callSkillId); HighEffectData vo2 = Singleton <HighEffectDataManager> .Instance.GetVo(info.hieffId); if (vo2 != null) { List <Units> list = new List <Units>(); if (info.targetUnitIds != null) { for (int i = 0; i < info.targetUnitIds.Count; i++) { Units unit2 = MapManager.Instance.GetUnit(info.targetUnitIds[i]); list.Add(unit2); } } BornUnitAction.SetPosition(units, list, unit, vo2, MoveController.SVectgor3ToVector3(info.burnPos)); } } if (units) { units.UpdateVisible(); } return(units); }
public static bool IsImmunityHighEff(Units target, string highEffId) { if (target == null) { return(false); } HighEffectData vo = Singleton <HighEffectDataManager> .Instance.GetVo(highEffId); if (vo == null) { return(false); } if (target.WuDi.IsInState && vo.DataType.GainType == EffectGainType.negative) { target.jumpFont(JumpFontType.WuDi, string.Empty, null, true); return(true); } if (target.ImmunityManager.IsImmunity(vo.DataType)) { target.jumpFont(JumpFontType.MoFaMianYi, string.Empty, null, true); return(true); } return(false); }
public static bool IsHavePerfrom(HighEffectData data) { return(!(data.config.perform_id == string.Empty) && !(data.config.perform_id == "[]") && !(data.config.perform_id == "Null")); }