private IEnumerator DoLoadWeapon(EquipItemTable.EquipItemData data) { int modelID = data.GetModelID(sexID); string name = ResourceName.GetPlayerWeapon(modelID); byte highTex = 0; if (MonoBehaviourSingleton <GlobalSettingsManager> .IsValid()) { EquipModelHQTable hqTable = MonoBehaviourSingleton <GlobalSettingsManager> .I.equipModelHQTable; highTex = hqTable.GetWeaponFlag(modelID); } LoadObject lo = loadingQueue.LoadAndInstantiate(RESOURCE_CATEGORY.PLAYER_WEAPON, name); LoadObject lo_high_reso_tex = PlayerLoader.LoadHighResoTexs(loadingQueue, name, highTex); yield return((object)loadingQueue.Wait()); Transform weapon = lo.Realizes(_transform, _transform.get_gameObject().get_layer()); weapon.set_localPosition(Vector3.get_zero()); weapon.set_localRotation(Quaternion.get_identity()); Renderer[] renderers = weapon.GetComponentsInChildren <Renderer>(); PlayerLoader.SetEquipColor3(renderers, NGUIMath.IntToColor(data.modelColor0), NGUIMath.IntToColor(data.modelColor1), NGUIMath.IntToColor(data.modelColor2)); Material materialR = null; Material materialL = null; int j = 0; for (int i = renderers.Length; j < i; j++) { Renderer r = renderers[j]; if (r.get_name().EndsWith("_L")) { materialL = r.get_material(); nodeSub = r.get_transform(); } else { materialR = r.get_material(); nodeMain = r.get_transform(); } } yield return((object)this.StartCoroutine(InitRoopEffect(loadingQueue, weapon, SHADER_TYPE.NORMAL))); PlayerLoader.ApplyWeaponHighResoTexs(lo_high_reso_tex, highTex, materialR, materialL); displayInfo = new GlobalSettingsManager.UIModelRenderingParam.DisplayInfo(MonoBehaviourSingleton <GlobalSettingsManager> .I.uiModelRendering.WeaponDisplayInfos[(int)data.type]); if (data.id == 50020201 || data.id == 50020200) { displayInfo.mainPos = new Vector3(0f, 0f, -0.21f); displayInfo.mainRot.x += 180f; displayInfo.subRot.x += 180f; } if (data.id == 60020200 || data.id == 60020201 || data.id == 60020202) { displayInfo.mainPos = new Vector3(0f, 0f, 0f); displayInfo.mainRot = new Vector3(-64.50903f, 93.68915f, -118.1268f); } OnLoadFinished(); }