一个简易的触发器实现(一)

预计这是一个系列文章,一篇可能讲不完
废话不多说,先上图

这里写图片描述

上图是用vs2015生成的

简单介绍下类图:

  • WorldEventTrigger,抽象类,描述一个通用意义上的触发器的行为与属性:

    1. IsValid()触发器是否还有效
    2. IsTrigger()触发器是否被触发
    3. GetTriggerTip()获取触发器提示,一般是某些条件描述,比如达到5级触发
    4. Exec()执行外界set进来的回调函数
  • LevelTrigger,实现类,描述了一个等级触发器:

  • QuestTrigger,实现类,描述了一个任务触发器:

  • TriggerExec,定义的一个委托类型函数,外界传进来的回调必须是这个格式的才可以用

  • WorldEventTriggerManager,负责以下事务:

    1. 生成触发器,并保存在一个list中
    2. 检查无效触发器,并删除
    3. 检查触发器是否生效,并执行回调

    下一篇发代码,这几个类并不是独立的,还引用到了工程里的其他类,不过不影响看懂这个结构
    第二篇传送门:点我传送

开源是一种精神


版权声明:本文为xp406181原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。