Browse Source

Merge pull request #62 from DragonAura/dev

feat(proto):  add game state enum
tags/0.1.0
TCL GitHub 2 years ago
parent
commit
2c3e17ea18
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 163 additions and 47 deletions
  1. +54
    -15
      CAPI/proto/Message2Clients.pb.cc
  2. +36
    -0
      CAPI/proto/Message2Clients.pb.h
  3. +24
    -3
      CAPI/proto/MessageType.pb.cc
  4. +40
    -0
      CAPI/proto/MessageType.pb.h
  5. +1
    -0
      dependency/proto/Message2Clients.proto
  6. +8
    -29
      dependency/proto/MessageType.proto

+ 54
- 15
CAPI/proto/Message2Clients.pb.cc View File

@@ -158,7 +158,7 @@ namespace protobuf
::_pbi::ConstantInitialized
) :
_impl_{
/*decltype(_impl_.human_message_)*/ {}, /*decltype(_impl_.butcher_message_)*/ {}, /*decltype(_impl_.prop_message_)*/ {}, /*decltype(_impl_.map_message_)*/ nullptr, /*decltype(_impl_._cached_size_)*/ {}}
/*decltype(_impl_.human_message_)*/ {}, /*decltype(_impl_.butcher_message_)*/ {}, /*decltype(_impl_.prop_message_)*/ {}, /*decltype(_impl_.map_message_)*/ nullptr, /*decltype(_impl_.game_state_)*/ 0, /*decltype(_impl_._cached_size_)*/ {}}
{
}
struct MessageToClientDefaultTypeInternal
@@ -340,6 +340,7 @@ const uint32_t TableStruct_Message2Clients_2eproto::offsets[] PROTOBUF_SECTION_V
PROTOBUF_FIELD_OFFSET(::protobuf::MessageToClient, _impl_.butcher_message_),
PROTOBUF_FIELD_OFFSET(::protobuf::MessageToClient, _impl_.prop_message_),
PROTOBUF_FIELD_OFFSET(::protobuf::MessageToClient, _impl_.map_message_),
PROTOBUF_FIELD_OFFSET(::protobuf::MessageToClient, _impl_.game_state_),
~0u, // no _has_bits_
PROTOBUF_FIELD_OFFSET(::protobuf::MoveRes, _internal_metadata_),
~0u, // no _extensions_
@@ -374,9 +375,9 @@ static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protode
{68, -1, -1, sizeof(::protobuf::MessageOfMap_Row)},
{75, -1, -1, sizeof(::protobuf::MessageOfMap)},
{82, -1, -1, sizeof(::protobuf::MessageToClient)},
{92, -1, -1, sizeof(::protobuf::MoveRes)},
{101, -1, -1, sizeof(::protobuf::BoolRes)},
{108, -1, -1, sizeof(::protobuf::MsgRes)},
{93, -1, -1, sizeof(::protobuf::MoveRes)},
{102, -1, -1, sizeof(::protobuf::BoolRes)},
{109, -1, -1, sizeof(::protobuf::MsgRes)},
};

