/** 删除造型更换 */ public void removeFacade(int facadeID) { if (_changeFacadeDic.addValue(facadeID, -1) == 0) { if (facadeID == _changeFacadeID) { int[] cArgs = { -1, -1 }; _changeFacadeDic.forEach((k, v) => { if (v > 0) { int priority; if ((priority = FacadeConfig.get(k).proirity) > cArgs[0]) { cArgs[0] = priority; cArgs[1] = k; } } }); setFacade(cArgs[1]); } } }
/** 添加造型更换 */ public void addFacade(int facadeID) { if (_changeFacadeDic.addValue(facadeID, 1) == 1 && facadeID != _changeFacadeID) { if (_changeFacadeID == -1 || FacadeConfig.get(facadeID).proirity > FacadeConfig.get(_changeFacadeID).proirity) { setFacade(facadeID); } } }
private void countAvatar() { IntIntMap dataParts = _dataParts; if (_changeFacadeID != -1) { FacadeConfig config = FacadeConfig.get(_changeFacadeID); _data.modelID = config.modelID; dataParts.forEach((k, v) => { setPart(k, -1); }); foreach (DIntData v in config.parts) { setPart(v.key, v.value); } } else { _data.modelID = _defaultModelID; dataParts.forEach((k, v) => { setPart(k, -1); }); int[] normalParts; int value; for (int i = (normalParts = _normalParts).Length - 1; i >= 0; --i) { if ((value = normalParts[i]) > 0) { setPart(i, value); } } } }