要实现只让掷骰子的活动里行动点变化的同时不影响饱食度,可以在掷骰子活动的代码中,添加一个用于保存行动点变化的变量,然后在掷骰子的条件成立时,将行动点的变化保存至该变量中。最后,在应用 Influence 时,将保存的行动点变化应用至玩家的行动点数值上。

以下是修改后的代码示例:

private IEnumerator StartEvent()
{
    bool Success = true;
    int actionPointChange = 0; // 新增变量用于保存行动点变化

    // 扔骰子
    if (RollDice == true)
    {
        DiceRandomPanel dicePanel = UIKit.OpenPanel<DiceRandomPanel>();

        while (!UnityObjectUtility.IsDestroyed(dicePanel))
        {
            // 等待半秒钟
            yield return new WaitForSeconds(0.5f);
        }

        // 取出骰子结果进行比对
        if (DiceRandomPanel.RollResult < winRoll)
        {
            // 应用失败的Influence
            Success = false;
        }
        else
        {
            // 记录行动点变化
            actionPointChange = dicePanel.RollResult; // 假设骰子结果为加减行动点数值
        }
    }

    if (Success)
    {
        // 优先influence
        ApplyInfluence(influence);
    }
    else
    {
        ApplyInfluence(defeatInfluence);
    }

    // 应用行动点变化
    AddActionPoint(actionPointChange);
}

这样,在掷骰子成功时,会将骰子的结果作为行动点的变化保存到actionPointChange变量中,然后在应用 Influence 时,将该变量的值应用到玩家的行动点上。

请注意,这只是一个示例代码,具体的行动点变化规则需要根据你的需求进行调整。


原文地址: https://www.cveoy.top/t/topic/phhc 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录