예제 #1
0
    //シンプル
    public void OnClickHero()
    {
        Reset();

        LocalSaveManagerRN.Instance.QualitySetting = qualitySetting;
        LocalSaveManagerRN.Instance.Save();

//        image01.sprite = ResidentResourceUtil.GetCharaIcon(unitId);
        AssetBundler.Create().Set("hero_000" + heroId, "Hero_0" + heroId, (o) =>
        {
//            Sprite[] sprites = o.AssetBundle.LoadAssetWithSubAssets<Sprite>("tex_hero_perform_l_000"+heroId);
//            image01.sprite = sprites[0];
            foreach (Object obj in o.AssetBundle.LoadAllAssets())
            {
                Debug.LogError("OBK:" + obj);
            }

//            image01.sprite = o.AssetBundle.LoadAsset<Sprite>("Hero_0" + heroId);
//            context.Hero = o.AssetBundle.LoadAsset<Sprite>("Hero_0" + heroId);
//            context.Hero_mask = o.AssetBundle.LoadAsset<Texture>("Hero_0" + heroId  +"_mask");

            string assetName = string.Format("tex_hero_perform_l_{0:D4}", (int)heroId);

            context.Hero      = o.AssetBundle.LoadAsset <Sprite>(assetName);
            context.Hero_mask = o.GetTexture(assetName + "_mask", TextureWrapMode.Clamp);
        }).Load();
    }
예제 #2
0
    public void setup(uint boss_id, Camera mainCamera, float angle)
    {
        //
        var assetBundler = AssetBundler.Create();

        assetBundler.SetAsUnitTexture(
            boss_id,
            (asset) =>
        {
            var tex2D = asset.GetUncompressedTexture2D();
            if (render != null && tex2D != null)
            {
                render.sprite = Sprite.Create(tex2D, new Rect(0, 0, tex2D.width, tex2D.height), new Vector2(0.5f, 0.5f));
            }
        })
        .Load();

        //
        GetComponentInChildren <BillboardSprite>().setup(mainCamera);

        //
        transform.localRotation = Quaternion.Euler(0, angle, 0);

        if (angle == 0)
        {
            bLog = true;
        }
    }
예제 #3
0
    void OnLoad()
    {
        children = transform.GetComponentsInChildren <AssetBundler>().ToList();

        for (int i = 0; i < children.Count; i++)
        {
            AssetBundler ab = children[i];
            ab.disableRetryDialog();
            ab.setAction(
                (o) =>
            {
                NextDownlaod();
            },
                (str) =>
            {
                NextDownlaod();
            },
                (str) =>
            {
                fsm.SendFsmEvent("FAIL");
            });
        }

        fsm.SendFsmEvent("DO_WAIT");
    }
예제 #4
0
    //シンプル
    public void OnClickEpisode()
    {
        Reset();

        LocalSaveManagerRN.Instance.QualitySetting = qualitySetting;
        LocalSaveManagerRN.Instance.Save();

//        image01.sprite = ResidentResourceUtil.GetCharaIcon(unitId);
        AssetBundler.Create().Set("Areamap_" + episodeId, "Background", (o) =>
        {
//            Sprite[] sprites = o.AssetBundle.LoadAssetWithSubAssets<Sprite>("tex_episode_perform_l_000"+episodeId);
//            image01.sprite = sprites[0];
            foreach (Object obj in o.AssetBundle.LoadAllAssets())
            {
                Debug.LogError("OBK:" + obj);
            }

            rawImage.texture = o.AssetBundle.LoadAsset <Texture>("Background");

            Debug.LogError("SPRIH:" + o.AssetBundle.LoadAsset <Sprite>("icon01"));

            image01.overrideSprite = o.AssetBundle.LoadAsset <Sprite>("icon01");
            image02.sprite         = o.AssetBundle.LoadAsset <Sprite>("icon02");
            image03.sprite         = o.AssetBundle.LoadAsset <Sprite>("icon03");
            image04.sprite         = o.AssetBundle.LoadAsset <Sprite>("icon04");
            image05.sprite         = o.AssetBundle.LoadAsset <Sprite>("icon05");
            image06.sprite         = o.AssetBundle.LoadAsset <Sprite>("icon06");
        }).Load();
    }