static const ::_pb::Message* const file_default_instances[] = {
@@ -423,18 +424,19 @@ const char descriptor_table_protodef_Message2Clients_2eproto[] PROTOBUF_SECTION_
"\t\n\001y\030\003 \001(\005\022\030\n\020facing_direction\030\004 \001(\001\022\022\n\n"
"mapping_id\030\005 \001(\003\"`\n\014MessageOfMap\022\'\n\003row\030"
"\002 \003(\0132\032.protobuf.MessageOfMap.Row\032\'\n\003Row"
"\022 \n\003col\030\001 \003(\0162\023.protobuf.PlaceType\"\323\001\n\017M"
"\022 \n\003col\030\001 \003(\0162\023.protobuf.PlaceType\"\374\001\n\017M"
"essageToClient\022/\n\rhuman_message\030\001 \003(\0132\030."
"protobuf.MessageOfHuman\0223\n\017butcher_messa"
"ge\030\002 \003(\0132\032.protobuf.MessageOfButcher\022-\n\014"
"prop_message\030\003 \003(\0132\027.protobuf.MessageOfP"
"rop\022+\n\013map_message\030\004 \001(\0132\026.protobuf.Mess"
"ageOfMap\"J\n\007MoveRes\022\024\n\014actual_speed\030\001 \001("
"\003\022\024\n\014actual_angle\030\002 \001(\001\022\023\n\013act_success\030\003"
" \001(\010\"\036\n\007BoolRes\022\023\n\013act_success\030\001 \001(\010\"P\n\006"
"MsgRes\022\024\n\014have_message\030\001 \001(\010\022\026\n\016from_pla"
"yer_id\030\002 \001(\003\022\030\n\020message_received\030\003 \001(\tb\006"
"proto3";
"ageOfMap\022\'\n\ngame_state\030\005 \001(\0162\023.protobuf."
"GameState\"J\n\007MoveRes\022\024\n\014actual_speed\030\001 \001"
"(\003\022\024\n\014actual_angle\030\002 \001(\001\022\023\n\013act_success\030"
"\003 \001(\010\"\036\n\007BoolRes\022\023\n\013act_success\030\001 \001(\010\"P\n"
"\006MsgRes\022\024\n\014have_message\030\001 \001(\010\022\026\n\016from_pl"
"ayer_id\030\002 \001(\003\022\030\n\020message_received\030\003 \001(\tb"
"\006proto3";
static const ::_pbi::DescriptorTable* const descriptor_table_Message2Clients_2eproto_deps[1] = {
&::descriptor_table_MessageType_2eproto,
};
@@ -442,7 +444,7 @@ static ::_pbi::once_flag descriptor_table_Message2Clients_2eproto_once;
const ::_pbi::DescriptorTable descriptor_table_Message2Clients_2eproto = {
false,
false,
1646,
1687,
descriptor_table_protodef_Message2Clients_2eproto,
"Message2Clients.proto",
&descriptor_table_Message2Clients_2eproto_once,
@@ -3044,13 +3046,14 @@ namespace protobuf
MessageToClient* const _this = this;
(void)_this;
new (&_impl_) Impl_{
decltype(_impl_.human_message_){from._impl_.human_message_}, decltype(_impl_.butcher_message_){from._impl_.butcher_message_}, decltype(_impl_.prop_message_){from._impl_.prop_message_}, decltype(_impl_.map_message_){nullptr}, /*decltype(_impl_._cached_size_)*/ {}};
decltype(_impl_.human_message_){from._impl_.human_message_}, decltype(_impl_.butcher_message_){from._impl_.butcher_message_}, decltype(_impl_.prop_message_){from._impl_.prop_message_}, decltype(_impl_.map_message_){nullptr}, decltype(_impl_.game_state_){}, /*decltype(_impl_._cached_size_)*/ {}};

_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
if (from._internal_has_map_message())
{
_this->_impl_.map_message_ = new ::protobuf::MessageOfMap(*from._impl_.map_message_);
}
_this->_impl_.game_state_ = from._impl_.game_state_;
// @@protoc_insertion_point(copy_constructor:protobuf.MessageToClient)
}

@@ -3061,7 +3064,7 @@ namespace protobuf
(void)arena;
(void)is_message_owned;
new (&_impl_) Impl_{
decltype(_impl_.human_message_){arena}, decltype(_impl_.butcher_message_){arena}, decltype(_impl_.prop_message_){arena}, decltype(_impl_.map_message_){nullptr}, /*decltype(_impl_._cached_size_)*/ {}};
decltype(_impl_.human_message_){arena}, decltype(_impl_.butcher_message_){arena}, decltype(_impl_.prop_message_){arena}, decltype(_impl_.map_message_){nullptr}, decltype(_impl_.game_state_){0}, /*decltype(_impl_._cached_size_)*/ {}};
}

MessageToClient::~MessageToClient()
@@ -3105,6 +3108,7 @@ namespace protobuf
delete _impl_.map_message_;
}
_impl_.map_message_ = nullptr;
_impl_.game_state_ = 0;
_internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

@@ -3180,6 +3184,17 @@ namespace protobuf
else
goto handle_unusual;
continue;
// .protobuf.GameState game_state = 5;
case 5:
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 40))
{
uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
CHK_(ptr);
_internal_set_game_state(static_cast<::protobuf::GameState>(val));
}
else
goto handle_unusual;
continue;
default:
goto handle_unusual;
} // switch
@@ -3254,6 +3269,15 @@ namespace protobuf
InternalWriteMessage(4, _Internal::map_message(this), _Internal::map_message(this).GetCachedSize(), target, stream);
}

// .protobuf.GameState game_state = 5;
if (this->_internal_game_state() != 0)
{
target = stream->EnsureSpace(target);
target = ::_pbi::WireFormatLite::WriteEnumToArray(
5, this->_internal_game_state(), target
);
}

if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields()))
{
target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
@@ -3306,6 +3330,13 @@ namespace protobuf
);
}

