From: Andrew C. <ac...@us...> - 2003-12-14 09:45:24
|
Update of /cvsroot/planeshift/planeshift/src/client/gui In directory sc8-pr-cvs1:/tmp/cvs-serv15111/src/client/gui Modified Files: pawsinfowindow.cpp pawsinfowindow.h pawsinteractwindow.cpp psmainwidget.cpp psmainwidget.h Log Message: Some more reorganization of GEM objects on client Index: pawsinfowindow.cpp =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/client/gui/pawsinfowindow.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** pawsinfowindow.cpp 7 Nov 2003 06:44:39 -0000 1.1 --- pawsinfowindow.cpp 14 Dec 2003 02:52:59 -0000 1.2 *************** *** 62,68 **** SCF_CONSTRUCT_IBASE(0); targetName = NULL; ! targetedEntity = NULL; ! mainCharData = NULL; ! targetData = NULL; } --- 62,67 ---- SCF_CONSTRUCT_IBASE(0); targetName = NULL; ! target = NULL; ! player = NULL; } *************** *** 73,91 **** void pawsInfoWindow::Draw() { ! csRef<iPSEngine> psengine; ! ! psengine = CS_QUERY_REGISTRY(windowManager->GetObjectRegistry(), iPSEngine); ! ! csRef<iCelEntity> actor = psengine->GetCelClient()->GetMainActor(); ! ! csRef<iPcLinearMovement> movement; ! movement = CEL_QUERY_PROPCLASS(actor->GetPropertyClassList(), ! iPcLinearMovement); ! csVector3 pos; float yRot; iSector* sectorPos; ! movement->GetLastPosition (pos,yRot,sectorPos); char buffer[32]; sprintf(buffer, "%1.2f, %1.2f, %1.2f", pos.x, pos.y, pos.z ); --- 72,86 ---- void pawsInfoWindow::Draw() { ! if ( player == NULL ) ! { ! csRef<iPSEngine> psengine = CS_QUERY_REGISTRY( windowManager->GetObjectRegistry(), iPSEngine ); ! player = psengine->GetCelClient()->GetMainPlayer(); ! } ! csVector3 pos; float yRot; iSector* sectorPos; ! player->pcmove->GetLastPosition (pos,yRot,sectorPos); char buffer[32]; sprintf(buffer, "%1.2f, %1.2f, %1.2f", pos.x, pos.y, pos.z ); *************** *** 93,127 **** sector->SetText( sectorPos->QueryObject()->GetName() ); ! if (mainCharData) { ! mainCharData->UpdateStatDRData(csGetTicks()); char buff[10]; ! main_hp->SetCurrentValue( mainCharData->GetHP() ); ! sprintf(buff,"%1.0f%%",mainCharData->GetHP()*100 ); main_hp_pct->SetText( buff); ! main_mana->SetCurrentValue( mainCharData->GetMana() ); ! sprintf(buff,"%1.0f%%",mainCharData->GetMana()*100 ); main_mana_pct->SetText( buff); ! main_fatigue->SetCurrentValue( mainCharData->GetFatigue() ); ! sprintf(buff,"%1.0f%%",mainCharData->GetFatigue()*100 ); main_fatigue_pct->SetText( buff); ! main_experience->SetCurrentValue( mainCharData->GetExperiencePoints()/200.0 ); ! sprintf(buff,"%1.0f%%",mainCharData->GetExperiencePoints()/2.0 ); main_experience_pct->SetText( buff ); ! sprintf(buff,"%d",mainCharData->GetProgressionPoints() ); main_progression->SetText( buff ); } ! if (targetData) { ! targetData->UpdateStatDRData(csGetTicks()); ! char buff[10]; ! target_hp->SetCurrentValue( targetData->GetHP() ); ! sprintf(buff,"%1.0f%%",targetData->GetHP()*100 ); ! target_hp_pct->SetText( buff); } else --- 88,126 ---- sector->SetText( sectorPos->QueryObject()->GetName() ); ! if ( player->pcdata ) { ! player->pcdata->UpdateStatDRData(csGetTicks()); char buff[10]; ! main_hp->SetCurrentValue( player->pcdata->GetHP() ); ! sprintf(buff,"%1.0f%%",player->pcdata->GetHP()*100 ); main_hp_pct->SetText( buff); ! main_mana->SetCurrentValue( player->pcdata->GetMana() ); ! sprintf(buff,"%1.0f%%",player->pcdata->GetMana()*100 ); main_mana_pct->SetText( buff); ! main_fatigue->SetCurrentValue( player->pcdata->GetFatigue() ); ! sprintf(buff,"%1.0f%%",player->pcdata->GetFatigue()*100 ); main_fatigue_pct->SetText( buff); ! main_experience->SetCurrentValue( player->pcdata->GetExperiencePoints()/200.0 ); ! sprintf(buff,"%1.0f%%",player->pcdata->GetExperiencePoints()/2.0 ); main_experience_pct->SetText( buff ); ! sprintf(buff,"%d",player->pcdata->GetProgressionPoints() ); main_progression->SetText( buff ); } ! if (target) { ! if ( target->GetType() != -2 ) ! { ! GEMClientActor * actor = dynamic_cast<GEMClientActor*>(target); ! actor->pcdata->UpdateStatDRData(csGetTicks()); ! char buff[10]; ! target_hp->SetCurrentValue( actor->pcdata->GetHP() ); ! sprintf(buff,"%1.0f%%",actor->pcdata->GetHP()*100 ); ! target_hp_pct->SetText( buff); ! } } else *************** *** 217,236 **** } ! void pawsInfoWindow::SetTarget( iCelEntity* entity ) { ! targetedEntity = entity; ! if ( targetedEntity ) { ! targetName->SetText( targetedEntity->GetName() ); ! ! csRef<iPcCharacterData> charData = ! CEL_QUERY_PROPCLASS (entity->GetPropertyClassList(), iPcCharacterData); ! ! targetData = charData; } else { targetName->SetText(" "); ! targetData = NULL; } } --- 216,230 ---- } ! void pawsInfoWindow::SetTarget( GEMClientObject* object ) { ! target = object; ! if ( target ) { ! targetName->SetText( target->GetName() ); } else { targetName->SetText(" "); ! target = NULL; } } *************** *** 244,249 **** csRef<iPSEngine> psengine = CS_QUERY_REGISTRY( windowManager->GetObjectRegistry(), iPSEngine ); ! iCelEntity* targetEntity = psengine->GetCelClient()->GetNetPersist()->GetMappedEntity(targetID); ! SetTarget( targetEntity ); } --- 238,243 ---- csRef<iPSEngine> psengine = CS_QUERY_REGISTRY( windowManager->GetObjectRegistry(), iPSEngine ); ! GEMClientObject* target = psengine->GetCelClient()->FindObject(incomming.targetID); ! SetTarget( target ); } Index: pawsinfowindow.h =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/client/gui/pawsinfowindow.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** pawsinfowindow.h 7 Nov 2003 06:44:39 -0000 1.1 --- pawsinfowindow.h 14 Dec 2003 02:52:59 -0000 1.2 *************** *** 45,55 **** virtual void Draw(); bool PostSetup(); ! void SetTarget( iCelEntity* entity ); ! iCelEntity* GetTarget() { return targetedEntity; } void HandleMessage( MsgEntry* me ); ! void SetMainCharData(iPcCharacterData *chardata) ! { mainCharData = chardata; } void SetTime( int time ); --- 45,55 ---- virtual void Draw(); bool PostSetup(); ! void SetTarget( GEMClientObject* target ); ! GEMClientObject* GetTarget() { return target; } void HandleMessage( MsgEntry* me ); ! void SetMainActor(GEMClientActor* actor) ! { player = actor; } void SetTime( int time ); *************** *** 75,80 **** pawsTextBox *kFactorPct; ! csRef<iCelEntity> targetedEntity; ! iPcCharacterData *mainCharData,*targetData; pawsTextBox* timeOfDay; --- 75,81 ---- pawsTextBox *kFactorPct; ! ! GEMClientActor* player; ! GEMClientObject* target; pawsTextBox* timeOfDay; Index: pawsinteractwindow.cpp =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/client/gui/pawsinteractwindow.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** pawsinteractwindow.cpp 13 Dec 2003 23:50:39 -0000 1.2 --- pawsinteractwindow.cpp 14 Dec 2003 02:52:59 -0000 1.3 *************** *** 175,184 **** case INTERACT_EXAMINE: { ! iCelEntity* entity = ((pawsInfoWindow*)psengine->GetPAWS()->FindWidget("InfoWindow"))->GetTarget(); ! if ( !entity ) return false; // Find entity id ! CS_ID id = entity->GetID(); // Send message to server --- 175,184 ---- case INTERACT_EXAMINE: { ! GEMClientObject* object = ((pawsInfoWindow*)psengine->GetPAWS()->FindWidget("InfoWindow"))->GetTarget(); ! if ( !object ) return false; // Find entity id ! CS_ID id = object->GetEntity()->GetID(); // Send message to server *************** *** 194,199 **** case INTERACT_PICKUP: { ! iCelEntity* entity = ((pawsInfoWindow*)psengine->GetPAWS()->FindWidget("InfoWindow"))->GetTarget(); ! if (!entity) return false; --- 194,199 ---- case INTERACT_PICKUP: { ! GEMClientObject* object = ((pawsInfoWindow*)psengine->GetPAWS()->FindWidget("InfoWindow"))->GetTarget(); ! if (!object) return false; *************** *** 203,207 **** * message is needed to be send to the server. */ ! CS_ID ID = entity->GetID(); psUserActionMessage action(0,ID,"pickup"); --- 203,207 ---- * message is needed to be send to the server. */ ! CS_ID ID = object->GetEntity()->GetID(); psUserActionMessage action(0,ID,"pickup"); Index: psmainwidget.cpp =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/client/gui/psmainwidget.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** psmainwidget.cpp 13 Dec 2003 23:50:39 -0000 1.3 --- psmainwidget.cpp 14 Dec 2003 02:52:59 -0000 1.4 *************** *** 114,120 **** if ( guiCamera ) { ! csRef<iCelEntity> over = FindMouseOverEntity( x, y ); if ( over ) ! { if ( psengine->GetMouseBinds()->GetBind("EntitySelect", event) ) { --- 114,121 ---- if ( guiCamera ) { ! GEMClientObject* over = FindMouseOverObject( x, y ); ! if ( over ) ! { if ( psengine->GetMouseBinds()->GetBind("EntitySelect", event) ) { *************** *** 126,132 **** /// Notify server of selection. ! CS_ID mappedID = over->GetID(); psUserActionMessage action( 0, mappedID, "select" ); ! psengine->GetMsgHandler()->SendMessage( action.msg ); } --- 127,133 ---- /// Notify server of selection. ! CS_ID mappedID = over->GetEntity()->GetID(); psUserActionMessage action( 0, mappedID, "select" ); ! psengine->GetMsgHandler()->SendMessage( action.msg ); } *************** *** 141,145 **** /// Notify server of selection. ! CS_ID mappedID = over->GetID(); psUserActionMessage action( 0, mappedID, "context" ); --- 142,146 ---- /// Notify server of selection. ! CS_ID mappedID = over->GetEntity()->GetID(); psUserActionMessage action( 0, mappedID, "context" ); *************** *** 176,180 **** ! iCelEntity* psMainWidget::FindMouseOverEntity( int x, int y ) { if ( !cel ) --- 177,181 ---- ! GEMClientObject* psMainWidget::FindMouseOverObject( int x, int y ) { if ( !cel ) *************** *** 191,195 **** { csRef<iCelEntity> entity = cel->GetPlLayer()->FindAttachedEntity( sel->QueryObject() ); ! return entity; } return NULL; --- 192,205 ---- { csRef<iCelEntity> entity = cel->GetPlLayer()->FindAttachedEntity( sel->QueryObject() ); ! if ( entity ) ! { ! GEMClientObject* target = cel->FindObject( entity->GetID() ); ! return target; ! } ! else ! { ! return NULL; ! } ! } return NULL; Index: psmainwidget.h =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/client/gui/psmainwidget.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** psmainwidget.h 7 Nov 2003 06:44:39 -0000 1.1 --- psmainwidget.h 14 Dec 2003 02:52:59 -0000 1.2 *************** *** 60,66 **** * @param mouseX The screen X position of the mouse. * @param mouseY The screen Y position of the mouse. ! * @return A pointer to the entity found or NULL if no entity. */ ! iCelEntity* FindMouseOverEntity( int mouseX, int mouseY ); private: --- 60,66 ---- * @param mouseX The screen X position of the mouse. * @param mouseY The screen Y position of the mouse. ! * @return A pointer to the GEMObject found or NULL if no entity. */ ! GEMClientObject* FindMouseOverObject( int mouseX, int mouseY ); private: |