예제 #5
0
    public void SetUpData(MasterDataGeneralWindow master)
    {
        int fix_id = (int)master.fix_id;

        m_fix_id = fix_id;
        string assetName = master.char_img;

        if (m_Image == null)
        {
            return;
        }

        m_Image.color = m_Image.color.WithAlpha(0);

        RectTransform ImageRect = m_Image.GetComponent <RectTransform>();

        ImageRect.anchoredPosition = new Vector2(master.char_offset_x, master.char_offset_y);

        AssetBundler asset = AssetBundler.Create().Set(AssetBundleName,
                                                       (o) =>
        {
            SetSprite(o.GetTexture2D(assetName, TextureWrapMode.Clamp),
                      o.GetTexture(assetName + "_mask", TextureWrapMode.Clamp),
                      fix_id);
        },
                                                       (str) =>
        {
        })
                             .Load();
    }
예제 #6
0
    override public AssetBundler LoadAsset(string name, System.Action <AssetBundle> callback)
    {
        Debug.Assert(m_cache != null, "m_cache not set");

        if (m_assetbundles.ContainsKey(name))
        {
            callback(m_assetbundles[name]);
            return(null);
        }
#if true
        return(AssetBundler.Create().Set(name, (response) =>
        {
            m_assetbundles[name] = response.AssetBundle;
            callback(m_assetbundles[name]);
        }));
#else
#if UNITY_IOS
        string path = Application.streamingAssetsPath + "/UnitIconPack/iOS/" + name;
#else
        string path = Application.streamingAssetsPath + "/UnitIconPack/Android/" + name;
#endif
        AssetBundle assetbundle = AssetBundle.LoadFromFile(path);
        if (assetbundle == null)
        {
            Debug.LogError("AssetBundle None! - " + " , path:" + path);
        }
        else
        {
            m_assetbundles[name] = assetbundle;
            callback(m_assetbundles[name]);
        }

        return(null);
#endif
    }
예제 #7
0
    public void OnClickUnit()
    {
        Reset();

        LocalSaveManagerRN.Instance.QualitySetting = qualitySetting;
        LocalSaveManagerRN.Instance.Save();

        UnitIconImageProvider.Instance.Get(
            unitId,
            sprite =>
        {
            image01.sprite = sprite;
        });

        AssetBundler.Create().SetAsUnitTexture(unitId,
                                               (o) =>
        {
            foreach (Object obj in o.AssetBundle.LoadAllAssets())
            {
                Debug.LogError("OBK:" + obj);
            }
            rawImage.texture = o.GetTexture2D(TextureWrapMode.Clamp);
            image02.sprite   = o.GetAssetAll <Sprite>().FirstOrDefault(s => s.name.Contains("uncompressed"));
        }).Load();
    }
예제 #8
0
    public AssetBundler CreatetIcon()
    {
        Sprite defaultSpite = IconImage;

        IconImage = null;

        string assetName = string.Format("icon{0:D2}", m_EpisodeId);

#if BUILD_TYPE_DEBUG
        Debug.Log("ASSETNAME:" + assetName + " FIX:" + masterDataAreaCategory.fix_id);
#endif

        string assetbundleName = MasterDataUtil.GetMasterDataAreamapBackgroundName(masterDataAreaCategory.background);

        return(AssetBundler.Create().Set(assetbundleName, assetName, (o) =>
        {
            Sprite sprite = o.AssetBundle.LoadAsset <Sprite>(assetName);
            if (sprite != null)
            {
                IconImage = sprite;
            }
            else
            {
                IconImage = defaultSpite;
            }
        },
                                         (error) =>
        {
            IconImage = defaultSpite;
        }));
    }
