Bonjour,

Nom : dbc197f32a7f3f1cdcdfebbb4ee833ef694c0816.jpeg
Affichages : 594
Taille : 71,4 Ko

Mon projet est un city builder sur Unreal Engine 5 (c++ et blueprints)

Les rectangles rouges sont des classes c++. Les blancs sont des Blueprints. Les fl�ches rouges sont #include . Les fl�ches bleues sont l'h�ritage (classe c++ -> Blueprint). Les fl�ches noires sont des r�f�rences de classes de Blueprint.

MyNodeClass, MySegmentClass et InfrastructureGraphManagerClass sont utilis�s pour d�finir et mettre � jour le graphe du r�seau routier.

Par exemple :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
AMySegmentClass* AInfrastructureGraphManager::ConnectNodes(AMyNodeClass * Nod1, AMyNodeClass * Nod2, SegmentType SegType, bool IsCurv)
Code : S�lectionner tout - Visualiser dans une fen�tre � part
FSubdividedSegment AInfrastructureGraphManager::SubdivideSegment(AMySegmentClass * Segment, FVector NewNodeLocation)
DrawPreviewInfrastructure_BP permet de pr�visualiser le r�seau routier avant de le valider.
Par exemple :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
DrawStraightSegment()
DrawTangentSegment()
DrawTangentSegmentsAndCurve()
SnapMouseOnExistingNode()
DrawInfrastructure_BP permet de dessiner le r�seau routier apr�s validation de l'aper�u.
Par exemple :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
DrawSegmentAndTwoNodes()
DrawSegmentAndTwoNodesFromColinear()
SplitStraightSegmentForCrossroads()
ConvertTurnNodeToCrossroads()
Spline_BP contient des composants spline et un procedural mesh (qui est utilis� pour les jonctions proc�durales). Chaque instance de Spline_BP est stock�e dans le tableau SplinesArray � l'int�rieur de DrawInfrastructure_BP. Chaque index de ce tableau est stock� dans la variable MySegmentClass->SplinesArrayIndex.

Par exemple :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
AttachMeshes()
UpdateSplineComponents()
ZonesBlock_BP est utilis� pour stocker les donn�es des zones du b�timent. L'une de ses variables est un tableau 2D de structures Zones.

Par exemple :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
Update()
Draw()
Erase()
SetConvexHull()
ZonesManager_BP permet de g�rer les ZonesBlock_BP en fonction du r�seau routier.

Par exemple :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
SpawnZBsAroundSubSpline()
SetZonesPoints()
UpdateZBsConvexHull()
SpawnZBsAroundSegment()
Comme vous le savez peut-�tre, CityBuilderPlayerController_BP est utilis� pour appeler les fonctions que nous voulons en fonction des �v�nements de souris/clavier.

Est-il n�cessaire s'il vous pla�t d'optimiser ce diagramme? Et si oui, comment ?