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 // 等待驻城部队为空时 )