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"));
 }