1.0.6 • Published 9 months ago

jupiter-ocean v1.0.6

Weekly downloads
-
License
ISC
Repository
-
Last release
9 months ago

Jupiter-Ocean

1.介绍

本项目是记录使用typescript开发游戏时所使用的部分结构、函数的合集。

2.使用

npm install jupiter-ocean

3.模块使用

GameTask

  1. 自定义结构上新增一个 tasks(taskList|taskRecord...)属性,结构为:TaskRecord<T>用于存储任务列表。
  2. 自定义一个检查点枚举,用于不同地方的检查点触发不同任务。
  3. 每个检查点绑定一个方法,用于处理检查点触发时任务的更新,调用bindTaskCheckFunc方法绑定。
    /** 任务检查点方法 */
    export type TaskCheckFunc = (task: ITask, ...args: any[]) => Promise<{
        task: ITask,
        /** 本次添加值 */
        addVal: number,
        /** 本次设置值 */
        setVal: number
    }>;

    /**
     * 绑定任务检查点函数(需要先绑定再检查)
     * @param checkPoint 任务检查点
     * @param func 检查点函数
     */
    export function bindTaskCheckFunc(checkPoint: number, func: TaskCheckFunc) {
        GameTaskCheckFuncRecord[checkPoint] = func;
    }
  1. 在需要的位置添加任务,调用addTask方法添加。
  2. 在游戏各个指定的检查点位置,调用checkTask方法检查任务。
  3. 在任务过期、任务领奖等位置调用setTaskStage方法更新任务状态或者调用delTask方法删除任务。
  4. 任务管理器设计如下: 任务管理器

GameActivity

  1. 自定义结构上新增一个 activities(activityList|activityRecord...)属性,结构为:ActivityRecord<T>用于存储活动列表。
  2. 建议活动根据configId区间进行类型区分,方便管理。
  3. 根据类型区间活动阶段绑定若干方法,用于处理不同阶段不同类型区间的活动,调用bindActivityFunc方法绑定。
    /**
     * 绑定状态处理函数
     * @param func 函数
     * @param stage 阶段
     * @param configIDSection 配置ID区间 
     */
    export function bindActivityStageFunc(func: ActivityStageHandler, stage: ActivityStage, configIDSection: ConfigIDSection){
        // ...
    }
  1. 在需要的位置添加活动,调用addActivity方法添加。
  2. 在游戏中的登录、整点等位置调用checkActivitys方法检查所有活动。活动会调用对应阶段对应类型区间的处理函数进行处理。
  3. 活动的状态机如下: 活动状态
1.0.6

9 months ago

1.0.5

11 months ago

1.0.4

11 months ago

1.0.3

12 months ago

1.0.2

12 months ago

1.0.1

12 months ago

1.0.0

1 year ago

1.0.13

1 year ago

1.0.12

1 year ago

1.0.11

1 year ago

1.0.10

1 year ago

1.0.9

1 year ago

1.0.8

1 year ago

1.0.7

1 year ago