| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272 |
- package enum
- import "f1-game/internal/pb"
- // 地块对象类型
- type ObjectType int32
- const (
- ObjectType_Player ObjectType = 0 // 玩家(作为观察者,不会出现在地图上)
- ObjectType_Tile ObjectType = 1 // 地块
- ObjectType_Castle ObjectType = 2 // 城池
- ObjectType_Build ObjectType = 3 // 建筑
- ObjectType_March ObjectType = 4 // 行军对象
- ObjectType_Monster ObjectType = 5 // 怪物
- ObjectType_Res ObjectType = 6 // 资源
- ObjectType_Legion ObjectType = 7 // 军团
- ObjectType_Machine ObjectType = 8 // 器械
- ObjectType_ArmyLine ObjectType = 9 // 军情线
- )
- const (
- ObjectType_Unknow = "Unkonw" // 未知
- )
- var (
- objectTypeName = map[ObjectType]string{
- ObjectType_Player: "Player",
- ObjectType_Tile: "Tile",
- ObjectType_Castle: "Castle",
- ObjectType_Build: "Build",
- ObjectType_March: "March",
- ObjectType_Monster: "Monster",
- ObjectType_Res: "Res",
- ObjectType_Legion: "Legion",
- ObjectType_Machine: "Machine",
- ObjectType_ArmyLine: "ArmyLine",
- }
- marchTypeName = map[MarchType]string{
- MarchType_Stay: "Stay",
- MarchType_Occupy: "Occupy",
- MarchType_Crucade: "Attack",
- MarchType_Garrison: "Garrison",
- MarchType_Siege: "Siege",
- MarchType_Redeploy: "Redeploy",
- MarchType_Retreat: "Retreat",
- MarchType_Assemble: "Assemble",
- MarchType_Entrust: "Entrust",
- MarchType_LegionAssemble: "LegionAssemble",
- }
- )
- func GetObjectTypeName(objectType ObjectType) string {
- if val, found := objectTypeName[objectType]; found {
- return val
- }
- return ObjectType_Unknow
- }
- func GetMarchTypeName(marchType MarchType) string {
- if val, found := marchTypeName[marchType]; found {
- return val
- }
- return "unknown"
- }
- // 行军类型
- type MarchType int32
- const (
- MarchType_Unknow MarchType = 0 // 未知
- MarchType_Stay MarchType = 1 // 行军-停留
- MarchType_Occupy MarchType = 2 // 行军-占领
- MarchType_Crucade MarchType = 3 // 行军-讨伐
- MarchType_Garrison MarchType = 4 // 行军-驻守
- MarchType_Siege MarchType = 7 // 行军-攻城
- MarchType_Redeploy MarchType = 8 // 行军-调动
- MarchType_Retreat MarchType = 9 // 行军-撤退
- MarchType_Assemble MarchType = 10 // 行军-集结(指令用于部队行军之后加入军团)
- MarchType_Entrust MarchType = 11 // 行军-委托
- MarchType_Snatch MarchType = 12 // 行军-掠夺
- MarchType_SiegeAssemble MarchType = 13 // 行军-攻城集结
- MarchType_LegionAssemble MarchType = 14 // 行军-军团集结(指令用军团行军到集结对象并发生战斗)
- )
- func IsNotAllowMarchType(marchType MarchType) bool {
- return marchType == MarchType_Retreat
- }
- // 撤退类型
- type RetreatType int32
- const (
- RetreatType_Retreat RetreatType = 0 // 撤退
- RetreatType_Rout RetreatType = 1 // 溃败
- RetreatType_Must RetreatType = 2 // 必定回城
- )
- func GetRetreatMarchState(retreatType RetreatType) MarchState {
- switch retreatType {
- case RetreatType_Rout:
- // 溃败返回溃败状态
- return MarchState_Rout
- }
- // 其他返回正常回城状态
- return MarchState_Retreat
- }
- // 自动攻城阶段
- type AutoSiegeStage int32
- const (
- AutoSiegeStage_None AutoSiegeStage = 0 // 无
- AutoSiegeStage_Wait AutoSiegeStage = 1 // 等待
- AutoSiegeStage_MainForce AutoSiegeStage = 2 // 主力出击
- AutoSiegeStage_SiegeSquad AutoSiegeStage = 3 // 拆迁队出击
- AutoSiegeStage_Siege AutoSiegeStage = 4 // 攻城
- )
- // 攻破类型
- type DestroyType int32
- const (
- DestroyType_None DestroyType = 0 // 无,属于殊特建筑,走特殊逻辑
- DestroyType_Remove DestroyType = 1 // 拆除
- DestroyType_Occupy DestroyType = 2 // 占领
- )
- // 建造类型
- type BuildType int32
- const (
- BuildType_None BuildType = 0 // 不可建造
- BuildType_League BuildType = 1 // 联盟可建造
- BuildType_Player BuildType = 2 // 玩家可建造
- )
- // 军团类型
- type LegionType int32
- const (
- LegionType_None LegionType = 0
- LegionType_Assemble LegionType = 1 // 集结军团
- LegionType_Entrust LegionType = 2 // 委托军团
- )
- // 军团状态
- type LegionState int32
- const (
- LegionState_None LegionState = 0 // 无
- LegionState_AssembleWait LegionState = 1 // 集结等待
- LegionState_AssembleFinish LegionState = 2 // 集结完成
- LegionState_AssembleMarch LegionState = 3 // 集结行军
- LegionState_BattleWait LegionState = 5 // 战斗等待
- LegionState_Crusade LegionState = 6 // 讨伐
- LegionState_Siege LegionState = 7 // 攻城
- )
- func GetLegionStateName(state LegionState) string {
- switch state {
- case LegionState_None:
- return "None"
- case LegionState_AssembleWait:
- return "AssembleWait"
- case LegionState_AssembleFinish:
- return "AssembleFinish"
- case LegionState_AssembleMarch:
- return "AssembleMarch"
- }
- return "Unknown"
- }
- // 领土类型
- type TileAreaType int32
- const (
- TileArea_None TileAreaType = 0 // 无主领地
- TileArea_System TileAreaType = 1 // 系统领地
- TileArea_League TileAreaType = 2 // 联盟领地
- )
- func NewObject(objectID int64, objectType ObjectType) *pb.I64I32 {
- return &pb.I64I32{
- Key: objectID,
- Value: int32(objectType),
- }
- }
- const (
- CampIndex_Start int32 = 1 // 营帐下标开始
- CampIndex_End int32 = 5 // 营帐下标结束
- )
- // 主城外观激活类型
- const (
- ShowActiveType_Facility int32 = 1 // 城建升级激活
- ShowActiveType_Item int32 = 2 // 道具激活
- )
- const (
- CitySubType_Other int32 = 0 // 其他
- CitySubType_County int32 = 1 // 县城
- CitySubType_Commandery int32 = 2 // 郡城
- CitySubType_StateCapital int32 = 3 // 州府
- )
- // 资源更新类型
- type ResUpdateType int32
- const (
- ResUpdate_Delete ResUpdateType = 0 // 删除
- ResUpdate_InLeagueArea ResUpdateType = 1 // 是否在联盟领地
- )
- // 加固阶段
- type ReinforceStage int32
- const (
- ReinforceStage_None ReinforceStage = 0 // 无
- ReinforceStage_Prepare ReinforceStage = 1 // 准备
- ReinforceStage_Effect ReinforceStage = 2 // 生效
- )
- var ReinforceStageNames = map[ReinforceStage]string{
- ReinforceStage_None: "None",
- ReinforceStage_Prepare: "Prepare",
- ReinforceStage_Effect: "Effect",
- }
- func GetReinforceStageName(stage ReinforceStage) string {
- return ReinforceStageNames[stage]
- }
- type AutoMarchStage int32
- const (
- AutoMarch_None AutoMarchStage = 0 // 无
- AutoMarch_Start AutoMarchStage = 1 // 开始
- AutoMarch_Wait AutoMarchStage = 2 // 等待
- AutoMarch_Process AutoMarchStage = 3 // 进行中
- )
- var autoMarchStageNames = map[AutoMarchStage]string{
- AutoMarch_None: "None",
- AutoMarch_Start: "Start",
- AutoMarch_Wait: "Wait",
- AutoMarch_Process: "Process",
- }
- func GetAutoMarchStageName(stage AutoMarchStage) string {
- return autoMarchStageNames[stage]
- }
- // 多重寻路类型
- type FindMultiPathType int32
- const (
- FindMultiPath_AllSuccess FindMultiPathType = 0 // 所有请求成功返回
- FindMultiPath_AnySuccess FindMultiPathType = 1 // 任意寻路成功返回
- FindMultiPath_SuccessOnly FindMultiPathType = 2 // 只返回成功路径
- )
- type AutoMarchType int32
- const (
- AutoMarch_WaitTimeout AutoMarchType = 0 // 等待超时
- AutoMarch_WaitGarrisionZero AutoMarchType = 1 // 等待驻城部队为空时
- )
|