// .protobuf.GameState game_state = 5;
if (this->_internal_game_state() != 0)
{
total_size += 1 +
::_pbi::WireFormatLite::EnumSize(this->_internal_game_state());
}

return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

@@ -3335,6 +3366,10 @@ namespace protobuf
from._internal_map_message()
);
}
if (from._internal_game_state() != 0)
{
_this->_internal_set_game_state(from._internal_game_state());
}
_this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

@@ -3359,7 +3394,11 @@ namespace protobuf
_impl_.human_message_.InternalSwap(&other->_impl_.human_message_);
_impl_.butcher_message_.InternalSwap(&other->_impl_.butcher_message_);
_impl_.prop_message_.InternalSwap(&other->_impl_.prop_message_);
swap(_impl_.map_message_, other->_impl_.map_message_);
::PROTOBUF_NAMESPACE_ID::internal::memswap<
PROTOBUF_FIELD_OFFSET(MessageToClient, _impl_.game_state_) + sizeof(MessageToClient::_impl_.game_state_) - PROTOBUF_FIELD_OFFSET(MessageToClient, _impl_.map_message_)>(
reinterpret_cast<char*>(&_impl_.map_message_),
reinterpret_cast<char*>(&other->_impl_.map_message_)
);
}

::PROTOBUF_NAMESPACE_ID::Metadata MessageToClient::GetMetadata() const


+ 36
- 0
CAPI/proto/Message2Clients.pb.h View File

@@ -1951,6 +1951,7 @@ namespace protobuf
kButcherMessageFieldNumber = 2,
kPropMessageFieldNumber = 3,
kMapMessageFieldNumber = 4,
kGameStateFieldNumber = 5,
};
// repeated .protobuf.MessageOfHuman human_message = 1;
int human_message_size() const;
@@ -2041,6 +2042,16 @@ namespace protobuf
);
::protobuf::MessageOfMap* unsafe_arena_release_map_message();

// .protobuf.GameState game_state = 5;
void clear_game_state();
::protobuf::GameState game_state() const;
void set_game_state(::protobuf::GameState value);

private:
::protobuf::GameState _internal_game_state() const;
void _internal_set_game_state(::protobuf::GameState value);

public:
// @@protoc_insertion_point(class_scope:protobuf.MessageToClient)

private:
@@ -2056,6 +2067,7 @@ namespace protobuf
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::protobuf::MessageOfButcher> butcher_message_;
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::protobuf::MessageOfProp> prop_message_;
::protobuf::MessageOfMap* map_message_;
int game_state_;
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
};
union
@@ -4208,6 +4220,30 @@ namespace protobuf
// @@protoc_insertion_point(field_set_allocated:protobuf.MessageToClient.map_message)
}

// .protobuf.GameState game_state = 5;
inline void MessageToClient::clear_game_state()
{
_impl_.game_state_ = 0;
}
inline ::protobuf::GameState MessageToClient::_internal_game_state() const
{
return static_cast<::protobuf::GameState>(_impl_.game_state_);
}
inline ::protobuf::GameState MessageToClient::game_state() const
{
// @@protoc_insertion_point(field_get:protobuf.MessageToClient.game_state)
return _internal_game_state();
}
inline void MessageToClient::_internal_set_game_state(::protobuf::GameState value)
{
_impl_.game_state_ = value;
}
inline void MessageToClient::set_game_state(::protobuf::GameState value)
{
_internal_set_game_state(value);
// @@protoc_insertion_point(field_set:protobuf.MessageToClient.game_state)
}

// -------------------------------------------------------------------

// MoveRes


+ 24
- 3
CAPI/proto/MessageType.pb.cc View File

