技术方面的一些思考

1 : 如何多重排序?例如我想要优先品质排序,然后id排序
itemlist.Sort (delegate(ItemSaveInfo x, ItemSaveInfo y) {
if(x.qualtiy!=y.qualtiy){
return y.qualtiy.CompareTo (x.qualtiy);
}else{
return x.ID.CompareTo (y.ID);
}
});

2 : 如何使用string.format来控制显示或者不显示? 例如角色有hp,攻击,防御等等,如果是攻击=0那么不显示这条属性
string curattr = string.Format ("{0}:Lv.{1}{2}{3}{4}{5}",curitem.name, curInfo.level,
attr.HP>0?"\n血量:"+attr.HP:"",
attr.fight>0?"\n攻击:"+attr.fight:"",
attr.defence>0?"\n防御:"+attr.defence:"",
attr.intell>0?"\n智力:"+attr.intell:"");

3:如何设置通用的一个选中框的设定。需求一般是,默认打开某个列表框的时候显示第一个,点击后显示其他元素
原则:如果是新打开的窗口,则使用默认显示,否则以点击的位置为准
public struct SelectorData{
public WindowID curShowWnd; //当前窗口
public int curSelectIdx;
public int curSelectIdx2; // 备用,一般一个界面不会出现超过两个的需要点击显示的内容
public Transform parent;
}

public interface IScrollSelector { //默认显示,需要使用的窗口需要实现
void DefaultSelector ();
}

你可能感兴趣的:(技术方面的一些思考)