public void RemoveChar(CharData charData) { charList.Remove(charData); LinePack willRemovePack = null; foreach (LinePack lp in linePackList) { if (lp.character == charData) { willRemovePack = lp; } } if (willRemovePack != null) { linePackList.Remove(willRemovePack); //Debug.Log("移除" + charData.charShowName); } else if (currentPack.character == charData) { currentPack = null; } UpdateCharLineView(); }
public CharData Next() { if (currentPack != null) { linePackList.Add(currentPack); } LinePack leastPack = null; float leastLine = 999; foreach (LinePack lp in linePackList) { if (lp.timeLine < leastLine) { leastLine = lp.timeLine; leastPack = lp; } } if (leastPack != null) { linePackList.Remove(leastPack); currentPack = leastPack; foreach (LinePack lp in linePackList) { lp.timeLine -= leastPack.timeLine; } leastPack.ResetLine(); UpdateCharLineView(true); return(leastPack.character); } Debug.LogError("CharLineControl must have something wrong!!"); return(null); }