private void doRefreshAvatar() { int[] lastDispatches = _lastDispatches; int[] nowParts = _nowParts; int value; IntIntMap map = null; for (int i = nowParts.Length - 1; i >= 0; --i) { if ((value = nowParts[i]) != lastDispatches[i]) { lastDispatches[i] = value; if (map == null) { map = new IntIntMap(); } map.put(i, value); } } int modelID; //改变了ModelID if (_lastDispatchModelID != (modelID = _data.modelID)) { _lastDispatchModelID = modelID; _parent.onAvatarChange(modelID); } else { if (map == null) { return; } _parent.onAvatarPartChange(map); } }