Ejemplo n.º 1
0
    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();
    }