EBTNodeResult::Type UChooseNextWaypoint::ExecuteTask(UBehaviorTreeComponent& OwnerComp, uint8* NodeMemory) { // Get the patrol route auto ControlledPawn = OwnerComp.GetAIOwner()->GetPawn(); auto PatrolRoute = ControlledPawn->FindComponentByClass<UPatrolRoute>(); if (!ensure(PatrolRoute)) { return EBTNodeResult::Failed; } // Warn about empty patrol routes auto PatrolPoints = PatrolRoute->GetPatrolPoints(); if (PatrolPoints.Num() == 0) { UE_LOG(LogTemp, Warning, TEXT("A guard is missing patrol points.")); return EBTNodeResult::Failed; } // Set the next waypoint auto BlackboardComp = OwnerComp.GetBlackboardComponent(); auto Index = BlackboardComp->GetValueAsInt(IndexKey.SelectedKeyName); BlackboardComp->SetValueAsObject(WaypointKey.SelectedKeyName, PatrolPoints[Index]); // Cycle the index auto NextIndex = (Index + 1) % PatrolPoints.Num(); BlackboardComp->SetValueAsInt(IndexKey.SelectedKeyName, NextIndex); // UE_LOG(LogTemp, Warning, TEXT("Waypoint index: %i"), Index); return EBTNodeResult::Succeeded; }
/* ================ idServerScan::InfoResponse ================ */ int idServerScan::InfoResponse( networkServer_t &server ) { if ( scan_state == IDLE ) { return false; } idStr serv = Sys_NetAdrToString( server.adr ); if ( server.challenge != challenge ) { common->DPrintf( "idServerScan::InfoResponse - ignoring response from %s, wrong challenge %d.", serv.c_str(), server.challenge ); return false; } if ( scan_state == NET_SCAN ) { const idKeyValue *info = net_info.FindKey( serv.c_str() ); if ( !info ) { common->DPrintf( "idServerScan::InfoResponse NET_SCAN: reply from unknown %s\n", serv.c_str() ); return false; } int id = atoi( info->GetValue() ); net_info.Delete( serv.c_str() ); inServer_t iserv = net_servers[ id ]; server.ping = Sys_Milliseconds() - iserv.time; server.id = iserv.id; } else { server.ping = Sys_Milliseconds() - lan_pingtime; server.id = 0; // check for duplicate servers for ( int i = 0; i < Num() ; i++ ) { if ( memcmp( &(*this)[ i ].adr, &server.adr, sizeof(netadr_t) ) == 0 ) { common->DPrintf( "idServerScan::InfoResponse LAN_SCAN: duplicate server %s\n", serv.c_str() ); return true; } } } const char *si_map = server.serverInfo.GetString( "si_map" ); const idDecl *mapDecl = declManager->FindType( DECL_MAPDEF, si_map, false ); const idDeclEntityDef *mapDef = static_cast< const idDeclEntityDef * >( mapDecl ); if ( mapDef ) { const char *mapName = common->GetLanguageDict()->GetString( mapDef->dict.GetString( "name", si_map ) ); server.serverInfo.Set( "si_mapName", mapName ); } else { server.serverInfo.Set( "si_mapName", si_map ); } int index = Append( server ); // for now, don't maintain sorting when adding new info response servers m_sortedServers.Append( Num()-1 ); if ( listGUI->IsConfigured( ) && !IsFiltered( server ) ) { GUIAdd( Num()-1, server ); } if ( listGUI->GetSelection( NULL, 0 ) == ( Num()-1 ) ) { GUIUpdateSelected(); } return index; }
FText FSimpleAssetEditor::GetToolkitName() const { const auto EditingObjects = GetEditingObjects(); check( EditingObjects.Num() > 0 ); FFormatNamedArguments Args; Args.Add( TEXT("ToolkitName"), GetBaseToolkitName() ); if( EditingObjects.Num() == 1 ) { const UObject* EditingObject = EditingObjects[ 0 ]; const bool bDirtyState = EditingObject->GetOutermost()->IsDirty(); Args.Add( TEXT("ObjectName"), FText::FromString( EditingObject->GetName() ) ); Args.Add( TEXT("DirtyState"), bDirtyState ? FText::FromString( TEXT( "*" ) ) : FText::GetEmpty() ); return FText::Format( LOCTEXT("ToolkitTitle", "{ObjectName}{DirtyState} - {ToolkitName}"), Args ); } else { bool bDirtyState = false; UClass* SharedBaseClass = NULL; for( int32 x = 0; x < EditingObjects.Num(); ++x ) { UObject* Obj = EditingObjects[ x ]; check( Obj ); UClass* ObjClass = Cast<UClass>(Obj); if (ObjClass == NULL) { ObjClass = Obj->GetClass(); } check( ObjClass ); // Initialize with the class of the first object we encounter. if( SharedBaseClass == NULL ) { SharedBaseClass = ObjClass; } // If we've encountered an object that's not a subclass of the current best baseclass, // climb up a step in the class hierarchy. while( !ObjClass->IsChildOf( SharedBaseClass ) ) { SharedBaseClass = SharedBaseClass->GetSuperClass(); } // If any of the objects are dirty, flag the label bDirtyState |= Obj->GetOutermost()->IsDirty(); } Args.Add( TEXT("NumberOfObjects"), EditingObjects.Num() ); Args.Add( TEXT("ClassName"), FText::FromString( SharedBaseClass->GetName() ) ); Args.Add( TEXT("DirtyState"), bDirtyState ? FText::FromString( TEXT( "*" ) ) : FText::GetEmpty() ); return FText::Format( LOCTEXT("ToolkitTitle_EditingMultiple", "{NumberOfObjects} {ClassName}{DirtyState} - {ToolkitName}"), Args ); } }
forn(i, N){ int j = (N - i) & (N - 1); Num a1 = (ta[i] + conj(ta[j])) * Num(0.5, 0); Num a2 = (ta[i] - conj(ta[j])) * Num(0, -0.5); Num b1 = (tb[i] + conj(tb[j])) * Num(0.5 / N, 0); Num b2 = (tb[i] - conj(tb[j])) * Num(0, -0.5 / N); tf[j] = a1 * b1 + a2 * b2 * Num(0, 1); tg[j] = a1 * b2 + a2 * b1; }
void FSCSEditorViewportClient::DrawCanvas( FViewport& InViewport, FSceneView& View, FCanvas& Canvas ) { AActor* PreviewActor = GetPreviewActor(); if(PreviewActor) { TGuardValue<bool> AutoRestore(GAllowActorScriptExecutionInEditor, true); const int32 HalfX = 0.5f * Viewport->GetSizeXY().X; const int32 HalfY = 0.5f * Viewport->GetSizeXY().Y; auto SelectedNodes = BlueprintEditorPtr.Pin()->GetSelectedSCSEditorTreeNodes(); if(bIsManipulating && SelectedNodes.Num() > 0) { USceneComponent* SceneComp = Cast<USceneComponent>(SelectedNodes[0]->FindComponentInstanceInActor(PreviewActor, true)); if(SceneComp) { const FVector WidgetLocation = GetWidgetLocation(); const FPlane Proj = View.Project(WidgetLocation); if(Proj.W > 0.0f) { const int32 XPos = HalfX + (HalfX * Proj.X); const int32 YPos = HalfY + (HalfY * (Proj.Y * -1)); DrawAngles(&Canvas, XPos, YPos, GetCurrentWidgetAxis(), GetWidgetMode(), GetWidgetCoordSystem().Rotator(), WidgetLocation); } } } } }
void FActionQueue::Add(ECharMoveState Action) { GLog->Log("Adding: " + FString::FromInt((int32)Action)); if (MoveList.Num() == 3) { auto Last = MoveList.Last(); MoveList.Remove(Last); } // This is no longer reverse. auto Reverse = TArray<ECharMoveState>(); for (int32 i = 0; i < MoveList.Num(); ++i) { Reverse.Add(MoveList[i]); } MoveList.Empty(); MoveList.Add(Action); for (int32 i = 0; i < Reverse.Num(); ++i) { GLog->Log(FString::FromInt((int32)Reverse[i])); MoveList.Add(Reverse[i]); } }
int main() { Num ft = Num(42); Base<Num>* bp= new Base<Num>(ft); std::cout << bp->get().x << std::endl; return 0; }
void idMultiWinVar::Set( const char* val ) { for( int i = 0; i < Num(); i++ ) { ( *this )[i]->Set( val ); } }
/* ================ idServerScan::GUIUpdateSelected ================ */ void idServerScan::GUIUpdateSelected( void ) { char screenshot[MAX_STRING_CHARS]; if( !m_pGUI ) { return; } int i = listGUI->GetSelection( NULL, 0 ); if( i == -1 || i >= Num() ) { m_pGUI->SetStateString( "server_name", "" ); m_pGUI->SetStateString( "player1", "" ); m_pGUI->SetStateString( "player2", "" ); m_pGUI->SetStateString( "player3", "" ); m_pGUI->SetStateString( "player4", "" ); m_pGUI->SetStateString( "player5", "" ); m_pGUI->SetStateString( "player6", "" ); m_pGUI->SetStateString( "player7", "" ); m_pGUI->SetStateString( "player8", "" ); m_pGUI->SetStateString( "server_map", "" ); m_pGUI->SetStateString( "browser_levelshot", "" ); m_pGUI->SetStateString( "server_gameType", "" ); m_pGUI->SetStateString( "server_IP", "" ); m_pGUI->SetStateString( "server_passworded", "" ); } else { m_pGUI->SetStateString( "server_name", ( *this ) [i].serverInfo.GetString( "si_name" ) ); for( int j = 0; j < 8; j++ ) { if( ( *this ) [i].clients > j ) { m_pGUI->SetStateString( va( "player%i", j + 1 ) , ( *this ) [i].nickname[j] ); } else { m_pGUI->SetStateString( va( "player%i", j + 1 ) , "" ); } } m_pGUI->SetStateString( "server_map", ( *this ) [i].serverInfo.GetString( "si_mapName" ) ); fileSystem->FindMapScreenshot( ( *this ) [i].serverInfo.GetString( "si_map" ), screenshot, MAX_STRING_CHARS ); m_pGUI->SetStateString( "browser_levelshot", screenshot ); m_pGUI->SetStateString( "server_gameType", ( *this ) [i].serverInfo.GetString( "si_gameType" ) ); m_pGUI->SetStateString( "server_IP", Sys_NetAdrToString( ( *this ) [i].adr ) ); if( ( *this ) [i].serverInfo.GetBool( "si_usePass" ) ) { m_pGUI->SetStateString( "server_passworded", "PASSWORD REQUIRED" ); } else { m_pGUI->SetStateString( "server_passworded", "" ); } } }
void idMultiWinVar::SetGuiInfo( idDict* dict ) { for( int i = 0; i < Num(); i++ ) { ( *this )[i]->SetGuiInfo( dict, ( *this )[i]->c_str() ); } }
bool CTuningParams::Get(int Index, float *pValue) { if(Index < 0 || Index >= Num()) return false; *pValue = (float)((CTuneParam *)this)[Index]; return true; }
bool CTuningParams::Set(int Index, float Value) { if(Index < 0 || Index >= Num()) return false; ((CTuneParam *)this)[Index] = Value; return true; }
void ACVehicleSpawner::OnTimer() { FTimerHandle Handle; if (!Active || Paused) { GetWorld()->GetTimerManager().SetTimer(Handle, this, &ACVehicleSpawner::OnTimer, GetTimeWait(), false); return; } if (Bucket.Num() == 0) { GEngine->AddOnScreenDebugMessage(-1, 15.f, FColor::Red, TEXT("You need to add Vehicle Types to the Vehicle Spawner")); } FVector StartTrace = GetActorLocation() - GetActorForwardVector() * 400 + FVector(0, 0, 100); FVector EndTrace = GetActorLocation() + GetActorForwardVector() * 400 + FVector(0, 0, 100); if (GetWorld()->LineTraceTest( StartTrace, EndTrace, ECollisionChannel::ECC_Vehicle, FCollisionQueryParams(), FCollisionResponseParams() )) { GetWorld()->GetTimerManager().SetTimer(Handle, this, &ACVehicleSpawner::OnTimer, 0.1f, false); return; } FActorSpawnParameters spawnParameters; spawnParameters.bNoCollisionFail = true; spawnParameters.Owner = this; spawnParameters.Instigator = NULL; spawnParameters.bDeferConstruction = false; int32 BucketIndex = FMath::RandRange(0, Bucket.Num() - 1); EVehicleType VehicleType = Bucket[BucketIndex]; Bucket.RemoveAtSwap(BucketIndex); if (Bucket.Num() == 0) { TurnBucket(); } TSubclassOf<class AFlockingVehicle> Type = VehicleTypeClass[(uint8)VehicleType]; AFlockingVehicle* NewVehicle = GetWorld()->SpawnActor<AFlockingVehicle>(Type, GetActorLocation(), GetActorRotation(), spawnParameters); NewVehicle->SetFlockingState(FlockingState); NewVehicle->SpawnDefaultController(); NewVehicle->GetMesh()->SetAllPhysicsLinearVelocity(GetActorForwardVector() * StartSpeed / 0.036); if (NewVehicle->VehicleType != VehicleType) { GEngine->AddOnScreenDebugMessage(-1, 15.f, FColor::Red, TEXT("Vehicle Type is not correct.")); } GetWorld()->GetTimerManager().SetTimer(Handle, this, &ACVehicleSpawner::OnTimer, GetTimeWait(), false); if (VehicleTypeMaterials.Contains((uint8)VehicleType)) { auto Materials = VehicleTypeMaterials[(uint8)VehicleType]; int32 Index = FMath::RandRange(0, Materials.Num() - 1); UMaterial* Material = Materials[Index]; NewVehicle->GetMesh()->SetMaterial(2, Material); NewVehicle->ColorMaterialIndex = Index; } }
int main() { int ret = Num(5, 1); printf("%d\n", ret); return 0; }
void MyZKbMain::Probabilidad(int valor) { int valx1=valor; int valx2=valor+1; int valx3=valor+3; int valx4=valor+4; ZConfig Num(QString("numeros.cfg"), true); int val1= Num.readNumEntry(QString("NUMEROS"), QString("%1").arg(valx1), 0); int val2= Num.readNumEntry(QString("NUMEROS"), QString("%1").arg(valx2), 0); int val3= Num.readNumEntry(QString("NUMEROS"), QString("%1").arg(valx3), 0); int val4= Num.readNumEntry(QString("NUMEROS"), QString("%1").arg(valx4), 0); QPixmap pm; pm.load("ruleta_usr.png"); QString agregar="SI"; if (( val1 == 0 ) && ( val2 > 0 ) && (val3 > 0) && (val4 > 0)) { for ( int j=0 ; j < lista.count(); ++j ) { if ( QString("%1").arg(valx1) == QString("%1").arg(lista[j]) ) { agregar="NO"; } } if ( agregar == "SI" ) { system(QString("echo \"Probable: %1\"").arg(valx1)); lista += QString("%1").arg(valx1); } } else { } if (( val1 > 0 ) && ( val2 == 0 ) && (val3 > 0) && (val4 > 0)) { for ( int j=0 ; j < lista.count(); ++j ) { if ( QString("%1").arg(valx2) == QString("%1").arg(lista[j]) ) { agregar="NO"; } } if ( agregar == "SI" ) { system(QString("echo \"Probable: %1\"").arg(valx2)); lista += QString("%1").arg(valx2); } } else { } if (( val1 > 0 ) && ( val2 > 0 ) && (val3 == 0) && (val4 > 0)) { for ( int j=0 ; j < lista.count(); ++j ) { if ( QString("%1").arg(valx3) == QString("%1").arg(lista[j]) ) { agregar="NO"; } } if ( agregar == "SI" ) { system(QString("echo \"Probable: %1\"").arg(valx3)); lista += QString("%1").arg(valx3); } } else { } if (( val1 > 0 ) && ( val2 > 0 ) && (val3 > 0) && (val4 == 0)) { for ( int j=0 ; j < lista.count(); ++j ) { if ( QString("%1").arg(valx4) == QString("%1").arg(lista[j]) ) { agregar="NO"; } } if ( agregar == "SI" ) { system(QString("echo \"Probable: %1\"").arg(valx4)); lista += QString("%1").arg(valx4); } } else { } }
void idMultiWinVar::Update() { for( int i = 0; i < Num(); i++ ) { ( *this )[i]->Update(); } }
/* ==================== idListGUILocal::StateChanged ==================== */ void idListGUILocal::StateChanged() { int i; if ( !m_stateUpdates ) { return; } for( i = 0; i < Num(); i++ ) { m_pGUI->SetStateString( va( "%s_item_%i", m_name.c_str(), i ), (*this)[i].c_str() ); } for( i = Num() ; i < m_water ; i++ ) { m_pGUI->SetStateString( va( "%s_item_%i", m_name.c_str(), i ), "" ); } m_water = Num(); m_pGUI->StateChanged( com_frameTime ); }
bool CTuningParams::Set(const char *pName, float Value) { for(int i = 0; i < Num(); i++) if(str_comp_nocase(pName, m_apNames[i]) == 0) return Set(i, Value); return false; }
inline bool Message::operator<(const Message& rhv) const { if(Num() < rhv.Num()) return true; return false; }
void UInterpTrackAkAudioEvent::UpdateTrack(float NewPosition, UInterpTrackInst* TrInst, bool bJump) { if (Events.Num() <= 0) { //UE_LOG(LogMatinee, Warning,TEXT("No sounds for sound track %s"),*GetName()); return; } UInterpTrackInstAkAudioEvent* EventInst = CastChecked<UInterpTrackInstAkAudioEvent>(TrInst); // Only play AkEvents if we are playing Matinee forwards, and if(NewPosition > EventInst->LastUpdatePosition && !bJump) { // Find which sound we are starting in. -1 Means before first sound. int32 StartEventIdx = -1; for( StartEventIdx = -1; StartEventIdx<Events.Num()-1 && Events[StartEventIdx+1].Time < EventInst->LastUpdatePosition; StartEventIdx++); // Find which sound we are ending in. -1 Means before first sound. int32 EndEventIdx = -1; for( EndEventIdx = -1; EndEventIdx<Events.Num()-1 && Events[EndEventIdx+1].Time < NewPosition; EndEventIdx++); // If we have moved into a new sound, we should start playing it now. if(StartEventIdx != EndEventIdx) { FAkAudioEventTrackKey & AkEvenTrackKey = GetAkEventTrackKeyAtPosition(NewPosition); UAkAudioEvent* AkEvent = AkEvenTrackKey.AkAudioEvent; AActor* Actor = TrInst->GetGroupActor(); FAkAudioDevice * AudioDevice = FAkAudioDevice::Get(); if (AudioDevice) { if (AkEvent) { AudioDevice->PostEvent(AkEvent, Actor); } else { AudioDevice->PostEvent(AkEvenTrackKey.EventName, Actor); } } } } // Finally update the current position as the last one. EventInst->LastUpdatePosition = NewPosition; }
/**--------------------------------------------------------------------------<BR> CRandomNumber::GetInt \brief Gets an integer based on the settings. Sets up temporary new boundaries so that an interval of e.g. 0.8 to 3.7 will become 1.0 to 3.0 allowing integers 1 and 2 only. <P>---------------------------------------------------------------------------*/ int CRandomNumber::GetInt(void) const { CRandomNumber Num(ceil(m_dMin), floor(m_dMax) + 1.0); double dRes = Num.Get(); if (dRes == (int)Num.GetMax()) return (int) (dRes - 1); else return (int) dRes; }
UBlueprint* FGameplayAbilitiesEditor::GetBlueprintObj() const { auto EditingObjects = GetEditingObjects(); for (int32 i = 0; i < EditingObjects.Num(); ++i) { if (EditingObjects[i]->IsA<UGameplayAbilityBlueprint>()) { return (UBlueprint*)EditingObjects[i]; } } return NULL; }
void CRTF_SummaryBuilder::AddSummaryRow( CRtfDocumentChainBuilder* pHost, CRTF_Table* pTable, CRTF_CharacterProperties* pChProps, int iRowIndex, CChangeGroup* pGroup) { int iMin = pGroup->GetFirstChangeNum(); int iMax = pGroup->GetLastChangeNum(); int iType = pGroup->GetType(); LPCWSTR szType = pHost->m_Options.GetSummaryDescription(iType); CRTF_Bookmark* pBkmkStart = CRTF_Bookmark::CreateBookmark(m_pContext, pTable->GetModality(), "_DV_S%d",iMin,false);/* TXTEX_IGNORE */ CRTF_Bookmark* pBkmkEnd = CRTF_Bookmark::CreateBookmark(m_pContext, pTable->GetModality(), "_DV_S%d",iMin,true );/* TXTEX_IGNORE */ if (iMin==iMax) { pTable->Cell(0, iRowIndex)->AddText(CreateTableText(Num(iMin), pChProps)); } else { pTable->Cell(0,iRowIndex)->AddText(CreateTableText(Num(iMax),pChProps)); pTable->Cell(0,iRowIndex)->AddText(CreateTableText("-",pChProps));/* TXTEX_IGNORE */ pTable->Cell(0,iRowIndex)->AddText(CreateTableText(Num(iMin),pChProps)); } pTable->Cell(0, iRowIndex)->AddText(pBkmkStart); pTable->Cell(1, iRowIndex)->AddText(CreateTableText(szType, pChProps)); pTable->Cell(2, iRowIndex)->AddText(pBkmkEnd); if (iMax>iMin) { for (int i=iMin+1; i<=iMax ; i++) { pBkmkStart = CRTF_Bookmark::CreateBookmark(m_pContext, pTable->GetModality(), "_DV_S%d",i,false);/* TXTEX_IGNORE */ pBkmkEnd = CRTF_Bookmark::CreateBookmark(m_pContext, pTable->GetModality(), "_DV_S%d",i,true); /* TXTEX_IGNORE */ pTable->Cell(2, iRowIndex)->AddText(pBkmkEnd); pTable->Cell(0, iRowIndex)->AddText(pBkmkStart); } } CRTF_Cell* pCell=pTable->Cell(2,iRowIndex); CChainElement_Rtf* pCellText = BuildCellContentForChangeText(pHost, pChProps, pGroup); pCell->AddText(pCellText); }
int32 DiffTreeView::CurrentDifference(TSharedRef< STreeView<TSharedPtr< FBlueprintDifferenceTreeEntry > > > TreeView, const TArray< TSharedPtr<class FBlueprintDifferenceTreeEntry> >& Differences) { auto SelectedItems = TreeView->GetSelectedItems(); if (SelectedItems.Num() == 0) { return INDEX_NONE; } for (int32 Iter = 0; Iter < SelectedItems.Num(); ++Iter) { int32 Index = Differences.Find(SelectedItems[Iter]); if (Index != INDEX_NONE) { return Index; } } return INDEX_NONE; }
void UTankTrack::DriveTrack(float CurrentThrottle) { auto ForceApplied = CurrentThrottle * TrackMaxDrivingForce; auto Wheels = GetWheels(); auto ForcePerWheel = ForceApplied / Wheels.Num(); for (ASprungWheel* Wheel : Wheels) { Wheel->AddDrivingForce(ForcePerWheel); } }
void SComponentClassCombo::OnSearchBoxTextCommitted(const FText& NewText, ETextCommit::Type CommitInfo) { if(CommitInfo == ETextCommit::OnEnter) { auto SelectedItems = ComponentClassListView->GetSelectedItems(); if(SelectedItems.Num() > 0) { ComponentClassListView->SetSelection(SelectedItems[0]); } } }
void SKeySelector::OnFilterTextCommitted(const FText& NewText, ETextCommit::Type CommitInfo) { if (CommitInfo == ETextCommit::OnEnter) { auto SelectedItems = KeyTreeView->GetSelectedItems(); if (SelectedItems.Num() > 0) { KeyTreeView->SetSelection(SelectedItems[0]); } } }
void ReSyntaxTreeBuilder::AlterNum(unsigned int& _Num) { if (tokenizer.IsPosDigital()) { Num(_Num); } else { _Num = ReSyntaxExprNode::FINITE; return; } }
int32 UInterpTrackAkAudioEvent::AddKeyframe(float Time, UInterpTrackInst* TrInst, EInterpCurveMode InitInterpMode) { FAkAudioEventTrackKey NewAkEvent; NewAkEvent.AkAudioEvent = NULL; NewAkEvent.Time = Time; // Find the correct index to insert this cut. int32 i=0; for( i=0; i<Events.Num() && Events[i].Time < Time; i++); Events.Insert(NewAkEvent, i); return i; }
FAkAudioEventTrackKey& UInterpTrackAkAudioEvent::GetAkEventTrackKeyAtPosition(float InPosition) { int32 EventIndex; for (EventIndex = -1; EventIndex<Events.Num()-1 && Events[EventIndex+1].Time < InPosition; EventIndex++); if (EventIndex == -1) { EventIndex = 0; } return Events[EventIndex]; }