/// <summary> /// object 데미지 리스트를 생성. object로 포장되어 있어 이걸 분해하여 리스트로 넣어줍니다. /// </summary> /// <param name="target">타겟 리스트</param> /// <param name="damage">데미지 리스트. 한 리스트에 object로 0~2까지 포장되어있음. 보통은 1까지만 쓰이는 모양</param> /// <param name="list"></param> private void ObjectListmake(object[] target, object[] damage, List<listup> list) { for (int i = 1; i < target.Count(); i++)//-1제외 { dynamic listNum = target[i]; dynamic damNum = damage[i]; listup d = new listup { Num = listNum[0], Damage = damNum[0] }; //혹시 모르는 부분을 대비해서 별도 추가. 한 공격자의 타겟이 여러개인 부분을 상정. 일반적으로 타겟은 일정하기때문에 동일타겟이 연속으로 데미지를 입는다. if (listNum.Length > 1 && damNum.Length > 1 && listNum.Length == damNum.Length) { for (int j = 0; j < listNum.Length; j++) { listup e = new listup(); e.Num = listNum[j]; e.Damage = damNum[j]; list.Add(e); } } else list.Add(d); } }
/// <summary> /// decimal 데미지 리스트를 생성. 포격전이나 기타 컷인전투와 달리 Decimal값으로 바로 나온다. /// </summary> /// <param name="ho_target">타격대상 리스트를 입력합니다.</param> /// <param name="ho_damage">decimal[]형태의 데미지를 입력합니다.</param> /// <param name="list">출력할 데미지 리스트를 입력합니다.</param> /// <param name="Friendly">피아를 입력합니다. 아군인경우나 구분이 필요없는경우는 true, 적군인경우 false를 입력</param> private void DecimalListmake(int[] target, decimal[] damage, List<listup> list, bool Friendly) { for (int i = 1; i < target.Count(); i++)//-1제외 { int j = (Friendly == true) ? 0 : 6; listup d = new listup { Num = target[i] + j, Damage = damage[i] }; if (d.Num != 0) list.Add(d); } }