예제 #9
0
    //複数のAssetBundleを並行して取得する場合
    public void OnClickMultiple()
    {
        Reset();
        AssetBundlerMultiplier multiplier = AssetBundlerMultiplier.Create();


        multiplier.Add(AssetBundler.Create().Set("iconpackpanel",
                                                 (o) =>
        {
            image01.sprite = o.GetSprites()[0];
//                    image01.sprite = o.GetAsset<>()
        })).Load();

        multiplier.Add(AssetBundler.Create().SetAsUnitTexture(unitId,
                                                              (o) => { rawImage.texture = o.GetTexture2D(TextureWrapMode.Clamp); })).Load();
        multiplier.Load(() =>
        {
#if BUILD_TYPE_DEBUG
            Debug.Log("FINISH");
#endif
        },
                        () =>
        {
#if BUILD_TYPE_DEBUG
            Debug.Log("ERROR");
#endif
        });
    }
예제 #10
0
    /// <summary>
    /// タイトルで汎用ウィンドウのAssetBundle読み込みを行う.
    /// </summary>
    /// <param name="multiplier"></param>
    /// <returns></returns>
    public IEnumerator PreLoad(AssetBundlerMultiplier multiplier)
    {
        if (multiplier != null)
        {
            var assetBundlePathList = MasterFinder <MasterDataAssetBundlePath> .Instance.
                                      SelectWhere(" where category = ? ", MasterDataDefineLabel.ASSETBUNDLE_CATEGORY.GENERALWINDOW);

            yield return(null);

            for (int i = 0; i < assetBundlePathList.Count; i++)
            {
                multiplier.Add(
                    AssetBundler.Create().Set(assetBundlePathList[i].name, (result) =>
                {
#if BUILD_TYPE_DEBUG
                    if (result.AssetBundle != null)
                    {
                        Debug.Log("GeneralWindowProvider:asset download success:" + result.AssetBundle.name);
                    }
#endif //BUILD_TYPE_DEBUG
                }
                                              , null
                                              )
                    );

                yield return(null);
            }
        }

        yield return(null);
    }
예제 #11
0
    public void SetCharaID(uint unCharaID, bool _reset = false)
    {
        m_AutoSetCharaID = unCharaID;
        if (_reset)
        {
            ResetTexture();
        }

        m_AssetBundler = AssetBundler.Create().
                         SetAsUnitTexture(
            unCharaID,
            (o) =>
        {
            UpdateWithTexture(GetTexture(o));
        },
            (str) =>
        {
            Texture2D texture = new Texture2D(16, 16, TextureFormat.ARGB32, false);
            Color[] cols      = new Color[256];
            for (int i = 0; i < 256; i++)
            {
                cols[i] = Color.green;
            }
            texture.SetPixels(0, 0, 16, 16, cols);
            texture.Apply();
            UpdateWithTexture(texture);
        }).
                         Load();
    }
예제 #12
0
    public TutorialDialog SetTutorialType(FLAG_TYPE _type)
    {
        this.type = _type;
        SetLoading(true);

        AssetBundler.Create().
        Set(string.Format("tutorial_{0:D4}", (int)type),
            (o) =>
        {
            Sprite[] sprits = o.GetAssetAll <Sprite>();
            if (sprits != null && sprits.Length > 0)
            {
                SetSprits(sprits);
            }
            else
            {
                Error();
            }
            SetLoading(false);
            SetUpButtons();
        },
            (s) =>
        {
            SetLoading(false);
            Error();
        }).
        Load();

        return(this);
    }
예제 #13
0
    /// <summary>
    /// 背景画像のロード
    /// </summary>
    /// <param name="fix_id"></param>
    public void SetMapID(uint fix_id)
    {
        if (fix_id == 0)
        {
            IsLoading = true;
            return;
        }

        m_fix_id = fix_id;
        Type     = ResourceType.MAP;

        m_AssetBundleName = string.Format("background_{0:D4}", fix_id);
        m_AssetName       = string.Format("background_{0:D4}", fix_id);
        m_AssetBundler    = AssetBundler.Create().Set(m_AssetBundleName, m_AssetName, typeof(Sprite),
                                                      (o) =>
        {
            m_Sprite  = o.GetAsset <Sprite>();
            IsLoading = true;
        },
                                                      (str) =>
        {
            IsLoading = true;
            IsFail    = true;
        })
                            .Load();
    }
