00001 /** 00002 * @file BehaviorTeamMessage.cpp 00003 * 00004 * Implementation of class BehaviorTeamMessage. 00005 * 00006 * @author Martin Loetzsch 00007 */ 00008 00009 #include "BehaviorTeamMessage.h" 00010 00011 BehaviorTeamMessage::BehaviorTeamMessage() : 00012 estimatedTimeToReachBall(1000), 00013 message(none), 00014 gameState(sleep), 00015 dynamicRole(striker), 00016 strikerCommand(noCommand) 00017 { 00018 //walkRequest.type = 0; 00019 //walkRequest.x = 0; 00020 //walkRequest.y = 0; 00021 //walkRequest.rotation = 0; 00022 //ocStatus = 0; 00023 numberOfTheChoosenPassPartner = 0; 00024 for (int i=0; i<numberOfStrikerCommandParameters; i++) 00025 { 00026 strikerCommandParameter[i]=0; 00027 } 00028 for(int i = 0; i< sizeofKickoff; ++i) 00029 estimatedTimeToReachKickoff[i] = 0.0; 00030 } 00031 00032 In& operator>>(In& stream,BehaviorTeamMessage& behaviorTeamMessage) 00033 { 00034 stream >> behaviorTeamMessage.estimatedTimeToReachBall; 00035 char a; 00036 stream >> a; 00037 behaviorTeamMessage.message = (BehaviorTeamMessage::Message)a; 00038 stream >> a; 00039 behaviorTeamMessage.gameState = (BehaviorTeamMessage::GameState)a; 00040 stream >> a; 00041 behaviorTeamMessage.dynamicRole = (BehaviorTeamMessage::DynamicRole)a; 00042 stream >> a; 00043 behaviorTeamMessage.strikerCommand = (BehaviorTeamMessage::StrikerCommand)a; 00044 00045 stream >> behaviorTeamMessage.numberOfTheChoosenPassPartner; 00046 //stream >> behaviorTeamMessage.walkRequest.type; 00047 //stream >> behaviorTeamMessage.walkRequest.x; 00048 //stream >> behaviorTeamMessage.walkRequest.y; 00049 //stream >> behaviorTeamMessage.walkRequest.rotation; 00050 // 00051 //stream >> behaviorTeamMessage.ocStatus; 00052 00053 for (int i=0; i<BehaviorTeamMessage::numberOfStrikerCommandParameters ; i++) 00054 { 00055 stream >> behaviorTeamMessage.strikerCommandParameter[i]; 00056 } 00057 for(int i = 0; i< BehaviorTeamMessage::sizeofKickoff; ++i) 00058 stream >> behaviorTeamMessage.estimatedTimeToReachKickoff[i]; 00059 00060 stream >> behaviorTeamMessage.timeSinceRoleChange; 00061 return stream; 00062 } 00063 00064 Out& operator<<(Out& stream, const BehaviorTeamMessage& behaviorTeamMessage) 00065 { 00066 stream << behaviorTeamMessage.estimatedTimeToReachBall 00067 << (char)behaviorTeamMessage.message 00068 << (char)behaviorTeamMessage.gameState 00069 << (char)behaviorTeamMessage.dynamicRole 00070 << (char)behaviorTeamMessage.strikerCommand; 00071 00072 stream << behaviorTeamMessage.numberOfTheChoosenPassPartner; 00073 //stream << behaviorTeamMessage.walkRequest.type; 00074 //stream << behaviorTeamMessage.walkRequest.x; 00075 //stream << behaviorTeamMessage.walkRequest.y; 00076 //stream << behaviorTeamMessage.walkRequest.rotation; 00077 00078 //stream << behaviorTeamMessage.ocStatus; 00079 for (int i=0; i<BehaviorTeamMessage::numberOfStrikerCommandParameters ; i++) 00080 { 00081 stream << behaviorTeamMessage.strikerCommandParameter[i]; 00082 } 00083 for(int i = 0; i< BehaviorTeamMessage::sizeofKickoff; ++i) 00084 stream << behaviorTeamMessage.estimatedTimeToReachKickoff[i]; 00085 stream << behaviorTeamMessage.timeSinceRoleChange; 00086 return stream; 00087 }
1.3.6