//----------------------------------------------------------------------------- // Purpose: Idle updates the position of the build placement model //----------------------------------------------------------------------------- void CWeaponBuilder::WeaponIdle( void ) { CBaseTFPlayer *pOwner = ToBaseTFPlayer( GetOwner() ); if ( !pOwner ) return; // If we're in placement mode, update the placement model switch( m_iBuildState ) { case BS_PLACING: case BS_PLACING_INVALID: { if ( UpdatePlacement() ) { SetCurrentState( BS_PLACING ); } else { SetCurrentState( BS_PLACING_INVALID ); } } break; default: break; } if ( HasWeaponIdleTimeElapsed() ) { SendWeaponAnim( ACT_VM_IDLE ); } }
void TBarView::AttachedToWindow() { BView::AttachedToWindow(); SetViewColor(ui_color(B_MENU_BACKGROUND_COLOR)); //FIXME SetFont(be_plain_font); #if SA_CLOCK fClock = new TTimeView(this, false, false, false, false, fShowInterval); if (fShowClock) AddChild(fClock); #endif fReplicantTray = new TReplicantTray(this, fVertical); fDragRegion = new TDragRegion(this, fReplicantTray); fDragRegion->AddChild(fReplicantTray); if (fTrayLocation != 0) AddChild(fDragRegion); UpdatePlacement(); fTrackingHookData.fTrackingHook = MenuTrackingHook; fTrackingHookData.fTarget = BMessenger(this); fTrackingHookData.fDragMessage = new BMessage(B_REFS_RECEIVED); }
//----------------------------------------------------------------------------- // Purpose: Player holding this weapon has started building something //----------------------------------------------------------------------------- void CWeaponBuilder::StartBuilding( void ) { if ( m_hObjectBeingBuilt.Get() && UpdatePlacement() ) { SetCurrentState( BS_BUILDING ); m_hObjectBeingBuilt->StartBuilding( GetOwner() ); } }
void TBarView::ToggleClock() { fShowClock = !fShowClock; #if SA_CLOCK if (fShowClock) AddChild(fClock); else fClock->RemoveSelf(); #endif UpdatePlacement(); }
//----------------------------------------------------------------------------- // Purpose: Start placing the object //----------------------------------------------------------------------------- void CWeaponBuilder::StartPlacement( void ) { StopPlacement(); // Create the slab m_hObjectBeingBuilt = (CBaseObject*)CreateEntityByName( GetObjectInfo( m_iCurrentObject )->m_pClassName ); if ( m_hObjectBeingBuilt ) { m_hObjectBeingBuilt->Spawn(); m_hObjectBeingBuilt->StartPlacement( ToBaseTFPlayer( GetOwner() ) ); UpdatePlacement(); // Stomp this here in the same frame we make the object, so prevent clientside warnings that it's under attack m_hObjectBeingBuilt->m_iHealth = OBJECT_CONSTRUCTION_STARTINGHEALTH; } }
void TBarView::AttachedToWindow() { BView::AttachedToWindow(); SetViewColor(ui_color(B_MENU_BACKGROUND_COLOR)); SetFont(be_plain_font); fMouseFilter = new BarViewMessageFilter(this); Window()->AddCommonFilter(fMouseFilter); UpdatePlacement(); fTrackingHookData.fTrackingHook = MenuTrackingHook; fTrackingHookData.fTarget = BMessenger(this); fTrackingHookData.fDragMessage = new BMessage(B_REFS_RECEIVED); }
void TBarView::AttachedToWindow() { BView::AttachedToWindow(); SetViewColor(ui_color(B_MENU_BACKGROUND_COLOR)); SetFont(be_plain_font); fReplicantTray = new TReplicantTray(this, fVertical); fDragRegion = new TDragRegion(this, fReplicantTray); fDragRegion->AddChild(fReplicantTray); if (fTrayLocation != 0) AddChild(fDragRegion); UpdateAutoRaise(); UpdatePlacement(); fTrackingHookData.fTrackingHook = MenuTrackingHook; fTrackingHookData.fTarget = BMessenger(this); fTrackingHookData.fDragMessage = new BMessage(B_REFS_RECEIVED); }