游戏蛮牛学习群(纯技术交流,不闲聊):539178957
新宝娱乐城博彩打不开 手机端
开发者专栏

关注:2264

当前位置:新宝娱乐城博彩打不开 技术专区 开发者专栏

__________________________________________________________________________________
开发者干货区版块规则:

  1、文章必须是图文形式。(至少2幅图)
      2、文章字数必须保持在1500字节以上。(编辑器右下角有字数检查)
      3、本版块只支持在游戏蛮牛原创首发,不支持转载。
      4、本版块回复不得无意义,如:顶、呵呵、不错......【真的会扣分的哦】
      5、......
__________________________________________________________________________________
查看: 3127|回复: 34
发新帖

新宝娱乐城最低存款: [yukuyoulei] 极易使用的配置管理器

[复制链接]  [移动端链接]
排名
42
昨日变化
1

新宝娱乐城博彩打不开 www.sl6cl.com.cn 3692

主题

4558

帖子

1万

积分

Rank: 9Rank: 9Rank: 9

UID
287
好友
45
蛮牛币
3368
威望
30
注册时间
2013-6-9
在线时间
2137 小时
最后登录
2018-7-26

七夕浪漫情人社区QQ达人活力之星原创先锋认证开发者

QQ
跳转到指定楼层
楼主
发表于 2018-6-6 14:36:41 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x
本帖最后由 yukuyoulei 于 2018-6-6 14:39 编辑

最近客串了好长一段时间客户端程序员了,心好累,各位客户端前辈们你们辛苦了,真心的。

加载配置表应该算是所有游戏项目必不可少的功能了,之前项目里用到的加载配置的方式都比较单一,要不然就是只能从Resource里加载,要不然就是只能从AssetBundle里加载,一旦需要两者兼备的时候,就很头疼,所以自己写了一个,丢掉历史包袱的感觉超级好。

我写的这个配置管理器的功能是在编辑器模式在从Resources目录下加载配置,打出的包要从AssetBundle里面加载,如果各位不需要的话,直接在DownloadConfigs里面注释掉LoadLocalConfig之外的所有行就好了,这个应该很简单,我就不多说了。

RegistAllLoadFuncs()方法里面注册的是一个传string参数的方法,这个应该也很明显,具体的实现每个项目应该都有自己的一套,我们的项目都是csv格式,大家自己实现就好了。

