private IEnumerator DoLoad(int npc_model_id, int layer, bool need_shadow, bool enable_light_probes, SHADER_TYPE shader_type, Action callback) { loadingQueue = new LoadingQueue(this); string model_name = ResourceName.GetNPCModel(npc_model_id); LoadObject lo_model = loadingQueue.LoadAndInstantiate(RESOURCE_CATEGORY.NPC_MODEL, model_name); string anim_name = ResourceName.GetNPCAnim(npc_model_id); LoadObject lo_anim = loadingQueue.Load(RESOURCE_CATEGORY.NPC_ANIM, anim_name, new string[1] { anim_name + "Ctrl" }, false); if (loadingQueue.IsLoading()) { yield return((object)loadingQueue.Wait()); } model = lo_model.Realizes(this.get_transform(), layer); if (model != null) { head = Utility.Find(model, "Head"); facial = model.GetComponentInChildren <NPCFacial>(); if (facial != null) { facial.animNode = Utility.Find(model, "Face"); } animator = model.GetComponentInChildren <Animator>(); if (lo_anim != null && animator != null) { animator.set_runtimeAnimatorController(lo_anim.loadedObjects[0].obj as RuntimeAnimatorController); } } PlayerLoader.SetLightProbes(model, enable_light_probes); renderers = model.GetComponentsInChildren <Renderer>(); int j = 0; for (int i = renderers.Length; j < i; j++) { if (renderers[j] is SkinnedMeshRenderer) { (renderers[j] as SkinnedMeshRenderer).set_localBounds(BOUNDS); } } switch (shader_type) { case SHADER_TYPE.LIGHTWEIGHT: ShaderGlobal.ChangeWantLightweightShader(renderers); break; case SHADER_TYPE.UI: ShaderGlobal.ChangeWantUIShader(renderers); break; } if (need_shadow) { shadow = PlayerLoader.CreateShadow(this.get_transform(), true, -1, shader_type == SHADER_TYPE.LIGHTWEIGHT); } coroutine = null; callback?.Invoke(); }
public void LoadPlayer(PlayerLoadInfo load_info) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0122: Unknown result type (might be due to invalid IL or missing references) if (playerShadow == null) { playerShadow = PlayerLoader.CreateShadow(MonoBehaviourSingleton <StageManager> .I.stageObject, false, -1, false); playerShadow.get_transform().set_position(parameter.playerPos + new Vector3(0f, 0.005f, 0f)); } ShaderGlobal.lightProbe = false; if (!(playerLoader != null) || !playerLoader.loadInfo.Equals(load_info)) { if (renderTexture != null) { Object.DestroyImmediate(renderTexture); } renderTexture = UIRenderTexture.Get(uiTexture, -1f, true, -1); renderTexture.Disable(); renderTexture.nearClipPlane = parameter.renderTextureNearClip; int num = -1; if (MonoBehaviourSingleton <OutGameSettingsManager> .IsValid()) { num = ((!MonoBehaviourSingleton <OutGameSettingsManager> .I.statusScene.isChangeHairShader) ? (-1) : MonoBehaviourSingleton <UserInfoManager> .I.userStatus.hairColorId); } playerLoader = renderTexture.modelTransform.get_gameObject().AddComponent <PlayerLoader>(); PlayerLoader obj = playerLoader; int use_hair_overlay = num; obj.StartLoad(load_info, renderTexture.renderLayer, PLAYER_ANIM_TYPE.GetStatus(MonoBehaviourSingleton <UserInfoManager> .I.userStatus.sex), false, false, false, false, false, true, true, true, SHADER_TYPE.NORMAL, delegate { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00ba: Unknown result type (might be due to invalid IL or missing references) //IL_00bf: Unknown result type (might be due to invalid IL or missing references) playerLoader.get_transform().set_position(parameter.playerPos); playerLoader.get_transform().set_eulerAngles(new Vector3(0f, (viewMode != 0) ? parameter.avatarPlayerRot : parameter.playerRot, 0f)); if (MonoBehaviourSingleton <UserInfoManager> .IsValid()) { UserStatus userStatus = MonoBehaviourSingleton <UserInfoManager> .I.userStatus; float num2 = (userStatus.sex != 0) ? parameter.playerScaleFemale : parameter.playerScaleMale; playerLoader.get_transform().set_localScale(playerLoader.get_transform().get_localScale().Mul(new Vector3(num2, num2, num2))); } renderTexture.Enable(0.25f); }, true, use_hair_overlay); } }