void UpdateRankInfo() { //return; var cs = GameManager.instance.GetCharacters(); CharacterUtil.InsertionSort <BaseCharacter>(cs, CharacterUtil.Compare); // .Sort((BaseCharacter cx, BaseCharacter cy) => cy.TotalLength - cx.TotalLength); for (int i = 0, length = _RankItems.Count; i < length; i++) { var item = _RankItems[i]; if (cs.Count - 1 < i) { if (item.gameObject.activeSelf) { item.gameObject.SetActive(false); } continue; } else { if (!item.gameObject.activeSelf) { item.gameObject.SetActive(true); } } var character = cs[i]; Assert.IsNotNull(character); if (PlayerController.instance != null) { item.SetData(character.Name, (int)character.Scores, character.CharacterUniqueID == PlayerController.instance.CharacterUniqueID); } else { item.SetData(character.Name, (int)character.Scores, false); } } }