LifePlay-Revival/Docs/Migration/etat/CAM/CAM-B2p-G-PC-FICHE.md
edujiro5972 8084622450 LifePlay UE 5.8 : état de développement au 2026-10-19
Tickets : REP1-T4

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-19 22:57:42 +02:00

5.4 KiB

CAM-B2p-G-PC : C3 dans le cycle C du sexe (G-d) et panneau des positions (G-g) (PC, fiche lp-mcp-bp, 2026-10-14)

SPEC : CAM-B2p-G-SPEC.md § 2 (G-d, option 1) et § 5.4 (G-g). UE-GO de Big Boss (PC pour G-d, et G-g si la DIAG le demande : elle le demande). PC seul ; ni Room, ni GI, ni Person. Un seul appel MCP à la fois. Type vérifié avant chaque create_node.

Barème

a0 b1 c1 d0 e1 f1 = 4 → N3 (MCP) ; S = C3 1 + f 1 = 2 : une fiche. Environ 6 nœuds, 1 variable, 2 coupures, 14 liens, environ 50 appels. Case C9a : état du PC relu dans CAM-B2kmn-VAL_LPDumpFunction_20261014-011816.txt (PC F45BE57A39D13D3EB19D0B543153AB0B, 1439 nœuds) ; à relire par get_node_infos avant écriture.

Conditions d'entrée

  • UeState = 0 ; PC = F45BE57A39D13D3EB19D0B543153AB0B (sinon : arrêt et compte rendu).
  • Instantané pris par l'orchestrateur : .\Tools\Snapshot.ps1 -Lot CAM-B2p-G-PC -Path Content\BPs\PC.uasset.
  • unreal-mcp connecté ; éditeur sans demande de recompilation.

État attendu avant écriture (préfixe /Game/BPs/PC.PC:EventGraph.)

Nœud Attendu
K2Node_IfThenElse_23 Condition ← VariableGet_51.SexOn ; then → IfThenElse_44.execute ; else → IfThenElse_131
K2Node_IfThenElse_44 execute ← 23.then et CustomEvent_5.then ; Condition ← CallFunction_139 ; then → VariableSet_25 (POVOn vrai) ; else → VariableSet_30 (POVOn faux)
K2Node_IfThenElse_123 Condition ← VariableGet_233.SexOn ; then → CallFunction_35 (LeftMouseSexOn) ; else → IfThenElse_0
K2Node_IfThenElse_15 Condition ← VariableGet_22.SexOn ; then → IfThenElse_10 ; else → CallFunction_160
K2Node_CustomEvent_11 événement LeftMouseSexOn ; then → IfThenElse_10
K2Node_InputAction_3 action Pause (à confirmer par get_node_infos : nom de l'action) ; Pressed → IfThenElse_63
K2Node_IfThenElse_40 execute ← 63.else ; then → CallFunction_277 (PlayClick)
K2Node_CallFunction_277 then → VariableSet_0 (GamePaused = NOT GamePaused)

Si InputAction_3 n'est pas Pause (barre espace), ou pour tout autre écart : arrêt avant écriture de G-g. G-d peut se faire seul.

Écritures

G-d : SexC3

  1. Variable de membre SexC3 (booléen, défaut faux) dans le PC (outil d'ajout de variable de BlueprintTools, comme pour CamC1On en B1). Relecture.

  2. Nœuds :

    • Branche A, Condition ← nouveau Get SexC3 ;
    • Set SexC3 = faux (S0) ;
    • Branche B, Condition ← nouveau Get POVOn (variable du PC) ;
    • Set SexC3 = vrai (S1).
  3. Liens :

    • 23.then → A.execute (remplace 23.then → 44) ;
    • A.then → S0.execute ; S0.then → 44.execute ;
    • A.else → B.execute ;
    • B.then → 44.execute ;
    • B.else → S1.execute ; S1.then vide.

    44.execute garde aussi CustomEvent_5.then.

  4. Effet : Scene (POVOn faux, SexC3 faux) → C → C3 (SexC3 vrai, vue inchangée) → C → SexC3 faux, puis POV 1 → … → dernier POV → C → Scene (voie d'origine de 44.else).

G-g : panneau des positions

  1. break_pins 123.then → 35.execute (le clic court gauche ne bascule plus le panneau pendant le sexe).
  2. break_pins 15.then → 10.execute (même chose pour l'autre bouton).
  3. Branche S (Condition ← nouveau Get SexOn sur GI du PC, ou reprise d'un getter existant de GI.SexOn) entre 40.then et 277 :
    • 40.then → S.execute (remplace 40.then → 277) ;
    • S.else → 277.execute ;
    • S.then → nouvel appel LeftMouseSexOn (événement personnalisé du PC, cible self) ; then vide.
  4. Effet : pendant le sexe, Espace bascule le panneau au lieu de mettre en pause. Le clic molette est fait par le C++ (B2p-G). Hors sexe, rien ne change.

Fin

  1. Relecture de tous les nœuds touchés et de leurs voisins (23, 44, CustomEvent_5, 123, 15, 10, 35, 40, 277, 63, et les nœuds créés). Aucun autre lien modifié.
  2. is_dirty = vrai ; compile_blueprint avec warnings_as_errors = true ; save_assets [/Game/BPs/PC] seul ; Saving Package: /Game/BPs/PC ; MD5 du PC ≠ F45BE57A… ; Room, GI et Person inchangés.

Amendement B2p-G-PC-a (2026-10-14, arrêt de lp-mcp-bp à l'étape 7, décision de l'orchestrateur)

  • Refus : create_node "Variables|Sex|ObtenirSexOn" → does not exist. Ce type n'apparaît que sous contexte (la sortie d'un Get GI), et create_node passe un contexte vide (blueprint.py:912).
  • Option A retenue, déjà prévue au § 7 (« reprise d'un getter existant de GI.SexOn ») :
    • VariableGet_22.SexOn (déjà relié à IfThenElse_15.Condition) → IfThenElse_134.Condition (une sortie de données peut alimenter plusieurs entrées) ;
    • delete_node du Get GI orphelin VariableGet_387 ;
    • puis les 3 liens d'exécution : 40.then → 134.execute (remplace 40 → 277), 134.else → 277.execute, 134.then → CallFunction_408.execute (LeftMouseSexOn) ;
    • puis les étapes 9 et 10.
  • Volume : 1 nœud créé de moins, 1 suppression. Le reste de la fiche ne change pas.

VAL (lp-validator distinct, éditeur fermé)

  • V5 : dump du PC ; diff contre CAM-B2kmn-VAL_LPDumpFunction_20261014-011816.txt ; seules différences : la variable, les nœuds créés, les 2 coupures et les liens ci-dessus.
  • V6 : CompileAllBlueprints = référence.

Retour arrière

.\Tools\Restore.ps1 -Lot CAM-B2p-G-PC -Only Content\BPs\PC.uasset, éditeur fermé.