예제 #14
0
    /// <summary>
    /// MAP背景画像を設定する.
    /// </summary>
    /// <param name="category">リージョンカテゴリ</param>
    /// <param name="fixId">MasterDataRegionのfix_id</param>
    private void SetAreaBackground(MasterDataDefineLabel.REGION_CATEGORY category, uint fixId, Action action)
    {
        if (m_AreaSelect == null)
        {
            return;
        }

        // デフォルトの背景を設定する.
        Sprite defaultSprite = null;

        switch (m_CurrentRegionMaster.category)
        {
        case MasterDataDefineLabel.REGION_CATEGORY.STORY:
            defaultSprite = m_AreaSelect.backgroundSprites[0];
            break;

        case MasterDataDefineLabel.REGION_CATEGORY.MATERIAL:
            defaultSprite = m_AreaSelect.backgroundSprites[1];
            break;

        case MasterDataDefineLabel.REGION_CATEGORY.EVENT:
            defaultSprite = m_AreaSelect.backgroundSprites[2];
            break;
        }

        var assetBundleName = string.Format("AreaBackGround_{0}", fixId);
        // 該当ファイルがAssetBundlePathMasterに存在しない場合は、カテゴリ毎のデフォルト画像を設定する.
        var assetBundlePath = MasterDataUtil.GetMasterDataAssetBundlePath(assetBundleName);

        if (assetBundlePath != null)
        {
            AssetBundler.Create().Set(
                assetBundleName, (o) =>
            {
                m_AreaSelect.BackGroundImage = o.GetAsset <Sprite>();
                if (action != null)
                {
                    action();
                }
            },
                (s) =>
            {
                m_AreaSelect.BackGroundImage = defaultSprite;
                if (action != null)
                {
                    action();
                }
            }
                ).Load();
        }
        else
        {
            m_AreaSelect.BackGroundImage = defaultSprite;
            if (action != null)
            {
                action();
            }
        }
    }
예제 #15
0
    public void SetDetail(PacketStructHero heroData)
    {
        ClearView();
        if (heroData == null || heroData.hero_id == 0)
        {
            return;
        }
        MasterDataHero heroMaster = MasterFinder <MasterDataHero> .Instance.Find((int)heroData.hero_id);

        if (heroMaster == null)
        {
            return;
        }

        SetUpHeroName(heroData.hero_id); // 名前
        MessageText = heroMaster.detail; // 詳細テキスト

        AssetBundler.Create().Set("hero_" + heroData.hero_id.ToString("0000"), "hero_" + heroData.hero_id.ToString("0000"), (o) =>
        {
            Sprite[] sprite = o.AssetBundle.LoadAssetWithSubAssets <Sprite>("hero_" + heroData.hero_id.ToString("0000"));
            HeroImage       = sprite[4];
        }).Load();
        //------------------------------------------------------------------
        // グレードの設定
        //------------------------------------------------------------------
        m_GradeNum = heroData.level;

        MasterDataHeroLevel nextHeroLevelMaster = MasterFinder <MasterDataHeroLevel> .Instance.Find((int)heroData.level + 1);

        if (nextHeroLevelMaster != null)
        {
            m_NextGradeNum = nextHeroLevelMaster.exp_next_total - heroData.exp;
        }
        else
        {
            m_NextGradeNum = 0;
        }

        //------------------------------------------------------------------
        // イラストレーター名
        //------------------------------------------------------------------

        /*
         *      MasterDataIllustrator illustratorMaster = MasterFinder<MasterDataIllustrator>.Instance.Find((int)heroMaster.illustrator_id);
         *      if (illustratorMaster != null)
         *      {
         *          IllustratorText = illustratorMaster.name;
         *      }
         */
        //------------------------------------------------------------------
        // スキルの設定
        //------------------------------------------------------------------
        List <UnitSkillContext> skillList = new List <UnitSkillContext>();
        UnitSkillContext        skill     = new UnitSkillContext();

        skill.setupHeroSkill((uint)heroMaster.default_skill_id, 0, 0, true);
        skillList.Add(skill);
        Skills = skillList;
    }
