项目记录25--unity-tolua框架 View02---BasePanel.lua
还在,还在。
。。。
。
每天晚上找点时间写点点,多了也不想学到底是什么心理啊。
写完看电影去。
今天写两个算超完毕了BaseUI.lua,UIManager.lua(完好中这个)
local BasePanel = class("BasePanel",require("Base.BaseUI"))
function BasePanel:ctor(panelName)
--载入prefab
local uiTransform = self:_loadPanel(panelName)
--调用父类
BasePanel.super.ctor(self,panelName,uiTransform)
--初始化
self:_BaseInit()
--開始默认是隐藏
self:Hide()
end
function BasePanel:_BaseInit( )
self:_RegisterComponents()
self:_Init()
self:_RegisterEvents()
end
--[[
载入prefab
]]
function BasePanel:_loadPanel(panelName)
if panelName == nil then
return
end
local path = PREFABS_PATH..panelName
--安装路径载入prefabe: 区分开发时期和公布时期
local tempObj = UnityEngine.Resources.Load(path)
local obj = UnityEngine.Object.Instantiate(tempObj)
--设置它父类是UI_ROOT
obj.transform:SetParent(UIManager:Instance()._uiRoot.transform)
local rectTransform = obj:GetComponent(typeof(UnityEngine.RectTransform))
rectTransform.localScale = Vector3.New(1,1,1)
rectTransform.localPosition = Vector3.New(0,0,0)
r eturn obj.transform
end
--[[
]]
function BasePanel:Show()
BasePanel.super.Show(self)
UIManager:Instance():AddPanel(self)
self._uiTransform:SetAsLastSibling() --设置最前
end
--关闭UIPanel 非 Hide
function BasePanel:Close()
UIManager:Instance():RemovePanel(self)
--发出一个关闭的命令
self:Dispatcher(CLOSE_PANEL_EVENT)
BasePanel.super.Close(self)
end
return BasePanel
项目记录25--unity-tolua框架 View02---BasePanel.lua的更多相关文章
- Unity Project Wizard (最近打开的项目记录)
最近打开工程列表 当用Unity打开过的项目越来越多之后,在最近打开项目记录框中就会变的很长,那么如何才能删除最近打开的记录呢? Unity4.x最近打开的工程记录 Unity5.x最近打开的工程记录 ...
- Unity 游戏框架搭建 2018 (一) 架构、框架与 QFramework 简介
约定 还记得上版本的第二十四篇的约定嘛?现在出来履行啦~ 为什么要重制? 之前写的专栏都是按照心情写的,在最初的时候笔者什么都不懂,而且文章的发布是按照很随性的一个顺序.结果就是说,大家都看完了,都还 ...
- Unity 游戏框架:资源管理神器 ResKit
此篇文章准备了将近两周的时间,写了改,改了删.之前有朋友反馈,上一个文章太冗长了,影响阅读体验,这一讲就走个精简路线.所以只要不是很重要的内容就都删减掉了. 文章分两个部分,第一部分是原理,第二部分是 ...
- .NET开源项目 TOP 25
.NET开源项目 TOP 25 如果知道.NET项目在开源中国的git上所占的比重只有5%的话,为什么这个<2014年国人开发的最热门的开源软件TOP 100>榜中.NET项目那么少就是情 ...
- Unity 游戏框架搭建 (六) 关于框架的一些好文和一些思考
在进行项目架构阶段,游戏框架可以解决一部分问题.剩下的架构问题还需要根据不同的项目解决.总之游戏框架是游戏架构的一部分. 关于锤子和钉子: 最近又拿起了<代码大全>和<暗时间 ...
- 体验ToLua框架下热更新(Phpstudy)
一.关于热更新的详细流程 首先我们需要需要将本机电脑作为服务器打开,这是第一步 1.1.1如何确定我们的电脑是作为服务器打开的. 我们打开一个浏览器在地址栏中输入127.0.0.1.或者是localh ...
- Unity 游戏框架搭建 (十六) v0.0.1 架构调整
背景: 前段时间用Xamarin.OSX开发一些工具,遇到了两个问题. QFramework的大部分的类耦合了Unity的API,这样导致不能在其他CLR平台使用QFramework. QFramew ...
- Unity 游戏框架搭建 (十三) 无需继承的单例的模板
之前的文章中介绍的Unity 游戏框架搭建 (二) 单例的模板和Unity 游戏框架搭建 (三) MonoBehaviour单例的模板有一些问题. 存在的问题: 只要继承了单例的模板就无法再继承其他的 ...
- Unity 游戏框架搭建 (十) QFramework v0.0.2小结
从框架搭建系列的第一篇文章开始到现在有四个多月时间了,这段时间对自己来说有很多的收获,好多小伙伴和前辈不管是在评论区还是私下里给出的建议非常有参考性,在此先谢过各位. 说到是一篇小节,先列出框架的概要 ...
- 微信小程序UI自动化:实践之后的记录01-选择工具/框架
目录 1. 前言 2. 工具/框架/库选择 2.1 miniprogram-automator官方介绍(摘自官方哈) 小程序自动化 特性 2.2 minium官方介绍 特性 3. 如何选择 4. 对应 ...
随机推荐
- url文件的格式
[DEFAULT]BASEURL= [InternetShortcut]URL=WorkingDirectory=ShowCommand=IconIndex=IconFile=Modified=Hot ...
- jQuery动画animate方法使用介绍
用于创建自定义动画的函数. 返回值:jQuery animate(params, [duration], [easing], [callback]) 如果使用的是“hide”.“show”或“togg ...
- 微信小程序 - 自适应swiper高度(非组件)
微信小程序swiper默认高度375rpx,一旦超过这高度,就滑动不到内容了,我们利用css3可以很简单做到这件事情 原理: 利用css3 横轴滚动属性overflow:scroll,设置死swipe ...
- centos下安装配置mongodb
1:安装mkdir -p /app/mongodb tar zxvf mongodb-linux-x86_64-rhel62-3.4.6.tgz vi .bash_profile PATH=$PATH ...
- 005-Go 操作PostgreSQL数据库
package main import( "fmt" "database/sql" _ "github.com/lib/pq" " ...
- JAVA连接Mysql事例
一.在Eclipse里面创建一个JAVA项目 相关连接: http://www.cnblogs.com/liqiu/p/3407016.html 二.导入mysql-connector-java-5. ...
- http中的get和post的区别
get:相当于查找数据,从server中取数据,不会改变server端的数据: post:相当于更新数据,他会更新server端的数据: 所有的http操作(增删改查)都能通过对应的get和post获 ...
- VirtualBox-5.0.16设置windows与ubuntu的共享文件夹
操作环境:win7.VirtualBox-5.0.16.ubuntukylin-14.04.2-desktop-amd64 1.先下载安装VBoxGuestAdditions_5.0.17-10614 ...
- 通过ribbon 根据服务名获取所有服务实例的IP和端口列表
代码使用SpringCloud版本E3 业务场景: 今天遇到一个业务场景,要求根据服务名获取当前微服务集群中所有的对应服务实例的IP和端口,通过分析源码推算出了写法. 原理简述: 如果代码中引入了sp ...
- Python是解释性语言吗? 直到看到有 python py、pyc、pyo、pyd 文件
py是源文件,pyc是源文件编译后的文件,pyo是源文件优化编译后的文件,pyd是其他语言写的python库 1. Python是一门解释型语言? Python是一门解释性语言,我就这样一直相信下去, ...