/// <summary> /// 比較関数 /// </summary> /// <param name="_objA"></param> /// <param name="_objB"></param> /// <returns></returns> private int SortUnitCompare(SortObjectBase _objA, SortObjectBase _objB) { int _ret = 0; for (int i = 0; i < sortInfoList.Count; i++) { _ret = _objA.CompareUnitTo(sortInfoList[i], _objB); if (_ret != 0) { return(_ret); } } return(_ret); }
public int CompareUnitTo(SortInfo info, SortObjectBase _obj) { int _ret = 0; switch (info.m_Type) { case SORT_PARAM.ID: _ret = _obj.UnitParam.draw_id - UnitParam.draw_id; break; case SORT_PARAM.LEVEL: _ret = _obj.UnitParam.level - UnitParam.level; break; case SORT_PARAM.HP: _ret = _obj.UnitParam.hp - UnitParam.hp; break; case SORT_PARAM.POW: _ret = _obj.UnitParam.pow - UnitParam.pow; break; case SORT_PARAM.PLUS: _ret = _obj.UnitParam.plus - UnitParam.plus; break; case SORT_PARAM.COST: _ret = _obj.UnitParam.cost - UnitParam.cost; break; case SORT_PARAM.RARITY: _ret = _obj.UnitParam.rare - UnitParam.rare; break; case SORT_PARAM.ELEMENT: _ret = _obj.UnitParam.element_int - UnitParam.element_int; break; case SORT_PARAM.KIND: _ret = _obj.UnitParam.kind_int - UnitParam.kind_int; break; case SORT_PARAM.SUB_KIND: _ret = _obj.UnitParam.sub_kind_int - UnitParam.sub_kind_int; break; case SORT_PARAM.LIMMIT_OVER: _ret = _obj.UnitParam.limitover_lv - UnitParam.limitover_lv; break; case SORT_PARAM.CHARM: //double _ret = CompareToDouble(UnitParam.charm, _obj.UnitParam.charm); break; case SORT_PARAM.PARTY: //bool _ret = CompareToBool(UnitParam.party_assign, _obj.UnitParam.party_assign); break; case SORT_PARAM.FAVORITE: //bool _ret = CompareToBool(UnitParam.favorite, _obj.UnitParam.favorite); break; case SORT_PARAM.GET_TIME: //long _ret = CompareToLong(UnitParam.get_time, _obj.UnitParam.get_time); break; case SORT_PARAM.UNIQUE_ID: //long _ret = CompareToLong(UnitParam.unique_id, _obj.UnitParam.unique_id); break; case SORT_PARAM.RANK: _ret = _obj.UnitParam.rank - UnitParam.rank; break; case SORT_PARAM.LOGIN_TIME: _ret = CompareToLong(UnitParam.login_time, _obj.UnitParam.login_time); break; case SORT_PARAM.FRIEND_STATE: _ret = _obj.UnitParam.friend_state - UnitParam.friend_state; break; case SORT_PARAM.RATIO_UP: _ret = _obj.UnitParam.ratio_up - UnitParam.ratio_up; break; case SORT_PARAM.LIMITED: _ret = _obj.UnitParam.limited - UnitParam.limited; break; case SORT_PARAM.GROUP_ID: _ret = _obj.UnitParam.group_id - UnitParam.group_id; break; default: Debug.Assert(true, "CompareUnitTo no tyoe"); break; } if (info.m_Order == SORT_ORDER.ASCENDING) { _ret *= -1; } return(_ret); }