feat(expression): 表达系统目标/非目标解绑与干扰短句逻辑
Made-with: Cursor
This commit is contained in:
@@ -8,10 +8,10 @@ namespace AibisDream.MiniGame.Language
|
||||
/// </summary>
|
||||
public class CandidateParticle : TextParticle
|
||||
{
|
||||
[Header("粒子状态")]
|
||||
public bool isRed = false; // 是否是红色目标粒子
|
||||
[Header("粒子状态(目标/非目标,颜色由 Manager 配置,可与红蓝解绑)")]
|
||||
public bool isRed = false; // 当前是否为目标粒子(用于颜色/样式,可配成蓝)
|
||||
public bool isOrange = false; // 是否受到效果影响(橙色)
|
||||
public bool originalIsRed = false; // 原始是否为红色
|
||||
public bool originalIsRed = false; // 原始是否为目标粒子(不变,用于字符逻辑)
|
||||
public bool hasEffect = false; // 是否有效果
|
||||
public bool isTemporaryRed = false; // 临时红色状态
|
||||
|
||||
@@ -190,6 +190,20 @@ namespace AibisDream.MiniGame.Language
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 目标粒子:chineseChars 随机单字;非目标粒子:从笑话/干扰短句字符中随机。
|
||||
/// 使用 IsTarget 判断,与红蓝颜色解绑。
|
||||
/// </summary>
|
||||
protected override string GetNextDisplayChar()
|
||||
{
|
||||
return IsTarget ? GetRandomChar() : GetRandomCharFromPhrases();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 是否为目标粒子(由 originalIsRed 表示,与显示颜色解绑)
|
||||
/// </summary>
|
||||
private bool IsTarget => originalIsRed;
|
||||
|
||||
public void InitializeAnxietyEffect()
|
||||
{
|
||||
anxietyShakePhase = Random.Range(0f, Mathf.PI * 2f);
|
||||
|
||||
Reference in New Issue
Block a user