예제 #16
0
    IEnumerator CreateLoadResource(Action <AssetBundlerMultiplier> finishAction, List <int> categories = null)
    {
        AssetBundlerMultiplier mlutiplier = AssetBundlerMultiplier.Create();

        if (categories != null && categories.Count > 0)
        {
            for (int i = 0; i < categories.Count; i++)
            {
                List <MasterDataAssetBundlePath> assetBundlePathList = MasterFinder <MasterDataAssetBundlePath> .Instance.
                                                                       SelectWhere(" where category = ? ", categories[i]);

#if BUILD_TYPE_DEBUG
                Debug.Log("CALL SceneTitle#LoadTitleDownload Count:" + assetBundlePathList.Count);
#endif
                yield return(null);

                for (int j = 0; j < assetBundlePathList.Count; j++)
                {
                    AssetBundler aber = AssetBundler.Create().Set(assetBundlePathList[j].name.ToLower()).SkipCreateCache();
                    mlutiplier.Add(aber);
                    yield return(null);
                }
                ;
            }

            yield return(null);
        }

        yield return(UnitIconImageProvider.Instance.LoadIconPacks(mlutiplier));

        yield return(null);

        yield return(ReplaceAssetManager.Instance.downloadReplaceAssetbundle(mlutiplier));

        yield return(null);

        yield return(AreaBackgroundProvider.Instance.PreLoadAreaBackground(mlutiplier));

        yield return(null);

        yield return(GeneralWindowProvider.Instance.PreLoad(mlutiplier));

        yield return(null);


        mlutiplier.RegisterProgressAction(
            (float progress) =>
        {
            float progressPercent = progress * 100;
            LoadingManager.Instance.Progress(progressPercent);
            if (MovieManager.Instance != null)
            {
                MovieManager.Instance.setPercent(progressPercent);
            }
        });

        finishAction(mlutiplier);
    }
예제 #17
0
    public AssetBundler Create(string assetbundleName, Action finish = null, Action fail = null)
    {
        return(AssetBundler.Create().Set(assetbundleName, "Background",
                                         (o) =>
        {
            if (image != null)
            {
                image.overrideSprite = o.AssetBundle.LoadAsset <Sprite>("Background");
                image.enabled = true;
                if (SetNativeSize == true)
                {
                    image.SetNativeSize();
                }
            }
            else if (rawImage != null)
            {
                rawImage.texture = o.GetTexture("Background", TextureWrapMode.Clamp);
                rawImage.enabled = true;
                if (SetNativeSize == true)
                {
                    rawImage.SetNativeSize();
                }
            }

            if (finish != null)
            {
                finish();
            }
        },
                                         (error) =>
        {
            if (image != null)
            {
                image.overrideSprite = Resources.Load <Sprite>("Default/BG_color");
                image.enabled = true;
                if (SetNativeSize == true)
                {
                    image.SetNativeSize();
                }
            }
            else if (rawImage != null)
            {
                rawImage.texture = Resources.Load("Default/BG_color") as Texture;
                rawImage.enabled = true;
                if (SetNativeSize == true)
                {
                    rawImage.SetNativeSize();
                }
            }

            if (fail != null)
            {
                fail();
            }
        }
                                         ));
    }
예제 #18
0
    public void setupIcon()
    {
        AreaDataList.Clear();
        var model = new AreaSelectListItemModel(0);

        model.OnAppeared += () =>
        {
            model.ShowTitle();
        };

        if (IsIconView == false)
        {
            model.isActive = true;
        }
        else
        {
            model.isActive = false;
        }

        AreaDataContext newArea = new AreaDataContext(model);

        if (newArea != null)
        {
            newArea.m_AreaIndex = masters[currentIndex].fix_id;
            newArea.IsViewFlag  = false;
            newArea.IsAreaNew   = false;

            newArea.Title = masters[currentIndex].area_cate_name;
            newArea.PosX  = 0;
            newArea.PosY  = 0;

            // アセットバンドルの読み込み
            string assetBundleName = string.Format("areamapicon_{0}", masters[currentIndex].fix_id);
            // インジケーターを表示
            LoadingManager.Instance.RequestLoadingStart(LOADING_TYPE.GUARD);
            AssetBundler.Create().
            Set(assetBundleName,
                (o) =>
            {
                newArea.IconImage      = o.GetAsset <Sprite>();
                newArea.IconImage_mask = o.GetTexture(newArea.IconImage.name + "_mask", TextureWrapMode.Clamp);
                LoadingManager.Instance.RequestLoadingFinish(LOADING_TYPE.GUARD);
                AreaDataList.Add(newArea);
            },
                (s) =>
            {
                newArea.IconImage = ResourceManager.Instance.Load("maeishoku_icon");
                LoadingManager.Instance.RequestLoadingFinish(LOADING_TYPE.GUARD);
            }).Load();
        }
        else
        {
            LoadingManager.Instance.RequestLoadingFinish(LOADING_TYPE.GUARD);
        }

        idInputField.text = masters[currentIndex].fix_id.ToString();
    }