废话不多说,直接上代码。
[C#] 纯文本查看 复制代码
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class UConfigManager : MonoBehaviour
{
        private static UConfigManager mInstance;
        public static UConfigManager Instance
        {
                get
                {
                        if (mInstance == null)
                        {
                                GameObject go = new GameObject("UConfigManager");
                                DontDestroyOnLoad(go);
                                mInstance = go.AddComponent<UConfigManager>();
                        }
                        return mInstance;
                }
        }
        public void Init() { }

        private Dictionary<string, Action<string>> dExcelLoaders = new Dictionary<string, Action<string>>();
        private void RegistLoadFunc(string sExcelName, Action<string> func)
        {
                dExcelLoaders.Add(sExcelName, func);
        }
        private void RegistAllLoadFuncs()
        {
                /*RegistLoadFunc("Levels", ULoaderLevel.Instance.LoadData);
                RegistLoadFunc("Localization", ULoaderLocalization.Instance.LoadData);*/
        }
        void Awake()
        {
                mInstance = this;

                RegistAllLoadFuncs();

                DownloadConfigs();
        }

        private void DownloadConfigs()
        {
#if UNITY_EDITOR
                LoadLocalConfig();
#else
                StartCoroutine(DoDownload());
#endif
        }

        public static string DownLoadConfigPath = "//192.168.1.100/configs/configs.assetbundle";
        private IEnumerator DoDownload()
        {
                var www = new WWW(DownLoadConfigPath);
                yield return www;
                if (string.IsNullOrEmpty(www.error))
                {
                        var ab = www.assetBundle;
                        LoadAssetBundle(ab);
                        ab.Unload(true);
                }
                else
                {
                        Debug.Log("加载远端配置失败,正在加载本地配置。");
                        LoadLocalConfig();
                }
                www.Dispose();
        }

        private void LoadAssetBundle(AssetBundle ab)
        {
                Debug.Log("下载远端配置成功,正在加载远端配置。");
                foreach (var s in dExcelLoaders.Keys)
                {
                        var text = ab.LoadAsset(s) as TextAsset;
                        if (text == null)
                        {
                                Debug.Log("Cannot load " + s + " from asset bundle");
                                continue;
                        }
                        dExcelLoaders[s](text.text);
                }

        }

        private void LoadLocalConfig()
        {
                foreach (var s in dExcelLoaders.Keys)
                {
                        var text = Resources.Load<TextAsset>("Configs/" + s);
                        if (text == null)
                        {
                                Debug.Log("Cannot load " + s + " from local");
                                continue;
                        }
                        dExcelLoaders[s](text.text);
                }
        }
}



剩下的就是在合适的时机,调用
[C#] 纯文本查看 复制代码
UConfigManager.Instance.Init();


Enjoy~



7日久生情
3081/5000
排名
2356
昨日变化
6

0

主题

2083

帖子

3081

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
219676
好友
1
蛮牛币
2452
威望
0
注册时间
2017-7-12
在线时间
446 小时
最后登录
2018-7-26

活力之星

沙发
发表于 2018-6-6 15:20:24 | 只看该作者
谢谢分享

6蛮牛粉丝
1349/1500
排名
2608
昨日变化
1

1

主题

489

帖子

1349

积分

Rank: 6Rank: 6Rank: 6

UID
220310
好友
1
蛮牛币
2304
威望
0
注册时间
2017-5-2
在线时间
359 小时
最后登录
2018-6-13
板凳
发表于 2018-6-7 10:48:53 | 只看该作者
[发帖际遇]: Layao 发帖时在路边捡到 2 蛮牛币,偷偷放进了口袋. 幸运榜 / 衰神榜

4四处流浪
317/500
排名
10070
昨日变化
132

1

主题

128

帖子

317

积分

Rank: 4

UID
231366
好友
3
蛮牛币
459
威望
0
注册时间
2017-7-10
在线时间
90 小时
最后登录
2018-7-26
地板
发表于 2018-6-7 11:30:33 | 只看该作者
6666666666{:104:}{:104:}{:104:}{:104:}{:104:}

6蛮牛粉丝
1100/1500
排名
2069
昨日变化
10

0

主题

292

帖子

1100

积分

Rank: 6Rank: 6Rank: 6

UID
87577
好友
0
蛮牛币
3533
威望
0
注册时间
2015-3-31
在线时间
196 小时
最后登录
2018-7-27
5#
发表于 2018-6-8 09:22:44 | 只看该作者
too good too strong!

5熟悉之中
510/1000
排名
6962
昨日变化
67

0

主题

223

帖子

510

积分

Rank: 5Rank: 5

UID
279508
好友
0
蛮牛币
976
威望
0
注册时间
2018-5-2
在线时间
117 小时
最后登录
2018-7-27
6#
发表于 2018-6-8 09:27:54 | 只看该作者

是好东西吗

5熟悉之中
615/1000
排名
4200
昨日变化
24

1

主题

88

帖子

615

积分

Rank: 5Rank: 5

UID
129262
好友
1
蛮牛币
154
威望
0
注册时间
2015-11-18
在线时间
210 小时
最后登录
2018-7-26
7#
发表于 2018-6-8 10:45:50 | 只看该作者
66666666666666666

5熟悉之中
662/1000
排名
3862
昨日变化
1

1

主题

117

帖子

662

积分

Rank: 5Rank: 5

UID
236305
好友
1
蛮牛币
932
威望
0
注册时间
2017-8-7
在线时间
198 小时
最后登录
2018-7-26
8#
发表于 2018-6-11 09:53:26 | 只看该作者
前来学习一下 谢谢!
[发帖际遇]: SrMao_e432t 被钱袋砸中进医院,看病花了 2 蛮牛币. 幸运榜 / 衰神榜

3偶尔光临
218/300
排名
8641
昨日变化
3

0

主题

40

帖子

218

积分

Rank: 3Rank: 3Rank: 3

UID
277005
好友
0
蛮牛币
300
威望
0
注册时间
2018-4-13
在线时间
54 小时
最后登录
2018-7-22
9#
发表于 2018-6-11 15:29:14 | 只看该作者
感谢分享

排名
44781
昨日变化
65

0

主题

5

帖子

15

积分

Rank: 1

UID
245294
好友
0
蛮牛币
8
威望
0
注册时间
2017-9-21
在线时间
6 小时
最后登录
2018-6-21
10#
发表于 2018-6-12 15:15:51 | 只看该作者
非常好的资源

7日久生情
2420/5000
排名
765
昨日变化
1

30

主题

507

帖子

2420

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
124569
好友
25
蛮牛币
5561
威望
0
注册时间
2015-10-4
在线时间
739 小时
最后登录
2018-7-27
11#
发表于 2018-6-13 07:53:24 | 只看该作者
这个很好,谢谢分享
[发帖际遇]: 月半可可 乐于助人,奖励 3 蛮牛币. 幸运榜 / 衰神榜

2初来乍到
139/150
排名
9973
昨日变化
91

0

主题

10

帖子

139

积分

Rank: 2Rank: 2

UID
177397
好友
0
蛮牛币
319
威望
0
注册时间
2016-10-22
在线时间
31 小时
最后登录
2018-7-26
12#
发表于 2018-6-14 09:00:33 | 只看该作者
感谢分享!学习学习!

排名
23670
昨日变化
1433

0

主题

9

帖子

49

积分

Rank: 1

UID
214890
好友
0
蛮牛币
24
威望
0
注册时间
2017-3-28
在线时间
24 小时
最后登录
2018-7-25
13#
发表于 2018-6-19 22:07:14 | 只看该作者
ASDASF啊实打实大苏打

2初来乍到
140/150
排名
16172
昨日变化
6

6

主题

51

帖子

140

积分

Rank: 2Rank: 2

UID
285778
好友
0
蛮牛币
773
威望
0
注册时间
2018-6-14
在线时间
43 小时
最后登录
2018-7-26
14#
发表于 2018-6-22 10:07:37 | 只看该作者

too good too strong!

7日久生情
1870/5000
排名
2500
昨日变化
6

1

主题

905

帖子

1870

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
216583
好友
2
蛮牛币
3143
威望
0
注册时间
2017-4-7
在线时间
444 小时
最后登录
2018-7-26
15#
发表于 2018-6-25 10:30:20 | 只看该作者
多谢分享
[发帖际遇]: limengyxmn 被钱袋砸中进医院,看病花了 2 蛮牛币. 幸运榜 / 衰神榜

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

快速回复 新宝娱乐城博彩打不开 返回列表
  • 险!年近八旬老人就医晕倒 赞!医生不顾腰伤抱起抢救(图) 2018-12-13
  • 政府牵头凯迪集团债委会 违约处理牵融资市场神经 2018-12-13
  • 香港田径锦标赛飞人夺冠 2018-12-12
  • 李思思元元月亮姐姐 盘点央视主持人与子女温馨合影 2018-12-11
  • “忻州工匠”“忻州技能标兵”评选活动启动 2018-12-11
  • 包住内力,在不断变化中寻找契机,可出击可借力亦可卸力。 2018-12-10
  • 广州中考首用计算机辅助命题 满满的广州元素 2018-12-09
  • 植树、采茶、挖野菜…… 这才是春天正确的打开方式 2018-12-08
  • 【纯黑】《生化危机7》克里斯DLC不是英雄 2018-12-08
  • 150块地铁灯牌高调“炫父” 温暖南京城 2018-12-07
  • 【光明网专论】鞠立新:习近平新时代中国特色社会主义经济思想的内涵、逻辑和特质 2018-12-06
  • 江西“放管服”改革再出实招 2018-12-05
  • 首列商用磁浮2.0版列车下线 适用中心城市到卫星城间交通--旅游频道 2018-12-05
  • 空警-500改进型新照曝光,监控效率成倍提升 2018-12-04
  • 对美敲诈老手不能软越软越诈你要打就来 2018-12-04
  • 431| 740| 839| 866| 528| 201| 293| 547| 294| 756|