# Project_BBQ **Repository Path**: hiphops/Project_BBQ ## Basic Information - **Project Name**: Project_BBQ - **Description**: 类DNF的横板格斗 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2025-01-04 - **Last Updated**: 2025-01-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README **Unity版本:2019.4LTS** **目标:做个类似DNF的游戏** 1. 2D相关工具使用Unity推出的2D工具套装 2. 物理碰撞:撸了一套OBB碰撞 前后端用一套 3. 通信:前端维护Socket 后端DotNetty protobuf协议 4. UI:还有很多要做 5. 战斗:还有很多要做 6. 资源管理:Addressable 1. 服务器:https://gitee.com/cocotang/BBQ_Server 2. 服务器sql备份:https://gitee.com/cocotang/Project_BBQ_SQL ![启动](https://images.gitee.com/uploads/images/2020/0729/202722_f7a06be6_952685.png "QQ截图20200729202432.png") ![Project_BBQ](https://images.gitee.com/uploads/images/2020/0729/202741_8aaa1a08_952685.png "QQ截图20200729202644.png") ![BBQ](https://images.gitee.com/uploads/images/2020/0801/222635_591e666e_952685.png "QQ截图20200801222609.png") 1. 2020.8.1:UI组件,滑动列表 1. 第一步声明: 1. //ChatCell=每个滑动列表里面的Item对应类 1. //ChatData=每个滑动列表里面的Item数据结构 1. **protected LoopVerticalView loop = new LoopVerticalView();** 1. 第二步初始化: 1. **RectTransform root = this.root.Find("content/rect").GetComponent();** 1. //给滑动组件绑定一个transform,并带上一个int参数=每行有几个item 1. **loop.initialize(root, 1);** 1. 第三步刷新: 1. **List lst = vo.lstMsg;** 1. **loop.setData(lst);** //绑定数据 1. **loop.refresh();** //刷新 1. 备注:提供了一些滑动组件的接口:元素代表是在数据中的index,例如:在一个3*6行滑动列表中,moveTo(5)则会定位到第二行. 1. **moveStart();** //滑动到第一个元素 1. **moveTo(int dataIndex);** //滑动到指定元素 1. **moveEnd();** //滑动到最后一个元素 ![滑动组件](https://images.gitee.com/uploads/images/2020/0801/174906_1827e547_952685.png "QQ图片20200801174845.png") **2020.9.13更新** 1. 资源管理 不再使用Addressable,撸了一套AssetBundle打包,RunTime的管理 https://gitee.com/cocotang/tasset 2. 属性设计(任何属性都可以放到AttrMap中,无需在实体中定义那么多字段,当然自定义属性结构需要继承接口IEquable) **接口提供:** 更改属性:attrMap.changeAttr(RoleAttr.MaxHp, msg.maxHp);//更改最大hp 获取属性:role.AttrMap.getAttr(RoleAttr.NickName).Value;//获取昵称 属性监听:role.AttrMap.getAttr(RoleAttr.MaxHp).onAttrChange += onMaxHpChange;//监听最大hp变更 3. 怪物受伤血条效果(类似DNF) ![输入图片说明](https://images.gitee.com/uploads/images/2020/0913/164559_3c4c4664_952685.png "QQ截图20200913164536.png") **2020.9.15更新** 1. 关于技能编辑器和技能 每个技能Skill都是一种行为Action Action是走Timeline,每个时间节点都可以添加一个事件(BaseEvent) BaseEvent的子类会自己实现想要的功能 **创建Action接口** :ActionCreator.createAction(1001);//只需要传入一个行为id 技能编辑器: ![输入图片说明](https://images.gitee.com/uploads/images/2020/0915/181738_2203263b_952685.png "QQ截图20200915181715.png") 目前加了3种事件:AnimEvent AttackEvent EffectEvent 例如:AnimEvent ![输入图片说明](https://images.gitee.com/uploads/images/2020/0915/182359_45b726f3_952685.png "QQ截图20200915182339.png") AnimEvent内部拿到Data结构即使AnimData,专注实现逻辑 **新加一种类型的事件** 定义:ActionEventType 添加运行时的事件创建 添加技能编辑器的事件创建 ![输入图片说明](https://images.gitee.com/uploads/images/2020/0915/182655_dcd191ba_952685.png "QQ截图20200915182619.png") ![输入图片说明](https://images.gitee.com/uploads/images/2020/0915/182709_eb49ebf1_952685.png "QQ截图20200915182640.png") **新的编辑器施工中...** ![输入图片说明](https://images.gitee.com/uploads/images/2021/0318/162906_a8e213cb_952685.png "QQ图片20210318162851.png")