public static List <UnitAttackingData> CreateSkillToUnitData(string name, int damager, Team toTeam, TeamSummaryData toTeamsum, BattleData battledata)
    {
        List <UnitAttackingData> teamDatas = new List <UnitAttackingData>();

        foreach (var tounit in toTeam.units)
        {
            if (tounit == null)
            {
                continue;
            }
            UnitAttackingData data = new UnitAttackingData();
            data.toData.UnitName = tounit.Setting.Name;

            UnitSummaryData tountisum = tounit.GetSummary();

            data.data.UnitName = name;
            data.data.DoDamger = (int)(damager * ((float)tountisum.Count / (float)toTeamsum.Count));
            data.data.DoDamger = Mathf.Clamp(data.data.DoDamger, 0, int.MaxValue);

            data.toData.Unit = tounit;
            data.battleData  = battledata;

            teamDatas.Add(data);
        }

        return(teamDatas);
    }
    private List <UnitAttackingData> CreateUnitToUnitDatas(Team team, Team toTeam, TeamSummaryData teamsum, TeamSummaryData toTeamsum, BattleData battleData)
    {
        List <UnitAttackingData> teamDatas = new List <UnitAttackingData>();

        foreach (var unit in team.units)
        {
            foreach (var tounit in toTeam.units)
            {
                if (unit == null || tounit == null)
                {
                    continue;
                }
                UnitAttackingData data = new UnitAttackingData();
                data.data.UnitName   = unit.Setting.Name;
                data.toData.UnitName = tounit.Setting.Name;

                UnitSummaryData untisum   = unit.GetSummary();
                UnitSummaryData tountisum = tounit.GetSummary();

                data.data.DoDamger   = (int)(untisum.Ad * ((float)tountisum.Count / (float)toTeamsum.Count));
                data.toData.DoDamger = (int)(tountisum.Ad * ((float)untisum.Count / (float)teamsum.Count));

                data.data.DoDamger   = Mathf.Clamp(data.data.DoDamger, 0, int.MaxValue);
                data.toData.DoDamger = Mathf.Clamp(data.toData.DoDamger, 0, int.MaxValue);

                data.data.Unit   = unit;
                data.toData.Unit = tounit;

                teamDatas.Add(data);
            }
        }
        return(teamDatas);
    }
 public static void DoUnitBuff(UnitAttackingData item, EffectTimeType time)
 {
     if (item.data.Unit != null)
     {
         item.data.Unit.DoBuff(item.data, item.toData, item.battleData, time);
     }
     if (item.toData.Unit != null)
     {
         item.toData.Unit.DoBuff(item.toData, item.data, item.battleData, time);
     }
 }
    public static void DoDameger(UnitAttackingData item)
    {
        DoingDameger(item.toData.DoDamger, item.data.Unit, item.data.InjuryPr, ref item.data.Injury, ref item.data.Death);

        DoingDameger(item.data.DoDamger, item.toData.Unit, item.toData.InjuryPr, ref item.toData.Injury, ref item.toData.Death);
    }