public ModelLoaderBase LoadModel(GameObject go, bool need_shadow, bool enable_light_probe, Action <Animator> on_complete, bool useSpecialModel)
        {
            if (IsUsePlayerModel())
            {
                PlayerLoader   loader           = go.AddComponent <PlayerLoader>();
                PlayerLoadInfo player_load_info = CreatePlayerLoadInfo();
                loader.StartLoad(player_load_info, go.get_layer(), 99, false, false, need_shadow, enable_light_probe, false, false, FieldManager.IsValidInField(), true, (!enable_light_probe) ? SHADER_TYPE.UI : ShaderGlobal.GetCharacterShaderType(), delegate
                {
                    if (on_complete != null)
                    {
                        on_complete(loader.animator);
                    }
                }, true, -1);
                return(loader);
            }
            NPCLoader loader2 = go.AddComponent <NPCLoader>();

            HomeThemeTable.HomeThemeData homeThemeData = Singleton <HomeThemeTable> .I.GetHomeThemeData(TimeManager.GetNow());

            int num = Singleton <HomeThemeTable> .I.GetNpcModelID(homeThemeData, id);

            int num2         = (num <= 0) ? specialModelID : num;
            int npc_model_id = (!useSpecialModel || num2 <= 0) ? npcModelID : num2;

            loader2.Load(npc_model_id, go.get_layer(), need_shadow, enable_light_probe, (!enable_light_probe) ? SHADER_TYPE.UI : ShaderGlobal.GetCharacterShaderType(), delegate
            {
                if (on_complete != null)
                {
                    on_complete(loader2.animator);
                }
            });
            return(loader2);
        }
Example #2
0
    protected override ModelLoaderBase LoadModel()
    {
        //IL_004c: Unknown result type (might be due to invalid IL or missing references)
        //IL_0055: Expected O, but got Unknown
        bool useSpecialModel = false;

        HomeThemeTable.HomeThemeData homeThemeData = Singleton <HomeThemeTable> .I.GetHomeThemeData(Singleton <HomeThemeTable> .I.CurrentHomeTheme);

        if (homeThemeData != null && (npcData.specialModelID > 0 || homeThemeData.name != "NORMAL"))
        {
            useSpecialModel = true;
        }
        return(npcData.LoadModel(this.get_gameObject(), true, true, null, useSpecialModel));
    }
    public void InitNPC(UITexture ui_tex, int npc_id, Vector3 pos, Vector3 rot, float fov, Action <NPCLoader> onload_callback)
    {
        //IL_00e1: Unknown result type (might be due to invalid IL or missing references)
        //IL_00e2: Unknown result type (might be due to invalid IL or missing references)
        //IL_00e8: Unknown result type (might be due to invalid IL or missing references)
        //IL_00ea: Unknown result type (might be due to invalid IL or missing references)
        if (!(npcLoader != null) || !npcLoader.isLoading)
        {
            NPCTable.NPCData nPCData = Singleton <NPCTable> .I.GetNPCData(npc_id);

            if (nPCData != null && nPCData != npcData)
            {
                Init(ui_tex, (fov == -1f) ? 10f : fov, LOADER_TYPE.NPC);
                if (uiRenderTexture != null && uiRenderTexture.nearClipPlane == -1f && ((fov >= 40f && pos.z > 13f) || (fov < 40f && pos.z > 5f)))
                {
                    uiRenderTexture.nearClipPlane = pos.z - 5f;
                }
                npcData   = nPCData;
                modelPos  = pos;
                modelRot  = rot;
                cameraFOV = fov;
                onNPCLoadFinishedCallBack = onload_callback;
                int num = (nPCData.specialModelID <= 0) ? nPCData.npcModelID : nPCData.specialModelID;
                HomeThemeTable.HomeThemeData homeThemeData = Singleton <HomeThemeTable> .I.GetHomeThemeData(Singleton <HomeThemeTable> .I.CurrentHomeTheme);

                int num2 = -1;
                if (homeThemeData != null)
                {
                    num2 = Singleton <HomeThemeTable> .I.GetNpcModelID(homeThemeData, nPCData.id);
                }
                num = ((num2 <= 0) ? num : num2);
                npcLoader.Load(num, modelLayer, false, false, SHADER_TYPE.UI, OnNPCLoadFinished);
                LoadStart();
            }
        }
    }