コード例 #1
0
        //TODO: null checks
        private static void InitScans(ChainedPuzzleManager instance)
        {
            foreach (CustomBioScan scan in ConfigManager.CustomContent.ScanHolder.Scans)
            {
                Log.Debug($"Adding scan with ID of [{scan.PersistentID}]");
                //Base instance
                GameObject scanBase   = instance.m_puzzleComponentPrefabs[scan.BaseScan];
                GameObject scanPrefab = UnityEngine.Object.Instantiate(scanBase);
                scanPrefab.transform.position = new Vector3(10000, 10000, 10000);

                //Setup Scanner
                CP_PlayerScanner playerScanner = scanPrefab.GetComponent <CP_PlayerScanner>();
                playerScanner.m_reduceSpeed        = scan.ReduceSpeed;
                playerScanner.m_reduceWhenNoPlayer = scan.ReduceWhenNoPlayer;
                playerScanner.m_scanRadius         = scan.ScanRadius;
                playerScanner.m_scanSpeeds         = scan.PlayersInScanMulti;
                playerScanner.m_playerRequirement  = (PlayerRequirement)scan.PlayerRequirement;

                //Setup Graphics
                CP_Bioscan_Graphics scanGx = scanPrefab.GetComponent <CP_Bioscan_Graphics>();
                scanGx.m_radius = scan.BioScanGraphics.Radius;
                scanGx.m_colors = ConvertToColorMode(scan.BioScanGraphics.colorModeColor);
                scanGx.SetText(scan.BioScanGraphics.ScanText);

                CP_Bioscan_Core core = scanPrefab.GetComponent <CP_Bioscan_Core>();
                core.m_playerAgents = new Il2CppSystem.Collections.Generic.List <PlayerAgent>();

                instance.m_puzzleComponentPrefabs.Add(scan.PersistentID, scanPrefab);
            }
        }
コード例 #2
0
 static bool Prefix(CP_Bioscan_Core __instance)
 {
     if (__instance.gameObject.transform.position.x > 9000 && __instance.gameObject.transform.position.y > 9000 && __instance.gameObject.transform.position.z > 9000)
     {
         return(false);
     }
     return(true);
 }
コード例 #3
0
 void Awake()
 {
     OffshootMain.log.LogDebug("Triggered");
     core = GetComponent <CP_Bioscan_Core>();
     core.add_OnPuzzleDone((Action <int>)((number) => {
         Patch_StateChange.TriggerEnd();
     }));
 }