예제 #19
0
    private AssetBundler LoadBackgroundTexture()
    {
        AssetBundler asset = assetAutoSetEpisodeBackgroundTexture.Create(m_Events[m_SelectIndex].eventMaster,
                                                                         () =>
        {
            assetAutoSetEpisodeBackgroundTexture.Color = new Color(1, 1, 1, 1);
        });

        return(asset);
    }
예제 #20
0
    public void OnHeroSelect(int index)
    {
        if (m_decision == true)
        {
            return;
        }

        if (m_select == true)
        {
            return;
        }

        if (m_CurrentIndex == index)
        {
            return;
        }

        if (m_finishDecision == true)
        {
            return;
        }

        m_select = true;

        int    fix_id           = index + 1;
        string hero_name        = String.Format("hero_{0:D4}", fix_id);
        string hero_perfom_name = String.Format("tex_hero_perform_l_{0:D4}", fix_id);
        string hero_mask_name   = String.Format("tex_hero_perform_l_{0:D4}_mask", fix_id);

        AssetBundler.Create().Set(hero_name, hero_perfom_name, (o) =>
        {
            Sprite[] herosprites    = o.AssetBundle.LoadAssetWithSubAssets <Sprite>(hero_perfom_name);
            Texture maskTextue      = o.GetTexture(hero_mask_name, TextureWrapMode.Clamp);
            m_HeroImage[index]      = herosprites[0];
            m_HeroImage_mask[index] = maskTextue;

            m_HeroInAnimation.Play("FreamOut");
            m_SelectHeroInAnim.Play("SelectHeroOut");
            setHeroColor(m_CurrentIndex, false);

            m_CurrentIndex = index;
            setHeroColor(m_CurrentIndex, true);
            setHeroName(-1);

            TutorialHeroSelectFSM.Instance.SendFsmNegativeEvent();
        },
                                  (str) =>
        {
        })
        .Load();

        SoundUtil.PlaySE(SEID.SE_MENU_OK);
    }
예제 #21
0
    //シンプル
    public void OnClickSimple()
    {
        Reset();
        AssetBundler.Create().Set("iconpackpanel",
                                  (o) =>
        {
            image01.sprite = o.GetSprites()[0];
//                    image01.sprite = o.GetAsset<>()
        }).Load();

        AssetBundler.Create().SetAsUnitTexture(unitId,
                                               (o) => { rawImage.texture = o.GetTexture2D("tex_chara_l_001", TextureWrapMode.Clamp); }).Load();
    }
예제 #22
0
    //ステータス変化を検知してAssetを取得したい場合
    //※基本、これはソースが汚くなるので使わない
    //※既存ソースにこっちの方が組み込みやすい場合のみ使用する
    public void OnClickWaitChangeStatus()
    {
        if (aber != null)
        {
            return;
        }
        Reset();

        aber = AssetBundler.Create();
        aber.Set("iconpackpanel");
        aber.DisableAutoDestoryOnSuccess();
        aber.Load();
    }
예제 #23
0
 private void UpdateWithTexture(Texture2D cAssetBundleTexture)
 {
     m_AssetBundler = null;
     if (cAssetBundleTexture != null)
     {
         SetTexture(cAssetBundleTexture);
         m_bReady = true;
     }
     else
     {
         ResetTexture();
         Debug.LogError("AssetBundle Texture  None! - unit_" + m_AutoSetCharaID.ToString());
     }
 }
