feat: FinalSettle 增加 final_node——终局节点剧本透出(v2.1 终局演绎数据层)
This commit is contained in:
@@ -34,6 +34,10 @@ func (c *levelPlay) Choose(ctx context.Context, req *dto.ChooseReq) (*dto.Choose
|
||||
NewLevel: settle.NewLevel,
|
||||
BalanceAfter: settle.BalanceAfter,
|
||||
}
|
||||
if settle.FinalNode != nil {
|
||||
vo := nodeVO(settle.FinalNode)
|
||||
res.Final.FinalNode = &vo
|
||||
}
|
||||
}
|
||||
return res, nil
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ type FinalSettle struct {
|
||||
Perfect bool `json:"perfect"`
|
||||
UnlockNext bool `json:"unlock_next"`
|
||||
CollectionUnlocked bool `json:"collection_unlocked"`
|
||||
NewLevel int `json:"new_level"`
|
||||
BalanceAfter int `json:"balance_after"`
|
||||
NewLevel int `json:"new_level"`
|
||||
BalanceAfter int `json:"balance_after"`
|
||||
FinalNode *NodeVO `json:"final_node"`
|
||||
}
|
||||
|
||||
@@ -40,6 +40,7 @@ type FinalSettle struct {
|
||||
CollectionUnlocked bool
|
||||
NewLevel int
|
||||
BalanceAfter int
|
||||
FinalNode *Node // 终局节点(含 script,v2.1 前端演绎结局台词后跳结算)
|
||||
}
|
||||
|
||||
// SettleFinal 纯函数判分(技术设计 4.3/4.4,可单测):
|
||||
@@ -162,6 +163,12 @@ func (s *levelPlay) Choose(ctx context.Context, parentUid, childId, levelId, nod
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
// v2.1:终局节点剧本随结算返回(前端先演绎结局台词再跳结算页)
|
||||
finalNode, err := nodeOf(ctx, levelRec, nextRec)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
settle.FinalNode = finalNode
|
||||
return nil, settle, nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user