@@ -23,7 +23,7 @@ namespace _pbi = _pb::internal;
namespace protobuf
{
} // namespace protobuf
static const ::_pb::EnumDescriptor* file_level_enum_descriptors_MessageType_2eproto[9];
static const ::_pb::EnumDescriptor* file_level_enum_descriptors_MessageType_2eproto[10];
static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_MessageType_2eproto = nullptr;
const uint32_t TableStruct_MessageType_2eproto::offsets[1] = {};
static constexpr ::_pbi::MigrationSchema* schemas = nullptr;
@@ -51,12 +51,14 @@ const char descriptor_table_protodef_MessageType_2eproto[] PROTOBUF_SECTION_VARI
"\020\003\022\016\n\nHUMANTYPE4\020\004*l\n\013ButcherType\022\025\n\021NUL"
"L_BUTCHER_TYPE\020\000\022\020\n\014BUTCHERTYPE1\020\001\022\020\n\014BU"
"TCHERTYPE2\020\002\022\020\n\014BUTCHERTYPE3\020\003\022\020\n\014BUTCHE"
"RTYPE4\020\004b\006proto3";
"RTYPE4\020\004*P\n\tGameState\022\023\n\017NULL_GAME_STATE"
"\020\000\022\016\n\nGAME_START\020\001\022\020\n\014GAME_RUNNING\020\002\022\014\n\010"
"GAME_END\020\003b\006proto3";
static ::_pbi::once_flag descriptor_table_MessageType_2eproto_once;
const ::_pbi::DescriptorTable descriptor_table_MessageType_2eproto = {
false,
false,
856,
938,
descriptor_table_protodef_MessageType_2eproto,
"MessageType.proto",
&descriptor_table_MessageType_2eproto_once,
@@ -258,6 +260,25 @@ namespace protobuf
}
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* GameState_descriptor()
{
::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_MessageType_2eproto);
return file_level_enum_descriptors_MessageType_2eproto[9];
}
bool GameState_IsValid(int value)
{
switch (value)
{
case 0:
case 1:
case 2:
case 3:
return true;
default:
return false;
}
}

// @@protoc_insertion_point(namespace_scope)
} // namespace protobuf
PROTOBUF_NAMESPACE_OPEN


+ 40
- 0
CAPI/proto/MessageType.pb.h View File

@@ -337,6 +337,37 @@ namespace protobuf
ButcherType_descriptor(), name, value
);
}
enum GameState : int
{
NULL_GAME_STATE = 0,
GAME_START = 1,
GAME_RUNNING = 2,
GAME_END = 3,
GameState_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<int32_t>::min(),
GameState_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<int32_t>::max()
};
bool GameState_IsValid(int value);
constexpr GameState GameState_MIN = NULL_GAME_STATE;
constexpr GameState GameState_MAX = GAME_END;
constexpr int GameState_ARRAYSIZE = GameState_MAX + 1;

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* GameState_descriptor();
template<typename T>
inline const std::string& GameState_Name(T enum_t_value)
{
static_assert(::std::is_same<T, GameState>::value || ::std::is_integral<T>::value, "Incorrect type passed to function GameState_Name.");
return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
GameState_descriptor(), enum_t_value
);
}
inline bool GameState_Parse(
::PROTOBUF_NAMESPACE_ID::ConstStringParam name, GameState* value
)
{
return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<GameState>(
GameState_descriptor(), name, value
);
}
// ===================================================================

// ===================================================================
@@ -438,6 +469,15 @@ inline const EnumDescriptor* GetEnumDescriptor<::protobuf::ButcherType>()
{
return ::protobuf::ButcherType_descriptor();
}
template<>
struct is_proto_enum<::protobuf::GameState> : ::std::true_type
{
};
template<>
inline const EnumDescriptor* GetEnumDescriptor<::protobuf::GameState>()
{
return ::protobuf::GameState_descriptor();
}

PROTOBUF_NAMESPACE_CLOSE



+ 1
- 0
dependency/proto/Message2Clients.proto View File

@@ -79,6 +79,7 @@ message MessageToClient
repeated MessageOfButcher butcher_message = 2; // 是否真正repeated待定
repeated MessageOfProp prop_message = 3;
MessageOfMap map_message = 4;
GameState game_state = 5;
}

message MoveRes // 如果打算设计撞墙保留平行速度分量,且需要返回值则可用这个(大概没啥用)


+ 8
- 29
dependency/proto/MessageType.proto View File

@@ -89,32 +89,11 @@ enum ButcherType
BUTCHERTYPE4 = 4;
}

// 取消了大包之后,MessageType的枚举是否有必要保留还有待商榷
// enum MessageType
// {
// // 公共信息类型
// Move = 0;
// PickProp = 1;
// UseProp = 2;
// UseSkill = 3;
// Map = 4;
// Send = 5;

// // 人类限定信息类型
// FixMachine = 6;
// SaveHuman = 7;

// // 屠夫限定信息类型
// Attack = 8;
// CarryHuman = 9;
// ReleaseHuman = 10;
// HangHuman = 11;

// // 游戏相关信息类型
// AddPlayer = 12;
// InvalidPlayer = 13;
// ValidPlayer = 14;
// StartGame = 15;
// Gaming = 16;
// EndGame = 17;
// }
// 游戏进行状态
enum GameState
{
NULL_GAME_STATE = 0;
GAME_START = 1;
GAME_RUNNING = 2;
GAME_END = 3;
}

Loading…
Cancel
Save