Example #1
0
    //下载UI  会将引用的纹理集载入
    public bool LoadUI(string _prefab, LoadUICallback callback)
    {
        string prefabName = _prefab + ".prefab";

        if (!mConfig.WinDatas.ContainsKey(prefabName))
        {
            //这里尝试使用 Resource.Load 来载入Resource下的预设
            GameDebug.Log("包里没有找到UI " + prefabName);
            return(false);
        }

        //加入等待回调
        if (!mLoadCallbacks.ContainsKey(prefabName))
        {
            mLoadCallbacks.Add(prefabName, new ArrayList());
            mLoadCallbacks[prefabName].Add(callback);

            WindowData data = mConfig.WinDatas[prefabName] as WindowData;

            BehaviourUtil.StartCoroutine(DownloadUI("Window/", prefabName, data.refAtlas));
        }
        else
        {
            mLoadCallbacks[prefabName].Add(callback);
        }
        return(true);
    }
Example #2
0
    /// <summary>
    /// 播放一个特效
    /// </summary>
    /// <param name="fxname"></param>
    /// <param name="loop"></param>
    /// <param name="fxtype"></param>
    /// <param name="parent"></param>
    /// <param name="trans"></param>
    /// <param name="lifetime"></param>
    /// <param name="alias"></param>
    /// <param name="limitry"></param>
    /// <returns></returns>
    public uint PlayFx(string fxname, bool loop, Transform parent = null, TransformData trans = null, float lifetime = -1, string alias = null, bool limitry = false)
    {
        ParticleData data = ParticleConfigManager.Instance.GetParticleData(fxname);

        if (data == null)
        {
            GameDebug.LogError("没有找到特效: " + fxname);
            return(uint.MaxValue);
        }

        uint         instID = mLastEffectID++;
        ParticleItem item   = new ParticleItem();

        item.localTrans = trans;
        item.parent     = parent;
        item.Alias      = alias;
        item.LimitRy    = limitry;
        item.Loop       = loop;
        if (mEffects.ContainsKey(instID))
        {
            mEffects.Remove(instID);
        }
        mEffects.Add(instID, item);

        BehaviourUtil.StartCoroutine(GenerateVisual(instID, fxname, item));
        return(instID);
    }
Example #3
0
    /// <summary>
    /// 安装数据
    /// </summary>
    /// <param name="isInstall"></param>
    /// <param name="isCopyFile"></param>
    /// <returns></returns>
    protected IEnumerator InstallData(bool isInstall, bool isCopyFile)
    {
        yield return(BehaviourUtil.StartCoroutine(AndroidCopy(isCopyFile)));

        if (InstallDelegate != null)
        {
            InstallDelegate();
        }
    }
Example #4
0
    private void onStartFlying()
    {
        BehaviourUtil.StartCoroutine(generateVisual((int)mBulletResource.bulletFigureID));

        uint effectID = mBulletResource.effectOnTargetPosition;

        if (effectID != uint.MaxValue)
        {
            mAlertEffect = Scene.CreateEffect((int)effectID, Vector3.one, AlertEffectPosition, GetDirection());
        }
    }
Example #5
0
    public bool SetupParticle(string effectName)
    {
        item            = new ParticleItem();
        item.localTrans = null;
        item.parent     = null;
        item.Alias      = null;
        item.LimitRy    = false;
        item.Loop       = false;

        BehaviourUtil.StartCoroutine(GenerateVisual(effectName, item));
        return(true);
    }
Example #6
0
 /// <summary>
 /// 开始更新
 /// </summary>
 public void StartUpdate()
 {
     //TODO:先检测主版本号,如果不匹配
     if (true)
     {
         BehaviourUtil.StartCoroutine(LoadFileListFromServer());
     }
     else
     {
         //TODO:Dosomething
         //CheckResource();
     }
 }
Example #7
0
    /// <summary>
    /// 加载场景
    /// </summary>
    /// <param name="name"></param>
    public void LoadScene(string name, SceneLoadComplete completedelegate, bool additive = false)
    {
        //Debug.Log("名字为" + name);
        SceneData data = SceneConfigManager.Instance.GetSceneData(name);

        if (data == null && completedelegate != null)
        {
            completedelegate();
            return;
        }

        LoadComplete = completedelegate;
        BehaviourUtil.StartCoroutine(LoadScene_impl(data, additive));
    }
Example #8
0
    public void DoUpdateSelf()
    {
        if (mDownLoadedIndex >= 10)
        {
            //没下载x个文件保存一下列表防止中途中断更新
            mDownLoadedIndex = 0;
            SaveFileList();
        }
        if ((mDownData.Count <= 0) && !isDownLoading)
        {
            SaveFileList();
            if (OnUpdateComplete != null)
            {
                OnUpdateComplete(true);
                OnUpdateComplete = null;
            }
        }
        else
        {
            if (!Directory.Exists(mCachePath))
            {
                Directory.CreateDirectory(mCachePath);
            }

            while ((mDownData.Count > 0) && !fullDownLoading)
            {
                ///如果列表里有需要下载的东西,并且非全速下载
                ///执行一次下载
                int index = downLoadIndex;
                if (index == -1)
                {
                    Debug.LogError("DoUpdateSelf Error");
                    return;
                }
                ResData info = mDownData[0];
                if (info == null)
                {
                    Debug.LogError("DoUpdateSelf Error2");
                    return;
                }
                downLoadingDataInfoArray[index] = info;
                mDownData.RemoveAt(0);

                BehaviourUtil.StartCoroutine(WWWDownLoad(info.mDataPath, string.Format("{0}tmp{1}.ttdq", mCachePath, index), index));
            }
        }
    }
Example #9
0
    public bool LoadAnimationRes(string aniName, LoadAnimationCallback callback)
    {
        string prefabName = aniName + ".prefab";

        if (!mConfig.AniDatas.ContainsKey(prefabName))
        {
            GameDebug.Log("包里没有找到Animation " + prefabName);
            return(false);
        }

        //加入等待回调
//         if (!mAniLoadCallbacks.ContainsKey(prefabName))
//         {
//             mAniLoadCallbacks.Add(prefabName, new ArrayList());
//         }
//         mAniLoadCallbacks[prefabName].Add(callback);

        AnimationData data = mConfig.AniDatas[prefabName] as AnimationData;

        BehaviourUtil.StartCoroutine(DownloadAnimationRes(prefabName, data, callback, aniName));

        return(true);
    }
Example #10
0
 public void Init(FunctionCallback calback)
 {
     mInitCallback = calback;
     BehaviourUtil.StartCoroutine(InitConfigAndFonts());
 }
Example #11
0
 /// <summary>
 /// 下载程序文件
 /// </summary>
 /// <param name="url"></param>
 public void UpdateClient(string url)
 {
     BehaviourUtil.StartCoroutine(HttpDownload(url));
 }
Example #12
0
 public void LoadBytes(string path, ReadTextCallback callback)
 {
     BehaviourUtil.StartCoroutine(LoadBytes_impl(path, callback));
 }
Example #13
0
 public void CopyFileList()
 {
     BehaviourUtil.StartCoroutine(InstallData(true, true));
 }