2020-12-07

<0-26>
9. 创建游戏启动脚本LaunchGame.cs 游戏入口

10. 导入资源: read/write enabled--可读可写浪费资源Generate Mip Maps--自动生成小图取消勾选 Sprite(2d and UI)

11. Editor 文件夹---存放编译器脚本,打包不打入/// TextureSetting.cs 更改导入图片的类型

12. 制作 StartViewUI 预制体  ///取消图片Raycast Target

14. NormalSingleton.cs--普通单例类

15. MonoSingleton.cs---Mono类单例类   ///多了一个awake方法,确保类在场景中的唯一性

17. 加载模块接口ILoader.cs

18,加载管理LoadMgr--针对接口编程,外部同一方法,内部指定不同的加载逻辑--ABLoader  or  ResourceLoader

19,  自动化挂在脚本的两种方法:a--预制体和脚本同名,通过type挂载  b--通过给预制体添加特性 挂载脚本

20.  通过类型名挂载脚本
        Type t = Type.GetType(temp.name.Remove(temp.name.Length-7));     //生成预制体的名称:StartView(Clone)
        temp.AddComponent(t);

21.  特性Attrbute的用途:a,做标记,,[Serializable]   ///  b,携带数据,,挂载脚本(21-25不明白,太复杂,可以用同名代替)26.是废话

 

27.UI管理类的需求----UIMgr.cs   stack 栈 ///   UI部分的接口 IView.cs

28.查找物体的方法---  GameObject.Find();尽量不用 全局搜索 太耗性能  用transform.find()对象搜索        ViewBase.cs => 挂载的预制体上的脚本继承monobehaviour
 
29.30.31添加UI工具数据类   ---UIUtil.cs  ***需要挂载在物体上   通过RectTransform属性的到物体的go btn Img Text 属性/// 给按钮加AddListener   给图片 setSprite  /// 创建字典存储UI数据   ///查找得到数据

32. 在viewBase里调用 UIUtil(有需求才进行初始化)   UIMgr里的栈和字典?

33.UIMgr里 UI的显示方法---- UI不能重叠,不用的要隐藏掉,覆盖的UI重复绘制,损耗性能
隐藏栈里的UI,显示根据提供的名称路径在字典里查找并显示,如果没有则生成UI预制体

34.完成界面的初始化   initview()和show()方法

35.界面上返回按钮的返回方法

36.硬代码const常量类/path    ///安全的类型转换

37.startView.cs

38.UI  拼接 SelectedHeroView

39.SelectedHeroView.cs    /// 给预制体添加路径,,添加同名脚本,,init()挂载按钮

40.SekctHero.cs ///  HeroItem.cs

41.        //******给集合指定一个容量,减少不必要的容量
        _item = new List<HeroItem>(transform.childCount);  
        //**********在不确定集合大小的情况下使用
        _item.Capacity = transform.childCount;
      
42.  HeroItem.cs   ---添加选择按钮点击事件 ,,改变颜色
43.******callbac********

44.数据存储分析
45.新建DataMgr.cs和 IDataMemory.cs
46.PlayerPrefsMemory.cs     ///*************判断类型 及 类型转换**************
   Type type = typeof(T);
        //类型转换器
        var converter = TypeDescriptor.GetConverter(type);
      
        //****所有int型的typeof 都指向一个type
        if (typeof(T)==typeof(int))         
        {
            int value = PlayerPrefs.GetInt(key, 0);
            return (T)converter.ConvertTo(value, type);
        }

47.48.用字典优化if elseif 的重复逻辑
49.对应的set方法

50.DataMgr.cs对PlayerPrefsMemory.cs的调用
 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值