public static void ChangeHairColor(uint playerID, uint hairCutIndex, uint hairColorIndex, CharacterEntity characterEntity) { if (characterEntity == null) { return; } PlayerData playerData = PlayerData.GetPlayerData(playerID); AvatarData avatarData = AvatarData.GetAvatarData(playerData.avatarID); string hairColorPath = avatarData.GetHairColorPathByIndex(hairColorIndex); Texture hairTexture = ResMgr.instance.Load <Texture>(hairColorPath); if (!hairTexture) { return; } Texture hairInfoTexture = ResMgr.instance.Load <Texture>(hairColorPath + "_info"); string hairName = HEAD_NODE_NAMES[hairCutIndex]; Transform t = TransformUtil.Find(hairName, characterEntity.transform, true); if (t) { Renderer renderer = t.GetComponentInChildren <Renderer>(); if (renderer) { //#if UNITY_EDITOR renderer.material.mainTexture = hairTexture; if (hairInfoTexture) { renderer.material.SetTexture("_InfoTex", hairInfoTexture); } //#else // renderer.material.mainTexture = hairTexture; // renderer.material.SetTexture("_InfoTex", hairInfoTexture); //#endif } } }