using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class BallNPC : MonoBehaviour {

public TweenPosition questTween;
    public UILabel desLabel;
    public GameObject acceptBtnGo; //accept定义按钮
    public GameObject okBtnGo;    //ok定义按钮
    public GameObject cancelBtnGo;   //cancel定义按钮

public bool isInTask = false; //表示是否在任务中
    public int killCount = 0; //表示任务进度
    // Use this for initialization
    private void OnMouseOver()//当鼠标位于collder之上的时候,会在每一帧调用

{
        if (Input.GetMouseButtonDown(0)) {
            if (isInTask)
            {
                ShowTaskProgress();

}
            else {
                ShowTaskDes();
            }
            ShowQuest();

}
    }
    void ShowQuest()
    {
        questTween.gameObject.SetActive(true);
        questTween.PlayForward();

}
    void HiedQuest() {

questTween.PlayReverse();
    }

void ShowTaskDes() {//显示任务进度
        desLabel.text = "任务:\n杀死了1只狼\n\n奖励:\n1000金币";
        okBtnGo.SetActive(false);
        acceptBtnGo.SetActive(true);
        cancelBtnGo.SetActive(true);
    }
    void ShowTaskProgress() {//显示任务进度
        desLabel.text = "任务:\n你已经杀死了" + killCount + "\\1只狼\n\n奖励:\n1000金币";
        okBtnGo.SetActive(true);
        acceptBtnGo.SetActive(false);
        cancelBtnGo.SetActive(false);

}
    //任务对话框按钮处理
    public void OnCloseButtonClick() {
        HiedQuest();

}
    public void OnAcceptButtonClick() {//接受任务事件
        ShowTaskProgress();
        isInTask = true;//表示在任务中
    }
    public void OnOkButtonClick() {//完成按钮事件
        if (killCount == 1)//完成任务
        {
            killCount = 0;
            ShowTaskDes();

}
        else {//没有完成任务
            HiedQuest();
        }
    }
    public void OnCancelButtonClick() {//取消任务事件
        HiedQuest();
    }
}

NGUI任务系统代码相关推荐

  1. ngui中 代码调用按钮事件(后来改成了按钮绑定键盘..)

    ngui中 代码调用按钮事件 好烦人啊这个问题, 我弄完发上来 这个问题解决了一半 发现可以用 按钮绑定来解决这个问题,并且更安全方便快速 直接在按钮上添加一个 key binding 指定按键 搞定 ...

  2. NGUI所见即所得之深入剖析UIPanel,UIWidget,UIDrawCall底层原理

    NGUI所见即所得之深入剖析UIPanel,UIWidget,UIDrawCall底层原理 By D.S.Qiu 尊重他人的劳动,支持原创,转载请注明出处:http.dsqiu.iteye.com 之 ...

  3. unity渲染层级关系小结

    http://blog.csdn.net/meegomeego/article/details/42060389 最近连续遇到了几个绘制图像之间相互遮挡关系不正确的问题,网上查找的信息比较凌乱,所以这 ...

  4. UnityShader RenderTypeQueue 渲染顺序

    整理自这两篇博文 https://blog.csdn.net/u013477973/article/details/80607989?depth_1-utm_source=distribute.pc_ ...

  5. 【转载】某牛逼的文章《曝光一下我开发的游戏项目的日报周报 》

    以下是我最近几个月开发的<美人三国>游戏的一个大概过程.记录每天做了什么,开发了什么代码,等等. 就目前我所经历的这个项目,我学习到了很多东西.包括游戏的架构,游戏的业务开发.游戏的地图, ...

  6. Unity面试题ABC(Yanlz+A经典面试题+C#问题+Unity问题+...+F高薪就业+...+立钻哥哥+...)

    <Unity面试题> 版本 作者 参与者 完成日期 备注 Unity_JobView_V01_1.0 严立钻 2018.07.26 ##<Unity面试题>发布说明: ++++ ...

  7. 仿LOL项目开发第六天

    仿LOL项目开发第六天 by草帽 OK,因为更新模块已经处理好了,接着开始登陆的编写.那么我们就需要状态机的管理. 所谓状态机就是在哪个状态执行那个状态的代码逻辑: 那么我们开始编写GameState ...

  8. Unity渲染层级关系

    第一:UGUI中: 一.条件:Render Mode都是Screen Space-Camera时的渲染顺序 1.遵循刷油漆规则 2.依次由Render Camera的Depth值.Sorting  L ...

  9. 隐私合规:收集SDK部分介绍

    com.meizu.cloud.pushsdk.SystemReceiver 魅族推送服务是由魅族公司为开发者提供的消息推送服务,开发者可以向集成了魅族 push SDK 的客户端实时地推送通知或者消 ...

最新文章

  1. 【每日一算法】买卖股票的最佳时机
  2. 干粮 -- 计算机程序设计艺术(The Art of Computer Design) - 2
  3. redis系列:通过文章点赞排名案例学习sortedset命令
  4. UNITY Destroy()和DestroyImadiate()都不会立即释放对象内存
  5. RabbitMQ—集群原理
  6. jdom学习:读取xml文件
  7. Jackson相关的一些注解
  8. 图数据库_ONgDB图数据库与Spark的集成
  9. mysql建立索引 有什么缺陷_MySQL数据库建立索引的优缺点以及什么样的字段适合建立索引...
  10. jq操作url请求的参数
  11. 弱鸡儿长乐爆零旅Day1
  12. scipy —— 丰富的子包(io、cluster)
  13. vb.net中递归退到最外层_面试题被问到再也不慌,深究JavaScript中的深拷贝与浅拷贝...
  14. spring boot 使用application.properties 进行外部配置
  15. php $GLOBALS 超全局变量的理解
  16. 计算机软件资产代码,事业单位六大类固定资产代码.xls
  17. 简单小爬虫爬取招标信息
  18. excel 2007 冻结单元格
  19. vip地址能ping不通_ping不通地址
  20. 滑雪计时系统|滑雪计时计分|2019国际冬季运动(北京)博览会

热门文章

  1. linux得ked使用方法,如何使用KED
  2. 如何通过看美剧来提高英语水平(转)
  3. iPad/iPhone iOS系统里最屌的13款DAW和应用工作站
  4. iSpiik产品说:抖音-信息浓度大师连续播放功能?
  5. 【大厂】华为Hicar如何布局智慧车辆生态
  6. 无线蓝牙入耳式耳机哪个品牌好?入耳式无线蓝牙耳机排行
  7. localhost拒绝了链接请求(win10)
  8. 大数据信息资料采集:情感公号风茕子历史文章评论爬取八爪鱼采集
  9. 12平键标准尺寸规格表_普通平键标准编号-普通平键、键槽规格尺寸表
  10. 前端程序猿搞笑小故事