예제 #24
0
    // ====================================== loading resources

    // preload
    // called by a coroutine function only.
    public IEnumerator LoadIconPacks(AssetBundlerMultiplier mlutiplier)
    {
        List <MasterDataAssetBundlePath> assetBundlePathList = MasterFinder <MasterDataAssetBundlePath> .Instance.
                                                               SelectWhere(" where category = ? ", MasterDataDefineLabel.ASSETBUNDLE_CATEGORY.ICONDIVPACK);

        yield return(null);

        for (int i = 0; i < assetBundlePathList.Count; i++)
        {
            var          name         = assetBundlePathList[i].name.ToLower();
            AssetBundler assetBundler = null;
            switch (m_loaderType)
            {
            case LoaderType.Atlus:
                assetBundler = m_loader.LoadAsset(name, (UIAtlas atlas) =>
                {
                    if (atlas != null)
                    {
                        m_atlasLocators.Add(new UnitIconAtlasLocator(name));
                    }
                });
                break;

            case LoaderType.Sprite:
                assetBundler = m_loader.LoadAsset(name, (Sprite sprite) =>
                {
                });
                break;

            case LoaderType.AssetBundle:
                assetBundler = m_loader.LoadAsset(name, (AssetBundle asset) =>
                {
                    if (asset != null)
                    {
                        m_atlasLocators.Add(new UnitIconAtlasLocator(name));
                    }
                });
                break;
            }

            if (assetBundler != null)
            {
                mlutiplier.Add(assetBundler);
            }

            yield return(null);
        }
        ;
    }
예제 #25
0
    public override bool PageSwitchEventEnableBefore(bool bBack = false)
    {
        bool bEnable = base.PageSwitchEventEnableBefore();

        // アセットバンドルの読み込み
        if (!m_bStartLoadImg)
        {
            m_bStartLoadImg = true;
            uint   currentHeroID = MasterDataUtil.GetCurrentHeroID();
            string assetname     = string.Format("tex_hero_perform_l_{0:D4}", currentHeroID);
            AssetBundler.Create().Set(string.Format("hero_{0:D4}", currentHeroID), assetname, (o) =>
            {
                Texture2D texture = o.GetTexture2D(assetname, TextureWrapMode.Clamp);
                if (texture != null)
                {
                    m_HeroImage      = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), Vector2.zero);
                    m_HeroImage_mask = o.GetTexture(assetname + "_mask", TextureWrapMode.Clamp);
                }
                if (m_HomeMenu != null)
                {
                    m_HomeMenu.HeroImage      = m_HeroImage;
                    m_HomeMenu.HeroImage_mask = m_HeroImage_mask;
                }
                m_bEndLoadImg = true;
            }, (s) =>
            {
                m_bEndLoadImg = true;
            }).Load();
        }

#if false//トピック情報を表示するボタンは削除されたので情報取得APIもコメントアウトする。
        if (!m_bStartApi)
        {
            ServerDataUtilSend.SendPacketAPI_GetTopicInfo()
            .setSuccessAction(_data =>
            {
                m_RecvData = _data.GetResult <RecvGetTopicInfo>().result.Clone <RecvGetTopicInfoValue>();
                m_bEndApi  = true;
            })
            .SendStart();
            m_bStartApi = true;
        }
        bEnable = !m_bEndApi && !m_bEndLoadImg;
#else
        bEnable = !m_bEndLoadImg;
#endif
        return(bEnable);
    }
예제 #26
0
    void Update()
    {
        if (aber == null)
        {
            return;
        }

        if (!aber.IsSuccess)
        {
            return;
        }

        image01.sprite = aber.Response.GetSprites()[0];
        aber.Destroy();
        aber = null;
    }
예제 #27
0
 private void LoadFromAssetBundle(string dataPath, System.Action <AudioClip> callback)
 {
     AssetBundler.Create().SetAsAudioClip("pack_se", dataPath,
                                          (clip) =>
     {
         if (clip == null)
         {
             Debug.LogError("NOT_FOUND_SEID from assetbundle (will try to load from resources) path:" + dataPath);
             LoadSync(dataPath, callback);
         }
         else
         {
             callback(clip);
         }
     }).Load();
 }
