【XMLinkGame·连连看游戏】

原创 【XMLinkGame·连连看游戏】 1.0.0

API接口(供其他插件调用)​

StartLinkChallenge - 启动连连看挑战​

其他插件可以通过此API调用连连看游戏,让玩家完成挑战后执行自定义逻辑。
方法签名:
C#:
bool StartLinkChallenge(
    string steamId,              // 玩家SteamID(字符串格式)
    int timeLimit,               // 时间限制(秒,最少10秒)
    int requiredScore,           // 要求分数(最少1分)
    int gridRows,                // 网格行数(4-12)
    int gridCols,                // 网格列数(4-16)
    int itemTypeCount,           // 物品类型数量(6-20)
    bool allowRetry,             // 失败后是否允许重试一次
    string rewardDescription,    // 奖励描述文字
    Action<bool> callback        // 回调函数:true=成功,false=失败
)
使用示例:
C#:
[PluginReference]
private Plugin XMLinkGame;

void SendLinkChallenge(BasePlayer player)
{
    var success = XMLinkGame?.Call<bool>("StartLinkChallenge",
        player.UserIDString,
        120,
        200,
        8,
        10,
        12,
        true,
        "完成挑战即可获得豪华大礼包!",
        (bool isPassed) =>
        {
            if (isPassed)
            {
                Puts($"{player.displayName} 完成了连连看挑战!");
                GiveReward(player);
            }
            else
            {
                Puts($"{player.displayName} 挑战失败!");
            }
        }
    );
}

Hook钩子(供其他插件监听)​

OnLinkGameStart - 玩家开始游戏​

C#:
void OnLinkGameStart(BasePlayer player, bool isChallengeMode)

OnLinkGameSuccess - 玩家游戏成功​

C#:
void OnLinkGameSuccess(BasePlayer player, int score, bool isChallengeMode)

OnLinkGameFailed - 玩家游戏失败​

C#:
void OnLinkGameFailed(BasePlayer player, int score, bool isChallengeMode)