Bonjour,

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 :
AMySegmentClass* AInfrastructureGraphManager::ConnectNodes(AMyNodeClass * Nod1, AMyNodeClass * Nod2, SegmentType SegType, bool IsCurv)
FSubdividedSegment AInfrastructureGraphManager::SubdivideSegment(AMySegmentClass * Segment, FVector NewNodeLocation)
DrawPreviewInfrastructure_BP permet de pr�visualiser le r�seau routier avant de le valider.
Par exemple :
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 :
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 :
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 :
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 :
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 ?
Partager