예제 #28
0
    private void initBossData(uint select_event_id)
    {
        BossIconList.Clear();
        BossSpriteList.Clear();

        m_Events.Reverse();

        for (int i = 0; i < m_Events.Count; i++)
        {
            uint event_id = m_Events[i].eventMaster.event_id;
            uint boss_id  = m_Events[i].questMaster.boss_chara_id;
            {
                int             index       = i;
                BossIconContext iconContext = new BossIconContext();
                iconContext.boss_id = boss_id;

                iconContext.model            = new ButtonModel();
                iconContext.model.OnClicked += () =>
                {
                    OnSelectBoss(index);
                };

                iconContext.IsSelect = false;
                if (event_id == select_event_id)
                {
                    iconContext.IsSelect = true;
                    m_SelectIndex        = index;
                }

                BossIconList.Add(iconContext);
            }

            {
                BossSpriteContext spriteContext = new BossSpriteContext();
                AssetBundler      asset         = spriteContext.setup(boss_id);
                if (asset != null)
                {
                    m_AssetBundleMulti.Add(asset);
                }
                BossSpriteList.Add(spriteContext);
            }
        }

        m_MinPosX = -BOSS_POS_PLAY;
        m_MaxPosX = (BOSS_POS_OFFSET * (float)(BossSpriteList.Count - 1)) + BOSS_POS_PLAY;
    }
예제 #29
0
    public void SetUpParamChara(int index)
    {
        //--------------------------------
        // アクセス番号決定
        //--------------------------------
        if (index >= m_CharaMasterArray.Length)
        {
            index = 0;
        }
        if (index < 0)
        {
            index = m_CharaMasterArray.Length - 1;
        }

        MasterDataParamChara charaMaster = m_CharaMasterArray[index];

        m_CurrentCharaMaster = charaMaster;
        m_Index = index;

        m_DebugPartyOffset.NameText            = charaMaster.name;
        m_DebugPartyOffset.m_IdInputField.text = charaMaster.fix_id.ToString();
        m_DebugPartyOffset.m_NoInputField.text = charaMaster.draw_id.ToString();

        m_DebugPartyOffset.SetupUV(m_OffsetXArray[m_Index, (int)CurrentUVTarget]
                                   , m_OffsetYArray[m_Index, (int)CurrentUVTarget]
                                   , m_TilingArray[m_Index, (int)CurrentUVTarget]
                                   );

        m_DebugPartyOffset.SetupAdjustUV(charaMaster.img_2_offsetX * 0.001f, charaMaster.img_2_offsetY * 0.001f, charaMaster.img_2_tiling * 0.001f);
        m_DebugPartyOffset.CheckAdjustUV();
        AssetBundler.Create().SetAsUnitTexture(charaMaster.fix_id,
                                               (o) =>
        {
            Texture2D tex = o.GetTexture2D(TextureWrapMode.Clamp);
            m_DebugPartyOffset.ThirdUnitMaterial.SetTexture("_MainTex", tex);
            foreach (GlobalDefine.PartyCharaIndex charaIndex in Enum.GetValues(typeof(GlobalDefine.PartyCharaIndex)))
            {
                SetUpUVParam(charaIndex);
            }
        },
                                               (s) =>
        {
            m_DebugPartyOffset.ThirdUnitMaterial.SetTexture("_MainTex", null);
        }).Load();
    }
예제 #30
0
    private void NextDownlaod()
    {
        int run_cunt = 0;

        for (int i = 0; i < children.Count; i++)
        {
            if (MAX_PARALLEL_DOWNLOAD <= run_cunt)
            {
                return;
            }

            AssetBundler ab = children[i];

            if (ab.IsSuccess)
            {
                continue;
            }

            if (ab.IsError)
            {
                continue;
            }

            if (ab.IsWait)
            {
                run_cunt++;
                continue;
            }

            if (ab.IsFail)
            {
                ab.Retry();
                run_cunt++;
                continue;
            }

            if (ab.IsReady)
            {
                ab.Load();
                run_cunt++;
                continue;
            }
        }
    }