81 lines
2.9 KiB
TypeScript
81 lines
2.9 KiB
TypeScript
|
||
import { _decorator, Vec3 } from 'cc';
|
||
|
||
/**
|
||
* Predefined variables
|
||
* Name = GameState
|
||
* DateTime = Wed Sep 01 2021 11:40:25 GMT+0800 (中国标准时间)
|
||
* Author = yanli.huang
|
||
* FileBasename = GameState.ts
|
||
* FileBasenameNoExtension = GameState
|
||
* URL = db://assets/script/fight/GameState.ts
|
||
* ManualUrl = https://docs.cocos.com/creator/3.3/manual/zh/
|
||
*
|
||
*/
|
||
export enum PropType { //道具类型
|
||
NULL = 0,
|
||
COIN = 1, //金币
|
||
HAMMER = 2, //锤头
|
||
// IS_HAMMER = 2, //锤头
|
||
RAINING_COIN = 3, //金币雨
|
||
HAMMER_ED = 4, //被锤头攻击
|
||
}
|
||
|
||
export interface Channel{
|
||
openId: string, //玩家渠道id
|
||
name: string, //玩家昵称
|
||
headUrl: string, //玩家头像
|
||
state: number, //玩家状态
|
||
delayTime: number //延迟时间
|
||
}
|
||
|
||
export interface Player{ //道具信息
|
||
playId:number,
|
||
id: number, //道具信息
|
||
channel: Channel, //玩家渠道信息
|
||
position: Vec3, //玩家位置
|
||
eulerAngles: Vec3, //玩家旋转信息
|
||
score: number, //玩家积分
|
||
isShowReward: boolean,//是否奖励20个金币
|
||
isScoreLead: boolean,//是否分数领先
|
||
attackPos: Vec3 | null, //攻击位置
|
||
attackId: number, //攻击玩家id
|
||
attackPropType: PropType,//攻击的道具类型
|
||
hammerCount: number, //锤子可击打次数
|
||
dizzyTime: number, //眩晕时间
|
||
dizzyOverTime: number,//被榴莲或者锤子击中后眩晕结束时间(frameTime大于这个玩家才能移动)
|
||
moveX:number, // 手柄左右方向
|
||
moveY:number // 手柄上下方向
|
||
}
|
||
|
||
export interface Prop{ //道具信息
|
||
id: number, //道具id
|
||
position: Vec3,//道具位置
|
||
dropPosition: Vec3,//金币道具掉落位置
|
||
scale: number,//道具大小
|
||
exist: boolean,//是否展示
|
||
type: PropType,//道具类型
|
||
removed: boolean, // 移除
|
||
}
|
||
|
||
export interface GameState{
|
||
id: number, //逻辑帧标示符
|
||
time: number,//剩余时间
|
||
frameTime: number,//当前帧的时间
|
||
props: Array<Prop>,//道具信息
|
||
players: Array<Player>,//玩家信息
|
||
createHammerTime: number,//创建锤头的时间
|
||
createCoinTime: number, //创建金币的时间
|
||
}
|
||
|
||
/**
|
||
* [1] Class member could be defined like this.
|
||
* [2] Use `property` decorator if your want the member to be serializable.
|
||
* [3] Your initialization goes here.
|
||
* [4] Your update function goes here.
|
||
*
|
||
* Learn more about scripting: https://docs.cocos.com/creator/3.3/manual/zh/scripting/
|
||
* Learn more about CCClass: https://docs.cocos.com/creator/3.3/manual/zh/scripting/ccclass.html
|
||
* Learn more about life-cycle callbacks: https://docs.cocos.com/creator/3.3/manual/zh/scripting/life-cycle-callbacks.html
|
||
*/
|