public int compare(object o1, object o2) { //排序 先显示激活的(骑乘,非骑乘(品质 品质一样用战斗力)) if (o1 == null) { return(1); } if (o2 == null) { return(-1); } if (!(o1 is Exchange) || !(o2 is Exchange)) { return(0); } Exchange obj1 = (Exchange)o1; Exchange obj2 = (Exchange)o2; ExchangeSample temp1 = obj1.getExchangeSample(); ExchangeSample temp2 = obj2.getExchangeSample(); MountsSample ms1 = MountsSampleManager.Instance.getMountsSampleBySid(temp1.exchangeSid); MountsSample ms2 = MountsSampleManager.Instance.getMountsSampleBySid(temp2.exchangeSid); if (ms1.sortIndex < ms2.sortIndex) { return(1); } MountsManagerment manager = MountsManagerment.Instance; Mounts isHave1 = manager.getMountsBySid(temp1.exchangeSid); Mounts isHave2 = manager.getMountsBySid(temp2.exchangeSid); if (isHave1 != null && isHave2 != null) { int quality1 = isHave1.getQualityId(); int quality2 = isHave2.getQualityId(); if (isHave1.isInUse()) { return(-1); } else if (isHave2.isInUse()) { return(1); } else { if (quality1 == quality2) { int combat1 = isHave1.getMaxLevel(); int combat2 = isHave2.getMaxLevel(); if (combat1 > combat2) { return(-1); } if (combat1 < combat2) { return(1); } return(0); } else if (quality1 > quality2) { return(-1); } else { return(1); } } } else if (isHave1 != null && isHave2 == null) { return(-1); } else if (isHave1 == null && isHave2 != null) { return(1); } else if (isHave1 == null && isHave2 == null) { ExchangeManagerment instanc = ExchangeManagerment.Instance; if (((instanc.isCheckPremises(temp1, 0) && instanc.isCheckConditions(temp1, 0)) || instanc.isCheckPremises(temp1, 1)) && (!(instanc.isCheckPremises(temp2, 0) && instanc.isCheckConditions(temp2, 0)) || !instanc.isCheckPremises(temp2, 1))) { return(-1); } if (((instanc.isCheckPremises(temp2, 0) && instanc.isCheckConditions(temp2, 0)) || instanc.isCheckPremises(temp2, 1)) && (!(instanc.isCheckPremises(temp1, 0) && instanc.isCheckConditions(temp1, 0)) || !instanc.isCheckPremises(temp1, 1))) { return(1); } } return(0); }