Decreased Recurring NPCs
This commit is contained in:
		
							parent
							
								
									ebafc668b4
								
							
						
					
					
						commit
						9a18446c83
					
				
							
								
								
									
										
											BIN
										
									
								
								EndlessVendetta/Content/StarterContent/Blueprints/Blueprint_CeilingLight.uasset
									 (Stored with Git LFS)
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								EndlessVendetta/Content/StarterContent/Blueprints/Blueprint_CeilingLight.uasset
									 (Stored with Git LFS)
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								EndlessVendetta/Content/StarterContent/HDRI/HDRI_Epic_Courtyard_Daylight.uasset
									 (Stored with Git LFS)
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								EndlessVendetta/Content/StarterContent/HDRI/HDRI_Epic_Courtyard_Daylight.uasset
									 (Stored with Git LFS)
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							@ -37,30 +37,19 @@ void ANPC_Manager::BeginPlay()
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (NPC_StationClasses.IsEmpty()) return;
 | 
						if (NPC_StationClasses.IsEmpty()) return;
 | 
				
			||||||
 | 
						
 | 
				
			||||||
	FRotator DefaultRot = FRotator(0, 0, 0);
 | 
						FRotator DefaultRot = FRotator(0, 0, 0);
 | 
				
			||||||
	int StationSlots = (StationPoints.Num() / NPC_StationClasses.Num()) + 1;
 | 
						int StationClassIndex = 0;
 | 
				
			||||||
	TArray<int> NumOfUniqueStations;
 | 
					 | 
				
			||||||
	for (auto UniqueStation : NPC_StationClasses)
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		NumOfUniqueStations.Add(StationSlots);
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	for (FVector StationPoint : StationPoints)
 | 
						for (FVector StationPoint : StationPoints)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		bool FoundRandomFairInt = false;
 | 
					 | 
				
			||||||
		int RandInt = 0;
 | 
					 | 
				
			||||||
		while (!FoundRandomFairInt)
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			RandInt = FMath::RandRange(0, NPC_StationClasses.Num() - 1);
 | 
					 | 
				
			||||||
			if (NumOfUniqueStations[RandInt] > 0)
 | 
					 | 
				
			||||||
			{
 | 
					 | 
				
			||||||
				NumOfUniqueStations[RandInt]--;
 | 
					 | 
				
			||||||
				FoundRandomFairInt = true;
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		
 | 
					 | 
				
			||||||
		FVector StationPointWorldLocation = StationPoint + GetActorLocation();
 | 
							FVector StationPointWorldLocation = StationPoint + GetActorLocation();
 | 
				
			||||||
		ANPC_Station* NPC_Station = GetWorld()->SpawnActor<ANPC_Station>(NPC_StationClasses[RandInt], StationPointWorldLocation, DefaultRot);
 | 
							ANPC_Station* NPC_Station = GetWorld()->SpawnActor<ANPC_Station>(NPC_StationClasses[StationClassIndex], StationPointWorldLocation, DefaultRot);
 | 
				
			||||||
		if (IsValid(NPC_Station)) NPC_Stations.Add(NPC_Station);
 | 
							if (IsValid(NPC_Station)) NPC_Stations.Add(NPC_Station);
 | 
				
			||||||
 | 
							StationClassIndex++;
 | 
				
			||||||
 | 
							if (StationClassIndex >= NPC_StationClasses.Num())
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								StationClassIndex = 0;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	SetActorTickInterval(1);
 | 
						SetActorTickInterval(1);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user