simtoolsReticentBase

A tool for SimCompanies game.

此腳本不應該直接安裝,它是一個供其他腳本使用的函式庫。欲使用本函式庫,請在腳本 metadata 寫上: // @require https://update.greasyfork.org/scripts/523380/1518729/simtoolsReticentBase.js

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         SimTools Reticent Base Library
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Provides utility functions for interacting with elements on SimCompanies pages.
// @author       Reticent
// @match        *://*/*
// @grant        none
// @run-at       document-idle
// ==/UserScript==

(function() {
    'use strict';

    // 定义 checkForRealmElement 函数
    const checkForRealmElement = (callback) => {
        let intervalId;

        function findRealmElement() {
            // 查找 img[alt*="企业家"]
            const entrepreneurElement = document.querySelector(`div.css-inxa61.e1uuitfi4 img[alt*="企业家"]`);
            // 查找 img[alt*="商业大亨"]
            const tycoonElement = document.querySelector(`div.css-inxa61.e1uuitfi4 img[alt*="商业大亨"]`);

            if (entrepreneurElement) {
                clearInterval(intervalId);
                callback(1); // 找到 "企业家" 元素后调用回调函数并传入 1
            } else if (tycoonElement) {
                clearInterval(intervalId);
                callback(0); // 找到 "商业大亨" 元素后调用回调函数并传入 0
            } else {
                console.warn('Neither matching realm element found yet.');
            }
        }

        intervalId = setInterval(findRealmElement, 1000);
        findRealmElement(); // 立即执行一次以避免不必要的延迟
    };

    // 公开 API
    window.SimToolsAPI = {
        checkForRealmElement,
        // 如果有其他公共方法,可以在这里添加
    };
})();