feat: add initial People Playground mod development kit

This commit is contained in:
2026-01-06 06:35:51 +03:00
parent b89c805060
commit 27da387c5a
1095 changed files with 40267 additions and 1 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
ppg-snippets/

133
AGENTS.md Normal file
View File

@@ -0,0 +1,133 @@
# People Playground Mod Development Project
## Project Overview
This is a comprehensive mod development project for People Playground v1.27. The project serves as both a learning resource and development toolkit for creating mods in the People Playground game. It includes complete documentation, code snippets, example mods, and extracted wiki content to facilitate mod development.
## Technology Stack
- **Programming Language**: C# (.cs files)
- **Game Engine**: Unity (UnityEngine namespace)
- **API**: ModAPI (People Playground's modding API)
- **Documentation Tools**: Python scripts for web scraping and content extraction
- **Asset Formats**: PNG images for sprites and thumbnails
## Project Structure
### Core Directories
- **`ppg-snippets/`** - Code snippet library containing reusable C# code examples for common modding tasks (https://github.com/mestiez/ppg-snippets)
- **`extracted_wiki_content/`** - Complete documentation extracted from the official People Playground wiki (https://wiki.studiominus.nl/)
- **`parsing_docs/`** - Python utilities for extracting and processing documentation from the wiki (used only for generating `extracted_wiki_content/`)
- **`SledgeHammer/`** - Example mod implementation demonstrating basic mod structure
### Key Files
- **`How-To-Mod-In-People-Playground.md`** - Comprehensive tutorial for creating mods (sourced from Steam Community)
- **`mod.json`** - Mod configuration file (JSON format) defining metadata, entry point, and assets
- **`script.cs`** - Main mod script file containing the C# implementation
## Mod Configuration (mod.json)
The `mod.json` file serves as the mod manifest with the following structure:
```json
{
"Name": "Mod Name",
"Author": "Author Name",
"Description": "Mod description",
"ModVersion": "0.1",
"GameVersion": "1.27.5",
"ThumbnailPath": "thumb.png",
"EntryPoint": "Mod.Mod",
"Tags": ["Fun"],
"Scripts": ["script.cs"]
}
```
- **EntryPoint**: Must follow namespace.class format (e.g., "Mod.Mod")
- **Scripts**: Array of C# script files to load
- **GameVersion**: Target People Playground version compatibility
## Code Organization
### Namespace Convention
All mod code uses the `Mod` namespace:
```csharp
namespace Mod
{
public class Mod
{
public static void Main()
{
// Mod initialization code
}
}
}
```
### ModAPI Usage Patterns
- **Item Registration**: Use `ModAPI.Register()` with `Modification()` objects
- **Asset Loading**: Use `ModAPI.LoadSprite()` for textures
- **Category/Item Discovery**: Use `ModAPI.FindCategory()` and `ModAPI.FindSpawnable()`
## Development Workflow
### Asset Requirements
See `CUSTOM-SETTINGS.md` for detailed asset style guidelines and visual requirements.
**Folder Structure:** Use `sprites/` and `sfx/` subfolders for organization:
```
mod_folder/
├── sprites/item.png
└── sfx/impact.wav
```
### Mod Installation Path
```
C:\Program Files (x86)\Steam\steamapps\common\People Playground\Mods
```
### Important Development Notes
- Disable Steam Cloud for People Playground to prevent file recreation issues
- File naming within mod folders affects load order (alphabetical)
- All script files must use .cs extension (C#)
- Only mod.json uses JSON format, all other logic in C#
## Notes
- The `parsing_docs/` folder is used exclusively for generating the `extracted_wiki_content/` documentation and should not be considered part of the main mod development project
## Code Snippets Library
The `ppg-snippets/` directory contains examples for:
- Basic mod entry points
- Adding simple items and weapons
- Creating humans and entities
- Spawning particle effects
- Event handling and activation
- Environment modification
- Debug visualization
- Texture assignment for multi-sprite objects
## Documentation Sources
- **Extracted Wiki Content**: Complete API documentation from official wiki
- **Steam Community Tutorial**: Step-by-step mod creation guide
- **Code Snippets**: Practical examples for common modding scenarios
## Build and Test Process
1. Create mod folder in People Playground Mods directory
2. Develop mod.json configuration file
3. Implement C# script logic
4. Create and import sprite assets
5. Test in-game via mod loading system
6. Debug using in-game console and visual feedback
## Security Considerations
- Mods run with full file system access within game directory
- Steam Cloud synchronization can restore deleted files
- Asset paths are relative to mod directory
- No sandboxing - mods can access Unity engine fully

19
CUSTOM-SETTINGS.md Normal file
View File

@@ -0,0 +1,19 @@
# Custom Settings
## Complete Style Description
> 64 bit pixel graphics of a lonely desktop computer, Y2K aesthetics, dreamcore atmosphere, style, highly stylized 32-bit pixel graphics, PlayStation 1 graphics, melancholic, low contrast, Windows 95, angel wings, archive core, vaporwave, dreamcore, nostalgia
---
## Note for Asset Creation
**Write sprites description with detail about prompt with my style**
When creating assets using ComfyUI:
- Use the Complete Style Description above as foundation for your Positive prompt
- Add specific object/character details to the prompt while maintaining the overall aesthetic
- Consider Negative prompts to avoid unwanted modern/high-contrast elements
- Keep my style consistent across all sprites
## Image Dimensions
- **Any size can be chosen** for sprites
- **Thumbnail**: 512x512 pixels

File diff suppressed because it is too large Load Diff

View File

@@ -1,2 +1,22 @@
# ppg-modkit
# People Playground Mod Development Kit
## Quick Setup
Clone `ppg-snippets` repo:
```bash
git clone https://github.com/mestiez/ppg-snippets.git
```
## Important files
- `ppg-snippets/` folder with code snippets from `https://github.com/mestiez/ppg-snippets`
- `extracted_wiki_content/` full docs for create mods from `https://wiki.studiominus.nl/`
- `How-To-Mod-In-People-Playground.md` - complete tutorial to creating a mode (from `https://steamcommunity.com/sharedfiles/filedetails/?id=3363454139`)
- `CUSTOM-SETTINGS.md` for personal asset style guidelines and custom configuration.
## Example prompt
```
READ `AGENTS.md`, `README.md` and other files that necessary for you to create new mode in new folder.
I provide all what you need. You can use grep or whatenver in `extracted_wiki_content/`, `ppg-snippets/` and `How-To-Mod-In-People-Playground.md`.
Do whatever you want.
```

25
SledgeHammer/README.txt Normal file
View File

@@ -0,0 +1,25 @@
SledgeHammer Mod
================
A basic example mod that introduces a classic sledgehammer weapon to People Playground.
Features
--------
• Simple, functional sledgehammer item
• Basic physics and collision detection
• Demonstrates core modding concepts
• Clean, minimal code structure
How to Use
----------
1. Activate the mod in your mod list
2. Find the sledgehammer in the weapons category
3. Spawn it and start smashing!
Technical Details
-----------------
This mod serves as an educational example showing:
• Proper mod.json configuration
• Item registration with ModAPI
• Basic sprite loading and assignment
• Simple weapon implementation

17
SledgeHammer/mod.json Normal file
View File

@@ -0,0 +1,17 @@
{
"Name": "SledgeHammer",
"Author": "Nuclear.Lab",
"Description": "A heavy demolition sledgehammer with devastating impact force and realistic physics.",
"ModVersion": "1.0",
"GameVersion": "1.27.5",
"ThumbnailPath": "thumb.png",
"EntryPoint": "Mod.Mod",
"Tags": [
"Fun",
"Weapons",
"Melee"
],
"Scripts": [
"script.cs"
]
}

45
SledgeHammer/script.cs Normal file
View File

@@ -0,0 +1,45 @@
using UnityEngine; //You'll probably need this...
namespace Mod
{
public class Mod
{
public static void OnLoad()
{
// Optional initialization method - runs when mod is first loaded
}
public static void OnUnload()
{
// Optional cleanup method - runs when mod is unloaded/game closes
}
public static void Main()
{
// register item to the mod api
ModAPI.Register(
new Modification()
{
OriginalItem = ModAPI.FindSpawnable("Power Hammer"), //item to derive from (better physics than Brick)
NameOverride = "SledgeHammer", //new item name
DescriptionOverride = "A heavy demolition sledgehammer.", //new item description
CategoryOverride = ModAPI.FindCategory("Melee"), //new item category
ThumbnailOverride = ModAPI.LoadSprite("sledgeHammerView.png"), //new item thumbnail (relative path)
AfterSpawn = (Instance) => //all code in the AfterSpawn delegate will be executed when the item is spawned
{
Instance.GetComponent<SpriteRenderer>().sprite = ModAPI.LoadSprite("sledgeHammer.png"); //get the SpriteRenderer and replace its sprite with a custom one
var physical = Instance.GetComponent<PhysicalBehaviour>();
if (physical != null)
{
physical.InitialMass = 8f; //make it heavier for realistic sledgehammer feel
physical.TrueInitialMass = 8f; //ensure the mass is actually applied
}
Instance.FixColliders(); //fix colliders to match new sprite
}
}
);
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
SledgeHammer/thumb.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 KiB

View File

@@ -0,0 +1,48 @@
URL: https://wiki.studiominus.nl/snippets.html
Title: People Playground Modding - Code snippets
==================================================
Code snippets
These articles explain and show snippets of code that may be useful to you. Alternatively, you can view the repository directly.
Cartridges
Materials
Particle effects
Physical properties
Spawnable items
Activation action
Random sprite assignment
Creating a background script
Change environment settings
Create an explosion
Creating a light
Custom human sprite
Debug drawing
Editing pre-existing items
Empty entry point
Listen for events
Map IDs
Registering an item
Adding a firearm
Spawn particles on activation
Basic texture pack system

View File

@@ -0,0 +1,22 @@
URL: https://wiki.studiominus.nl/details.html
Title: People Playground Modding - Details
==================================================
Details
Here follow all pages under this category.
Layers
Mod Lifecycle
Metadata
Extended mod description
Script Files
Shady Code Rejection
The Unity Engine
Built-in components

View File

@@ -0,0 +1,6 @@
URL: https://wiki.studiominus.nl/details/builtInComponents.html
Title: People Playground Modding - Built-in components
==================================================
Built-in components
Of course you can write your own game components, but it may be useful to understand the existing game components. There are hundreds of components in People Playground, most of which are not fully explained. However, the most significant components have been properly documented in the documentation.

View File

@@ -0,0 +1,15 @@
URL: https://wiki.studiominus.nl/details/readme.html
Title: People Playground Modding - Extended mod description
==================================================
Extended mod description
Your mod can optionally contain a README.txt file in its root directory (the same folder as the mod.json).
The file should contain a more detailed description that supports TMP Rich Text, but can also just be written as plain text.
The text will appear on the pane on the right, irrespective of the mod's current state (active, inactive, suspicious, errored). It could contain usage instructions, extended credits, or just a lengthy description of the mod.
Its file size cannot exceed 5 kilobytes and it cannot contain any links.
With README.txt
Without README.txt

View File

@@ -0,0 +1,66 @@
URL: https://wiki.studiominus.nl/details/layers.html
Title: People Playground Modding - Layers
==================================================
Layers
Unity has a layer system and a sprite sorting system. The game makes extensive use of these systems and the configuration may be useful to modders. This page will describe each layer and what its used for.
Object layers
Here is an article explaining Unity's object layers.
DefaultTransparentFXIgnore RaycastWaterUIPost ProcessingObjectsDebrisBoundsOverlayCollidingDebrisPortalLightSpriteScreenUIEnergyHoverSurfaceImmobilityFieldThumbnailDefaultTransparentFXIgnore RaycastWaterUIPost ProcessingObjectsDebrisBoundsOverlayCollidingDebrisPortalLightSpriteScreenUIEnergyHoverSurfaceImmobilityFieldThumbnail
0: Default
Comes with Unity. Not used for anything.
1: TransparentFX
Comes with Unity. Not used for anything.
2: Ignore Raycast
Comes with Unity. Not used for anything.
4: Water
The water layer. Liquid body (water and lava) colliders are on this layer. Used by firearms to create splash effects. Why is it called "Water" if there's also lava? Because there wasn't always lava.
5: UI
The UI is on this layer.
8: Post Processing
Post processing volumes are on this layers.
9: Objects
Most physical objects are on this layer. Objects on this layer collide with each other, the room, and some debris. If you want to create an object that colliders with other objects, this is the layer to put it on.
10: Debris
Most debris is on this layer. Debris only colliders with the walls, ceiling, and floor.
11: Bounds
Collides with everything. The chamber walls are on this layer.
12: Overlay
Not used for anything.
13: CollidingDebris
Colliding debris colliders with the room and objects.
14: Portal
Not used for anything.
15: LightSprite
Objects on this layer are rendered by the lighting camera. Most objects in this layer are large radial gradients.
16: ScreenUI
Objects on this layer are rendered under the normal UI and above game objects. They are not affected by post processing effects.
17: Energy
Energy weapons that should collide with each other, but not anything else, are on this layer.
18: HoverSurface
Unused.
19: ImmobilityField
Immobility capture fields have a collider on this layer. Other objects can cheaply query this layer to find out if they are inside an immobility capture field.
31: Thumbnail
When a contraption is saved, the whole thing is taken to a thumbnail room where everything is on this layer.
Sorting layers
Here is an article explaining Unity's sorting layers.
Bottom
The lowest sorting layer. Used by map decorations and such.
Background
Originally created for the background limbs of humans. It's used by objects that have parts that necessarily need to be behind most other objects.
Default
Most objects are on this layer.
Portals
Unused.
Foreground
Originally created for the foreground limbs of humans. It's used by objects that have parts that necessarily need to be in front of most other objects.
Bubbles
Used by some effects and renderers that should not render outside of water bodies.
Top
The top sorting layer. Not actually the top though. Contains map decorations like water and such.
Decals
Contains decals that are supposed to be shown on top of everything. Does not mean all decals are on this layer. Rarely used.

View File

@@ -0,0 +1,33 @@
URL: https://wiki.studiominus.nl/details/meta.html
Title: People Playground Modding - Metadata
==================================================
Metadata
Every mod has a metadata file. Metadata files describe information about the mod itself. The file looks something like this:
{
"Name": "No gore mod",
"Author": "ActualHuman32",
"Description": "This mod adds cool beans",
"ModVersion": "1.0",
"GameVersion": "1.8.1",
"ThumbnailPath": "thumb.png",
"EntryPoint": "Mod.Mod",
"Tags": [
"Fun"
],
"Scripts": [
"script.cs"
]
}
Name is the mod name.
Author is the mod creator.
Description describes the mod.
ModVersion is the version of the mod.
GameVersion is the game version this mod was intended for.
ThumbnailPath is the relative path to the thumbnail image.
Tags is an array of strings that indicate what to categorise it by on the Workshop.
EntryPoint is the C# location of the mod entry point.
Scripts is an array of file paths that tell the mod loader what files to include. This is relative to the json file.
There is an online generator available here.

View File

@@ -0,0 +1,31 @@
URL: https://wiki.studiominus.nl/details/lifecycle.html
Title: People Playground Modding - Mod Lifecycle
==================================================
Mod Lifecycle
Mods have a simple lifecycle. A lifecycle describes when a mod is created, what it does during its lifetime, and when it is destroyed.
1. Load
Main menu loaded
mod.json is found and interpreted. All referenced scripts are read.
2. Compile
Mod loaded
All loaded scripts are compiled and written to a DLL by the compiler server. The DLL is loaded into memory. OnLoad is called.
3. Execute
Map loaded or catalog updated
ModAPI.ModMetaData is set and `Main` is called.
4. Termination
Game is exited
OnUnload is called. All resources are freed.
Note that OnLoad is only called if the mod is active after compilation. If it's inactive (the default), it will call OnLoad once activated and never again.
A mod may spit out errors in the compilation stage (or other stages). The errors are always logged to the Logs folder.

View File

@@ -0,0 +1,49 @@
URL: https://wiki.studiominus.nl/details/scriptFiles.html
Title: People Playground Modding - Script Files
==================================================
Script Files
The metadata file contains a Scripts field. This field is an array that lists all the scripts to be loaded by the mod as relative paths. While not necessary, it's convenient to split your mod into multiple files if it's big enough.
The EntryPoint field points the game to the entry point in your mod. This is typically formatted like Namespace.Class. The game will look for static void Main() at the specified entry point. This method is called every time the toybox (aka catalog) is repopulated. This typically happens when the map is opened or when a local contraption was modified.
The game will also look for static void OnLoad(). This is an optional method but it is useful for initialisation code that runs before anything else. The method is invoked right after the mod is compiled. Complementing OnLoad, static void OnUnload() is called just before the game window is closed.
using UnityEngine;
namespace CoolMod
{
public class CoolMod
{
public static void OnLoad()
{
Debug.Log("Cool Mod has loaded! :)");
}
public static void Main()
{
ModAPI.Register(
new Modification()
{
OriginalItem = ModAPI.FindSpawnable("Generator"),
NameOverride = "Ultra gaming generator [CoolMod]",
NameToOrderByOverride = "Generator 2",
DescriptionOverride = "Generator specifically for gaming",
CategoryOverride = ModAPI.FindCategory("Machinery"),
ThumbnailOverride = ModAPI.LoadSprite("gen2.png"),
AfterSpawn = (Instance) =>
{
Instance.transform.localScale = new Vector3(5, 5, 5);
Instance.GetComponent<GeneratorBehaviour>().TargetCharge = 150000;
}
}
);
}
public static void OnUnload()
{
Debug.Log("Cool Mod has been unloaded :(");
}
}
}
Common script file. The entry point would be CoolMod.CoolMod
A typical script file will look like the image above. The two important parts of the modding API are ModAPI and Modification. There are a few classes that may be useful aside from the two mentioned earlier.

View File

@@ -0,0 +1,66 @@
URL: https://wiki.studiominus.nl/details/shadyCodeRejection.html
Title: People Playground Modding - Shady Code Rejection
==================================================
Shady Code Rejection
To prevent modders from creating malicious mods, the game skims the source code and rejects the mod completely if it encounters specific structures or keywords.
If you try to use any of the following, your mod will be marked as suspicious:
Forbidden modifiers
extern
Forbidden identifiers
InteropServices
Diagnostics
Http
CodeDom
Application
Quit
UnityWebRequest
TextReader
TextWriter
BinaryReader
BinaryWriter
StreamReader
StreamWriter
StringReader
StringWriter
FileStream
IsolatedStorageFileStream
NetworkStream
PipeStream
UserPreferenceManager
WebRequest
WebClient
WebSocket
Socket
Steamworks
Process
DllImport
LoadFile
ReadFile
WWW
AppDomain
AssemblyBuilder
FromFile
OpenURL
LoadURL
RejectShadyCode
CreateType
File
FileInfo
Directory
DirectoryInfo
Assembly
Forbidden using directives
using System.Security
using System.Web
using UnityEngine.Networking
using Steamworks
or any using directive with aliases, such as
using Rand = UnityEngine.Random

View File

@@ -0,0 +1,6 @@
URL: https://wiki.studiominus.nl/details/unity.html
Title: People Playground Modding - The Unity Engine
==================================================
The Unity Engine
A lot of the functionality you'll be using lives in the Unity engine. Their documentation may be useful to you.

View File

@@ -0,0 +1,28 @@
URL: https://wiki.studiominus.nl/intro/boilerplate.html
Title: People Playground Modding - Empty mod template
==================================================
Empty mod template / Boilerplate
by Talon
In modding communities, a Boilerplate/Skeleton is known as the mod base. This will allow you to quickly make new mods without needing to go through the hassle of setting it up from scratch.
The Boilerplate includes 2 folders for sound effects and sprites, a static ModTag string within mod.cs, and the basic skeleton of an item.
Download
Setup
This tutorial is assuming you're using Visual Studio
Once you've extracted and installed the boilerplate, you can put it into People Playground\Mods and it'd work fine, but assuming you'd like to modify the code, there are a few more things you'll need to setup.
After placing the extracted mod into the Mods folder, open Empty.sln and navigate to mod.cs. Here you'll be greeted with a handful of different error messages, all about the missing references. Right click the "References" member from the solution explorer, and select "Add References".
Press browse and navigate to People Playground\People Playground_Data\Managed, which is where the games .DLL files are contained.
Your mod determines what files you'll need to reference, but I'll usually stick with the following, adding more if I need them:
Assembly-CSharp.dll
UnityEngine.dll
UnityEngine.CoreModule.dll
UnityEngine.Physics2DModule.dll
Some more advanced things you're able to reference include the UI, Text, and Input modules, depending on what you're modifying.

View File

@@ -0,0 +1,27 @@
URL: https://wiki.studiominus.nl/intro/fileStructure.html
Title: People Playground Modding - File Structure
==================================================
File Structure
[ Game root folder ]
Mods
Some other mod
...
Green brick mod
...
No boys allowed mod
...
Your mod
mod.json
thumb.png
script.cs
The game looks for files called mod.json in a folder called "Mods" (case-sensitive). These are metadata files that contain information about the mod. They should (recommended, not required) be contained within a folder especially made for the mod. Metadata files tell the game basic information such as name, description, version, etc. It also tells the game where to look for its script files. Read more about them here.

View File

@@ -0,0 +1,16 @@
URL: https://wiki.studiominus.nl/gameAssets.html
Title: People Playground Modding - Game assets
==================================================
Game assets
This page contains references to assets directly from the game that I have made available to use in mods. As of yet, only sprites are made available. Select an item in the list and simply copy or save the images on the right.
Note that the object hierarchy may differ in-game as the object behaviour creates, destroys, or otherwise manipulates children on spawn
Note that the object hierarchy is always subject to change. Make sure to write your code such that it still works in the event that the structure is not what you expect!
1000kg Weight9mm PistolAcceleratorAccumulatorAcid SyringeActivation FuseActivation ToggleActivation TransformerActivator ElectrodeAdrenaline SyringeAK-47AnchorAndroidArchelix CasterAssault RifleAtom BombAxeBalloonBaseball BatBatteryBazookaBeam RifleBellBG Signal ConverterBicycleBlasterBlaster RifleBlood FlaskBlood TankBlue cathode lightBoat MotorBone Eating SyringeBottleBowling BallBowling PinBR Signal ConverterBrickBrick CubeBrick WallBulletproof SheetBusBus ChairButtonCapacitor AttachmentCarCardiopulmonary Bypass MachineCeiling TurretCentrifugeChainsawClampCoagulation SyringeCobblestone WallConcrete slabContainer WagonConveyor BeltCooling ElementCrateCrossbowCrossbow BoltCrystalDampening BoxDe staf van SinterklaasDeath SyringeDecimatorDefibrillatorDetached 120mm CannonDetached 30mm HEAT CannonDetached Beam CannonDetached Laser CannonDetached Ray CannonDetectorDisassemblerDynamiteElectricity TransformerElectromagnetEMP GeneratorEmpty SyringeEnergy SwordEnergy Vessel ExplosiveExplosive Rounds AttachmentFanFire DetectorFire ExtinguisherFireworksFlamethrowerFlashlightFlashlight AttachmentFlaskFlintlock PistolFloodlightFluorescent LampFreeze SyringeFreezerayFusion BombG1 Submachine GunGateGeneral Purpose BombGeneratorGiant Wooden BowlGlass PaneGorseGorse Blood FlaskGreen cathode lightGrenade LauncherGyroscope StabiliserHammerHandcannonHandgrenadeHeart MonitorHeating ElementHeatrayHolographic DisplayHover ThrusterHovercarHumanI-BeamImmobility FieldIncendiary Rounds AttachmentIndustrial GeneratorIndustrial GyrostabiliserIndustrial PistonInfrared ThermometerInsulatorIon CannonIon ThrusterJet EngineJukeboxKey TriggerKnifeKnockout SyringeLagboxLanceLandmineLarge BushLaser AttachmentLaser PointerLaser ReceiverLaser sentry turretLaunch PlatformLED BulbLife DetectorLife SyringeLight Machine GunLightbulbLiquid CanisterLiquid DuplicatorLiquid OutletLiquid PressuriserLiquid ValveLiquidentifierMachine BlasterMachine GunMagnum RevolverMending SyringeMetal CubeMetal DetectorMetal PoleMetal PyramidMetal WheelMetronomeMini ThrusterMinigunMirrorMissile LauncherMotion DetectorMotorised WheelNitroglycerine FlaskOil FlaskPainkiller SyringeParticle ProjectorPhysics GunPink ExplosivePink SyringePistolPistonPlankPlastic BarrelPlastic ExplosivePlatePower GaugePower HammerPressure ValvePropellerPulse DrumPumpkinPurple cathode lightRadioRampReconstructorRed BarrelRed cathode lightResistorResizable HousingRevolverRG Signal ConverterRifleRigidifierRocket LauncherRodRotorScherbenwerferScope AttachmentSentry TurretServoShock DetectorShotgunSignal FlareSirenSliderSmall BoulderSmall BushSmall ButtonSmall I-BeamSniper RifleSoapSoviet Submachine GunSpearSpikeSpike GrenadeSpike RifleSpot LightStickSticky GrenadeStielhandgranateStone BrickStone Brick WallStormbaanStructural PillarStunnerSubmachine GunSwordTall TreeTankTelevisionTempered Glass PaneTesla CoilText DisplayThermometerThrusterThrusterbedTimed GateToggleable MirrorTorchTruckUltra Strength SyringeVaseWater Breathing SyringeWheelWhite cathode lightWinchWingWooden ChairWooden PillarWooden PoleWooden TableWooden WheelWorm StaffWrenchYellow cathode lightZombie Syringe

View File

@@ -0,0 +1,28 @@
URL: https://wiki.studiominus.nl/index.html
Title: People Playground Modding - Home
==================================================
Home
Welcome to the People Playground modding wiki!
This wiki covers modding People Playground, assuming you have at least a basic understanding of C#. It is always updated to the latest version of the game. Some behaviour described here may differ in older versions.
It is recommended you start out with the tutorials and read some of the snippets to get an idea of how things work. Refer to the documentation for more details.
Tutorials
Sprites and object hierarchies
Game code documentation
Code snippets

View File

@@ -0,0 +1,49 @@
URL: https://wiki.studiominus.nl/internalReference/AcceleratorBoltBehaviour.html
Title: People Playground Modding - AcceleratorBoltBehaviour
==================================================
public class AcceleratorBoltBehaviour
Inherits BaseBoltBehaviour
No description provided
Fields
public float EnergyLevel
Energy level of the projectile
public float CameraShakeAmount
Amount of constant camera shake
public GameObject ImpactEffect
Effect to spawn on impact
public GameObject LargeImpactEffect
Effect to spawn on impact when the energt level is high enough
public float ImpactStrength
Amount of force to apply to objects that the projectile collides with
public float AoERadius
The area-of-effect radius to consider while traveling
public float ActivationDelay
How many seconds to wait until damaging AoE effects are activated. This exists to protect the wielder.
public LayerMask ImmobiltyFieldLayer
[SkipSerialisation]
No description provided
public float ImmobilityFieldSlowdown
[SkipSerialisation]
No description provided
Methods
public override float GetSpeedMultiplier()
No description provided
protected override void Update()
No description provided
public override bool ShouldReflect(RaycastHit2D hit)
No description provided
protected override void OnHit(RaycastHit2D hit)
No description provided

View File

@@ -0,0 +1,94 @@
URL: https://wiki.studiominus.nl/internalReference/AcceleratorGunBehaviour.html
Title: People Playground Modding - AcceleratorGunBehaviour
==================================================
public class AcceleratorGunBehaviour
Inherits CanShoot
No description provided
Fields
public AudioSource LoopAudioSource
[SkipSerialisation]
No description provided
public AudioSource OneShotAudioSource
[SkipSerialisation]
No description provided
public AudioClip[] SingleShotSound
[SkipSerialisation]
No description provided
public AudioClip FullPowerShotSound
[SkipSerialisation]
No description provided
public AudioClip ChargeUpSound
[SkipSerialisation]
No description provided
public AudioClip FullPowerWaitingLoopSound
[SkipSerialisation]
No description provided
public AudioClip LowEnergyBoltLoopSound
[SkipSerialisation]
No description provided
public AudioClip HighEnergyBoltLoopSound
[SkipSerialisation]
No description provided
public Rigidbody2D Rigidbody
[SkipSerialisation]
No description provided
public PhysicalBehaviour PhysicalBehaviour
[SkipSerialisation]
No description provided
public GameObject ProjectilePrefab
[SkipSerialisation]
No description provided
public Vector2 LocalBarrelPosition
[SkipSerialisation]
No description provided
public Vector2 LocalBarrelDirection
[SkipSerialisation]
No description provided
public float RecoilIntensity
[SkipSerialisation]
No description provided
public ParticleSystem MuzzleflashSystem
[SkipSerialisation]
Reference to the muzzle flash particle system
public ParticleSystem ChargeUpParticleSystem
[SkipSerialisation]
Reference to the charge-up particle system
public float MaxChargeTime
The amount of seconds it takes to charge the gun
public float CurrentChargeProgress
Charge-up progress from 0.0 to 1.0
Properties
public override Vector2 BarrelPosition
No description provided
public Vector2 BarrelDirection
No description provided
Methods
public void ShootLowPower()
Fire at low power
public void ShootFullPower()
Fire at full power
public override void Shoot()
No description provided

View File

@@ -0,0 +1,18 @@
URL: https://wiki.studiominus.nl/internalReference/AcidPoison.html
Title: People Playground Modding - AcidPoison
==================================================
public class AcidPoison
Inherits PoisonSpreadBehaviour
[System.Obsolete]
No description provided
Properties
public override float SpreadSpeed
No description provided
public override float Lifespan
No description provided
Methods
public override void Start()
No description provided

View File

@@ -0,0 +1,28 @@
URL: https://wiki.studiominus.nl/internalReference/AcidPoolBehaviour.html
Title: People Playground Modding - AcidPoolBehaviour
==================================================
public class AcidPoolBehaviour
Inherits MonoBehaviour
No description provided
Fields
public WaterBehaviour Pool
No description provided
public float TemperatureIncreaseCelsius
No description provided
public float AcidProgress
No description provided
public float MaxTemperatureCelsius
No description provided
public bool OnlyOrganic
No description provided
public float WinceIntensity
No description provided
public float PainIntensity
No description provided

View File

@@ -0,0 +1,12 @@
URL: https://wiki.studiominus.nl/internalReference/AcidSyringe.html
Title: People Playground Modding - AcidSyringe
==================================================
public class AcidSyringe
Inherits SyringeBehaviour
No description provided
Nested types
AcidSyringe.AcidLiquid
Methods
public override string GetLiquidID()
No description provided

View File

@@ -0,0 +1,19 @@
URL: https://wiki.studiominus.nl/internalReference/AcidSyringe_AcidLiquid.html
Title: People Playground Modding - AcidSyringe.AcidLiquid
==================================================
public class AcidLiquid
This nested type resides in AcidSyringe
Inherits GorseBlood
No description provided
Fields
public new const string ID
No description provided
Constant value: "ACID"
Methods
public override string GetDisplayName()
No description provided
public (constructor) AcidLiquid()
No description provided

View File

@@ -0,0 +1,20 @@
URL: https://wiki.studiominus.nl/internalReference/ActionCategory.html
Title: People Playground Modding - ActionCategory
==================================================
public enum ActionCategory
Keybind categories as shown in the key rebinding UI
General
The "General" category
UserInterface
The "User Interface" category
Camera
The "Camera" category
MapEditor
The "Map editor" category (not seen in-game as of 1.21.2)
Modded
The "Modded"category. Only seen when populated.

View File

@@ -0,0 +1,13 @@
URL: https://wiki.studiominus.nl/internalReference/ActionControlBehaviour.html
Title: People Playground Modding - ActionControlBehaviour
==================================================
public class ActionControlBehaviour
Inherits MonoBehaviour
No description provided
Fields
public TextMeshProUGUI Action
No description provided
public TextMeshProUGUI Trigger
No description provided

View File

@@ -0,0 +1,7 @@
URL: https://wiki.studiominus.nl/internalReference/ActionRepresentation.html
Title: People Playground Modding - ActionRepresentation
==================================================
public struct ActionRepresentation
[Serializable] [Obsolete]
Contains all data for a keybind.

View File

@@ -0,0 +1,17 @@
URL: https://wiki.studiominus.nl/internalReference/ActionUniverse.html
Title: People Playground Modding - ActionUniverse
==================================================
public enum ActionUniverse
Keybind universes
None
The action resides in no universe meaning it cannot be used
All
The action resides in all universes meaning it can be used anywhere
Game
The action resides in the Game universe meaning it can only be used in the game
MapEditor
The action resides in the Map Editor universe meaning it can only be used in the map editor

View File

@@ -0,0 +1,8 @@
URL: https://wiki.studiominus.nl/internalReference/ActivateIfExpandedGore.html
Title: People Playground Modding - ActivateIfExpandedGore
==================================================
public class ActivateIfExpandedGore
Inherits MonoBehaviour
[System.Obsolete]
Behaviour that makes sure the attached GameObject is only active if Expanded Gore is enabled in the preferences.

View File

@@ -0,0 +1,7 @@
URL: https://wiki.studiominus.nl/internalReference/ActivateIfTutorial.html
Title: People Playground Modding - ActivateIfTutorial
==================================================
public class ActivateIfTutorial
Inherits MonoBehaviour
Behaviour that makes sure the attached GameObject is only active if the tutorial is to be shown, which only happens the first time a map is loaded

View File

@@ -0,0 +1,75 @@
URL: https://wiki.studiominus.nl/internalReference/ActivationPropagation.html
Title: People Playground Modding - ActivationPropagation
==================================================
public class ActivationPropagation
Inherits System.IDisposable
Structure that represents a single activation propagation
Fields
public static readonly HashSet<ActivationPropagation> ActiveSignalSet
No description provided
public const int MaximumPropagations
Constant that determines the maximum amount of simultaneous activation signals in the world.
Constant value: 10_000
public static readonly ushort[] AllChannels
Immutable array that contains all channels (0, 1, 2)
public const ushort Green
The green channel
Constant value: 0
public const ushort Red
The red channel
Constant value: 1
public const ushort Blue
The blue channel
Constant value: 2
public int Identity
[System.Obsolete]
The unique identifier for this activation
public HashSet<Object> Path
Collection of all traversed objects by this signal
public int TraversedCount
Amount of objects this signal has traveled through
public bool Direct
Is this signal directly created by the player?
public ushort Channel
The channel of this signal
public GameObject Sender
The original object which the activation signal was sent from.
public GameObject Target
The original object which the activation signal is directed to.
Properties
public int Traversed { get; set; }
[System.Obsolete("Use TraversedCount instead")]
Amount of objects this signal has traveled through
Methods
public bool Contains(Object obj)
Has this signal traversed the given object?
public (constructor) ActivationPropagation(bool direct, ushort channel = Green, GameObject sender = null)
Construct a signal
public (constructor) ActivationPropagation(Object obj, ushort channel = 0, GameObject sender = null)
Construct a signal
public (constructor) ActivationPropagation()
No description provided
public ActivationPropagation Branch(Object ob)
Branch this signal and return the branch.
public void Dispose()
No description provided

View File

@@ -0,0 +1,26 @@
URL: https://wiki.studiominus.nl/internalReference/ActivationEvent.html
Title: People Playground Modding - Activations.ActivationEvent
==================================================
public struct ActivationEvent
[Serializable]
No description provided
Fields
public readonly int Depth
No description provided
public readonly Channel Channels
No description provided
public readonly ActivationEventType EventType
No description provided
public readonly ActivationSource Source
No description provided
Methods
public (constructor) ActivationEvent(int depth, Channel channels, ActivationEventType eventType, ActivationSource source = ActivationSource.Node)
No description provided
public readonly ActivationEvent GetBranch()
No description provided

View File

@@ -0,0 +1,11 @@
URL: https://wiki.studiominus.nl/internalReference/ActivationEventType.html
Title: People Playground Modding - Activations.ActivationEventType
==================================================
public enum ActivationEventType
No description provided
Start
No description provided
Stop
No description provided

View File

@@ -0,0 +1,14 @@
URL: https://wiki.studiominus.nl/internalReference/ActivationSource.html
Title: People Playground Modding - Activations.ActivationSource
==================================================
public enum ActivationSource
No description provided
Unknown
No description provided
Player
No description provided
Node
No description provided

View File

@@ -0,0 +1,20 @@
URL: https://wiki.studiominus.nl/internalReference/ActivationTarget.html
Title: People Playground Modding - Activations.ActivationTarget
==================================================
public class ActivationTarget
[System.Serializable]
No description provided
Fields
public readonly NodeBehaviour Node
No description provided
public readonly Channel Channels
No description provided
Methods
public (constructor) ActivationTarget(NodeBehaviour node, Channel channelMask)
No description provided
public override string ToString()
No description provided

View File

@@ -0,0 +1,21 @@
URL: https://wiki.studiominus.nl/internalReference/Channel.html
Title: People Playground Modding - Activations.Channel
==================================================
public enum Channel
[Flags]
No description provided
None
No description provided
Green
No description provided
Red
No description provided
Blue
No description provided
All
No description provided

View File

@@ -0,0 +1,14 @@
URL: https://wiki.studiominus.nl/internalReference/LegacyActivationCache.html
Title: People Playground Modding - Activations.LegacyActivationCache
==================================================
public static class LegacyActivationCache
Tries to detect when a component only responds to legacy activations
Nested types
Activations.LegacyActivationCache.CachedResult
Methods
public static void ProcessObject(GameObject gm, in ActivationEvent activation)
No description provided
public static CachedResult GetLegacyActivationMethods(Component component)
No description provided

View File

@@ -0,0 +1,19 @@
URL: https://wiki.studiominus.nl/internalReference/LegacyActivationCache_CachedResult.html
Title: People Playground Modding - Activations.LegacyActivationCache.CachedResult
==================================================
public class CachedResult
This nested type resides in LegacyActivationCache
No description provided
Fields
public bool Use
No description provided
public bool UseContinuous
No description provided
public bool IsolatedActivation
No description provided
public bool IsolatedContinuousActivation
No description provided

View File

@@ -0,0 +1,59 @@
URL: https://wiki.studiominus.nl/internalReference/NodeBehaviour.html
Title: People Playground Modding - Activations.NodeBehaviour
==================================================
public class NodeBehaviour
Inherits MonoBehaviour, Messages.IUse, Messages.IOnBeforeSerialise, Messages.IOnAfterDeserialise
[DisallowMultipleComponent]
No description provided
Nested types
Activations.NodeBehaviour.SerialisableEvent
Fields
public float DelaySeconds
No description provided
public List<ActivationTarget> Targets
[SkipSerialisation]
No description provided
public UnityEvent<Channel> OnUseStart
[SkipSerialisation]
No description provided
public UnityEvent<Channel> OnUseEnd
[SkipSerialisation]
No description provided
public Channel CurrentlyActive
[SkipSerialisation]
No description provided
public UnityEvent<Channel> OnEmit
[SkipSerialisation]
No description provided
public Channel Started
[HideInInspector]
What channels have been started this frame. This is used to invoke the events at the end of the frame.
public Channel Ended
[HideInInspector]
What channels have been stopped this frame. This is used to invoke the events at the end of the frame.
public static int MaxSignalsPerFrame
No description provided
public SerialisableEvent[] SerialisableState
[HideInInspector]
Used for serialisation. You probably shouldn't touch this.
The scheduled activations are stored to this array before serialisation and read from after deserialisation
Methods
public void Use(ActivationPropagation activation)
No description provided
public void OnBeforeSerialise()
No description provided
public void OnAfterDeserialise(List<GameObject> gameObjects)
No description provided

View File

@@ -0,0 +1,20 @@
URL: https://wiki.studiominus.nl/internalReference/NodeBehaviour_SerialisableEvent.html
Title: People Playground Modding - Activations.NodeBehaviour.SerialisableEvent
==================================================
public struct SerialisableEvent
This nested type resides in NodeBehaviour
[Serializable]
No description provided
Fields
public float RemainingTime
No description provided
public Channel ActivationChannels
No description provided
public int ActivationDepth
No description provided
public ActivationEventType EventType
No description provided

View File

@@ -0,0 +1,23 @@
URL: https://wiki.studiominus.nl/internalReference/ScheduledActivation.html
Title: People Playground Modding - Activations.ScheduledActivation
==================================================
public struct ScheduledActivation
[Serializable]
No description provided
Fields
public float TimeRemaining
No description provided
public readonly ActivationEvent Activation
No description provided
Methods
public (constructor) ScheduledActivation(float timeRemaining, in ActivationEvent activation)
No description provided
public readonly bool HasExpired()
No description provided
public static bool HasExpiredPredicate(ScheduledActivation s)
No description provided

View File

@@ -0,0 +1,14 @@
URL: https://wiki.studiominus.nl/internalReference/ActivationToggleBehaviour.html
Title: People Playground Modding - ActivationToggleBehaviour
==================================================
public class ActivationToggleBehaviour
Inherits MonoBehaviour
Controls the Activation Toggle spawnable object.
Fields
public GameObject LightObject
[SkipSerialisation]
Reference to the little glowing light in the center of the object
public bool Activated
Is the object currently sending out signals?

View File

@@ -0,0 +1,11 @@
URL: https://wiki.studiominus.nl/internalReference/ActivationTransformerBehaviour.html
Title: People Playground Modding - ActivationTransformerBehaviour
==================================================
public class ActivationTransformerBehaviour
Inherits MonoBehaviour
Controls the Activation Transformer device
Fields
public PhysicalBehaviour PhysicalBehaviour
[SkipSerialisation]
Reference to the PhysicalBehaviour

View File

@@ -0,0 +1,44 @@
URL: https://wiki.studiominus.nl/internalReference/ActivatorElectrodeBehaviour.html
Title: People Playground Modding - ActivatorElectrodeBehaviour
==================================================
public class ActivatorElectrodeBehaviour
Inherits MonoBehaviour, Messages.IUse, Messages.IUseContinuous
No description provided
Fields
public Vector2 EmissionPoint
[SkipSerialisation]
No description provided
public float EmissionRadius
[SkipSerialisation]
No description provided
public AudioClip StartUseSound
[SkipSerialisation]
No description provided
public LayerMask LayersToConsider
[SkipSerialisation]
No description provided
public ColorAnimationBehaviour[] Lights
[SkipSerialisation]
No description provided
public SpriteRenderer EmitterGlow
[SkipSerialisation]
No description provided
Methods
public void Use(ActivationPropagation activation)
No description provided
public void UseContinuous(ActivationPropagation activation)
No description provided
public void StopLights()
No description provided
public void StartLights()
No description provided

View File

@@ -0,0 +1,10 @@
URL: https://wiki.studiominus.nl/internalReference/ActiveSettingIfNotVsync.html
Title: People Playground Modding - ActiveSettingIfNotVsync
==================================================
public class ActiveSettingIfNotVsync
Inherits ConditionalSettingBehaviour
This class is currently not used anywhere
Methods
public override bool GetShouldBeActive()
No description provided

View File

@@ -0,0 +1,23 @@
URL: https://wiki.studiominus.nl/internalReference/ActOnBlast.html
Title: People Playground Modding - ActOnBlast
==================================================
public class ActOnBlast
Inherits MonoBehaviour, Messages.IOnFragmentHit
Behaviour that invokes an event when it is near an explosion
Fields
public float ForceThreshold
[SkipSerialisation]
The minimum amount of explosion force in order to invoke the event
public float Chance
[SkipSerialisation]
The chance of the event being invoked, ranging from 0.0 to 1.0
public UnityEvent Actions
[SkipSerialisation]
The chance of the event being invoked, ranging from 0.0 to 1.0
Methods
public void OnFragmentHit(float fragmentForce)
No description provided

View File

@@ -0,0 +1,23 @@
URL: https://wiki.studiominus.nl/internalReference/ActOnCollide.html
Title: People Playground Modding - ActOnCollide
==================================================
public class ActOnCollide
Inherits MonoBehaviour
Behaviour that invokes a UnityEvent when it gets the MonoBehaviour.OnCollisionEnter2D message
Fields
public float ImpactForceThreshold
[SkipSerialisation]
The minimum amount of force required to invoke the event
public float DispatchChance
[SkipSerialisation]
Chance from 0.0 to 1.0 that the event is triggered
public Collider2D Collider
[SkipSerialisation] [Tooltip("Leave null to allow any collider to trigger the event")]
The collider to watch out for. Any collider triggers the event if this is null.
public UnityEvent Actions
[SkipSerialisation]
The event that is invoked when a sufficient collision occurs. May be null.

View File

@@ -0,0 +1,14 @@
URL: https://wiki.studiominus.nl/internalReference/ActOnDestroy.html
Title: People Playground Modding - ActOnDestroy
==================================================
public class ActOnDestroy
Inherits MonoBehaviour
Behaviour that invokes an event when it is destroyed
Fields
public UnityEvent Event
The event that is invoked when the behaviour is destroyed
public GameObject[] DestroyWith
[SkipSerialisation]
An array of other objects that will be destroyed when this behaviour is destroyed

View File

@@ -0,0 +1,15 @@
URL: https://wiki.studiominus.nl/internalReference/ActOnDisintegrate.html
Title: People Playground Modding - ActOnDisintegrate
==================================================
public class ActOnDisintegrate
Inherits MonoBehaviour
Invoke an event on disintegration
Fields
public PhysicalBehaviour PhysicalBehaviour
[SkipSerialisation]
The physical behaviour to respond to
public UnityEngine.Events.UnityEvent Event
[SkipSerialisation]
The event to invoke

View File

@@ -0,0 +1,19 @@
URL: https://wiki.studiominus.nl/internalReference/ActOnHingeJointLimit.html
Title: People Playground Modding - ActOnHingeJointLimit
==================================================
public class ActOnHingeJointLimit
Inherits MonoBehaviour
No description provided
Fields
public HingeJoint2D[] Joints
[SkipSerialisation]
No description provided
public JointLimitState2D TriggeringState
[SkipSerialisation]
No description provided
public UnityEvent OnTrigger
[SkipSerialisation]
No description provided

View File

@@ -0,0 +1,27 @@
URL: https://wiki.studiominus.nl/internalReference/ActOnShot.html
Title: People Playground Modding - ActOnShot
==================================================
public class ActOnShot
Inherits MonoBehaviour, Messages.IShot
Behaviour that invokes an event when it is shot by something
Fields
public float ShotDamageThreshold
[SkipSerialisation]
The minimum amount of damage that needs to be done in order to invoke the event
public float CartridgeDamageThreshold
[SkipSerialisation]
The minimum amount of damage the cartridge inherently does in order to invoke the event
public float Chance
[SkipSerialisation]
The chance of the event being invoked, ranging from 0.0 to 1.0
public UnityEvent Actions
[SkipSerialisation]
The event that is invoked when the object is shot
Methods
public void Shot(Shot shot)
No description provided

View File

@@ -0,0 +1,19 @@
URL: https://wiki.studiominus.nl/internalReference/ActOnSliderJointLimit.html
Title: People Playground Modding - ActOnSliderJointLimit
==================================================
public class ActOnSliderJointLimit
Inherits MonoBehaviour
No description provided
Fields
public SliderJoint2D[] Joints
[SkipSerialisation]
No description provided
public JointLimitState2D TriggeringState
[SkipSerialisation]
No description provided
public UnityEvent OnTrigger
[SkipSerialisation]
No description provided

View File

@@ -0,0 +1,19 @@
URL: https://wiki.studiominus.nl/internalReference/ActOnUserDelete.html
Title: People Playground Modding - ActOnUserDelete
==================================================
public class ActOnUserDelete
Inherits MonoBehaviour, Messages.IOnUserDelete
Behaviour that invokes an event when it is deleted by the player
Fields
public UnityEvent Event
[SkipSerialisation]
The event that is invoked
public GameObject[] DestroyWith
[SkipSerialisation]
An array of other objects that will be destroyed when this object is deleted by the player
Methods
public void OnUserDelete()
No description provided

View File

@@ -0,0 +1,21 @@
URL: https://wiki.studiominus.nl/internalReference/AddForceBehaviour.html
Title: People Playground Modding - AddForceBehaviour
==================================================
public class AddForceBehaviour
Inherits MonoBehaviour
[SkipSerialisation]
No description provided
Fields
public ForceMode2D ForceMode
No description provided
public Vector2 LocalAxis
No description provided
public bool ScaleWithSize
No description provided
Methods
public void AddRelativeForce(float intensity)
No description provided

View File

@@ -0,0 +1,75 @@
URL: https://wiki.studiominus.nl/internalReference/AdhesiveCouplerBehaviour.html
Title: People Playground Modding - AdhesiveCouplerBehaviour
==================================================
public class AdhesiveCouplerBehaviour
Inherits MonoBehaviour, Messages.IUse, Messages.IOnAfterDeserialise, Messages.IOnBeforeSerialise
No description provided
Nested types
AdhesiveCouplerBehaviour.Connection
Fields
public float StickDistance
No description provided
public AudioClip OnStick
[SkipSerialisation]
No description provided
public AudioClip OnUnstick
[SkipSerialisation]
No description provided
public GameObject SlimeSplatPrefab
[SkipSerialisation]
No description provided
public GameObject GooLineRendererPrefab
[SkipSerialisation]
No description provided
public LayerMask LayerMask
[SkipSerialisation]
No description provided
public AnimationCurve WidthAnimationCurve
[SkipSerialisation]
No description provided
public float WidthAnimationDuration
[SkipSerialisation]
No description provided
public Color FakeLiquidColor
[SkipSerialisation]
No description provided
public LiquidContainerController LiquidContainer
[SkipSerialisation]
No description provided
public GameObject KillZone
[SkipSerialisation]
No description provided
public Guid[] SerialisableState
[HideInInspector]
No description provided
Methods
public void SetStickDistance(float v)
No description provided
public void Use(ActivationPropagation propagation)
No description provided
public void Stick()
No description provided
public void Unstick()
No description provided
public void OnAfterDeserialise(List<GameObject> gms)
No description provided
public void OnBeforeSerialise()
No description provided

View File

@@ -0,0 +1,25 @@
URL: https://wiki.studiominus.nl/internalReference/AdhesiveCouplerBehaviour_Connection.html
Title: People Playground Modding - AdhesiveCouplerBehaviour.Connection
==================================================
public class Connection
This nested type resides in AdhesiveCouplerBehaviour
No description provided
Fields
public GameObject Other
No description provided
public LineRenderer Line
No description provided
public FixedJoint2D Joint
No description provided
public Vector2 OtherLocalPoint
No description provided
public float Time
No description provided
public float TimeVariation
No description provided

View File

@@ -0,0 +1,15 @@
URL: https://wiki.studiominus.nl/internalReference/AdrenalinePoison.html
Title: People Playground Modding - AdrenalinePoison
==================================================
public class AdrenalinePoison
Inherits PoisonSpreadBehaviour
[System.Obsolete]
No description provided
Properties
public override float SpreadSpeed
No description provided
Methods
public override void Start()
No description provided

View File

@@ -0,0 +1,12 @@
URL: https://wiki.studiominus.nl/internalReference/AdrenalineSyringe.html
Title: People Playground Modding - AdrenalineSyringe
==================================================
public class AdrenalineSyringe
Inherits SyringeBehaviour
No description provided
Nested types
AdrenalineSyringe.AdrenalineLiquid
Methods
public override string GetLiquidID()
No description provided

View File

@@ -0,0 +1,31 @@
URL: https://wiki.studiominus.nl/internalReference/AdrenalineSyringe_AdrenalineLiquid.html
Title: People Playground Modding - AdrenalineSyringe.AdrenalineLiquid
==================================================
public class AdrenalineLiquid
This nested type resides in AdrenalineSyringe
Inherits TemporaryBodyLiquid
No description provided
Fields
public const string ID
No description provided
Constant value: "ADRENALINE"
Methods
public override string GetDisplayName()
No description provided
public (constructor) AdrenalineLiquid()
No description provided
public override void OnEnterContainer(BloodContainer container)
No description provided
public override void OnEnterLimb(LimbBehaviour limb)
No description provided
public override void OnExitContainer(BloodContainer container)
No description provided
public override void OnUpdate(BloodContainer c)
No description provided

View File

@@ -0,0 +1,23 @@
URL: https://wiki.studiominus.nl/internalReference/AerialFaithPlateBehaviour.html
Title: People Playground Modding - AerialFaithPlateBehaviour
==================================================
public class AerialFaithPlateBehaviour
Inherits MonoBehaviour, Messages.IUse
Very old code, but this controls the aerial faith plate
Fields
public HingeJoint2D launchJoint
[SkipSerialisation]
The hinge joint that controls the plate itself
public PhysicalBehaviour phys
[SkipSerialisation]
A reference to the PhysicalBehaviour
public new AudioSource audio
[SkipSerialisation]
A reference to the AudioSource that plays the launching sound
Methods
public void Use(ActivationPropagation activation)
No description provided

View File

@@ -0,0 +1,33 @@
URL: https://wiki.studiominus.nl/internalReference/AirfoilBehaviour.html
Title: People Playground Modding - AirfoilBehaviour
==================================================
public class AirfoilBehaviour
Inherits MonoBehaviour
No description provided
Nested types
AirfoilBehaviour.WingType
Fields
public SpriteRenderer SpriteRenderer
[SkipSerialisation]
No description provided
public WingType[] WingTypes
[SkipSerialisation]
No description provided
public string CurrentWingTypeName
[HideInInspector]
No description provided
public WingType CurrentWingType
[HideInInspector] [SkipSerialisation]
No description provided
public PhysicalBehaviour PhysicalBehaviour
[SkipSerialisation]
No description provided
Methods
public void SetWingType(WingType wingType)
No description provided

View File

@@ -0,0 +1,23 @@
URL: https://wiki.studiominus.nl/internalReference/AirfoilBehaviour_WingType.html
Title: People Playground Modding - AirfoilBehaviour.WingType
==================================================
public struct WingType
This nested type resides in AirfoilBehaviour
[System.Serializable]
No description provided
Fields
public string Name
No description provided
public Sprite Sprite
No description provided
public bool Lifts
No description provided
public float LiftMultiplier
No description provided
public float DragMultiplier
No description provided

View File

@@ -0,0 +1,20 @@
URL: https://wiki.studiominus.nl/internalReference/AliveBehaviour.html
Title: People Playground Modding - AliveBehaviour
==================================================
public abstract class AliveBehaviour
Inherits MonoBehaviour
No description provided
Fields
public static Dictionary<Transform, AliveBehaviour> AliveByTransform
No description provided
Methods
public abstract bool IsAlive()
No description provided
public void AddToDictionary()
No description provided
public void RemoveFromDictionary()
No description provided

View File

@@ -0,0 +1,65 @@
URL: https://wiki.studiominus.nl/internalReference/AmbientTemperatureGridBehaviour.html
Title: People Playground Modding - AmbientTemperatureGridBehaviour
==================================================
public class AmbientTemperatureGridBehaviour
Inherits MonoBehaviour
A behaviour that resides in the world at all times. It controls ambient temperature transfer.
Nested types
AmbientTemperatureGridBehaviour.Cell
Fields
public static AmbientTemperatureGridBehaviour Instance
The main instance of this singleton.
public ConcurrentDictionary<Vector2Int, Cell> World
All cells that have been created by position.
public float ObjectToAirTransferRate
The speed at which objects transfer their heat to the air.
public float AirToObjectTransferRate
The speed at which the air transfers its heat to objects.
public float AmbientTemperatureTransferRate
The speed at which ambient heat is transferred to the surrounding air. In other words, how fast heat travels from cell to cell.
public int GridSize
The size of a grid cell.
public ConcurrentDictionary<Vector2Int, byte> BlockedCells
No description provided
Methods
public void ComputeBlockedCellPositions()
[System.Obsolete]
No description provided
public float GetTemperatureAt(int x, int y)
Get the temperature at the given grid location
public float GetTemperatureAtPoint(Vector2 worldPoint)
Get the temperature at the given world point
public void ChangeTemperatureAt(Vector2 worldPoint, float celsiusChange)
Affect the temperature at the given world point
public void SetTemperatureAt(Vector2 worldPoint, float celsius)
Set the temperature at the given world point
public void ChangeTemperatureAt(int x, int y, float celsiusChange)
Affect the temperature at the given grid point
public void SetTemperatureAt(int x, int y, float celsius)
Set the temperature at the given grid point
public void EnsureExistence(int x, int y)
Ensure existence of cell at grid point x, y
public void TransferHeat(PhysicalBehaviour phys)
Transfer heat from the given PhysicalBehaviour to its surrounding air
public Vector2Int WorldToGridPoint(float x, float y)
Transforms the world coordinates to a grid point
public Vector2 GridToWorldPoint(int x, int y)
Transforms the grid coordinates to a world point

View File

@@ -0,0 +1,35 @@
URL: https://wiki.studiominus.nl/internalReference/AmbientTemperatureGridBehaviour_Cell.html
Title: People Playground Modding - AmbientTemperatureGridBehaviour.Cell
==================================================
public class Cell
This nested type resides in AmbientTemperatureGridBehaviour
A temperature grid cell. The world creates these where necessary.
Fields
public float ReadTemperature
The temperature field that is meant to be written to. Do not read from this field.
public float WriteTemperature
The temperature field that is meant to be read from. Do not write to this field.
public bool CanCreateNeighbours
Can this cell create neighbours if its temperature is significant enough? This is set to false once this cell has created its neighbours.
public bool CanTransferTemperature
Can this cell transfer temperature to surrounding cells? When cells are created, they should check if they are inside the world walls. If they are, this flag is set to true.
Methods
public (constructor) Cell(float t)
Construct a cell with temperature t.
public void Set(float t)
Set the temperature at this cell
public void ForceSet(float t)
Forcibly set the read and write temperature of this cell
public float Get()
Get the temperature of this cell
public void Sync()
Synchronise the read and write fields

View File

@@ -0,0 +1,33 @@
URL: https://wiki.studiominus.nl/internalReference/AndroidLaserBehaviour.html
Title: People Playground Modding - AndroidLaserBehaviour
==================================================
public class AndroidLaserBehaviour
Inherits MonoBehaviour, Messages.IUse
[System.Obsolete]
No description provided
Fields
public AudioSource audioSource
No description provided
public PhysicalBehaviour trigger
No description provided
public ParticleSystem particles
No description provided
public int cooldownTime
No description provided
public float recoil
No description provided
public float hitKnockback
No description provided
public LayerMask HitLayer
No description provided
Methods
public void Use(ActivationPropagation activation)
No description provided

View File

@@ -0,0 +1,14 @@
URL: https://wiki.studiominus.nl/internalReference/AndroidSparkCreator.html
Title: People Playground Modding - AndroidSparkCreator
==================================================
public class AndroidSparkCreator
Inherits MonoBehaviour
No description provided
Fields
public GameObject spark
No description provided
Methods
void FixedUpdate()
No description provided

View File

@@ -0,0 +1,17 @@
URL: https://wiki.studiominus.nl/internalReference/AntiAliasing.html
Title: People Playground Modding - AntiAliasing
==================================================
public enum AntiAliasing
No description provided
Off
No description provided
TimesTwo
No description provided
TimesFour
No description provided
TimesEight
No description provided

View File

@@ -0,0 +1,14 @@
URL: https://wiki.studiominus.nl/internalReference/AntiAliasingRadioButton.html
Title: People Playground Modding - AntiAliasingRadioButton
==================================================
public class AntiAliasingRadioButton
Inherits RadioButtonBehaviour
No description provided
Fields
public AntiAliasing Value
No description provided
Methods
public override object GetValue()
No description provided

View File

@@ -0,0 +1,66 @@
URL: https://wiki.studiominus.nl/internalReference/AOEPowerTool.html
Title: People Playground Modding - AOEPowerTool
==================================================
public abstract class AOEPowerTool
Inherits ToolBehaviour
No description provided
Fields
protected Collider2D[] buffer
No description provided
protected LayerMask layers
No description provided
protected Vector2 mouseMovement
No description provided
protected Vector2 oldMousePos
No description provided
Properties
public virtual float DampeningRadius
No description provided
public virtual float Radius
No description provided
public virtual float Force
No description provided
public virtual float MaxForce
No description provided
public virtual float TorqueForce
No description provided
public virtual float MouseMoveInfluence
No description provided
Methods
public override void OnFixedHold()
No description provided
protected abstract void HandleObject(PhysicalBehaviour phys)
No description provided
protected virtual float GetFalloff(float intensity, float sqrDistance, float max)
No description provided
protected virtual GameObject CreateEffectObject()
No description provided
public override void OnSelect()
No description provided
public override void OnDeselect()
No description provided
public override void OnHold()
No description provided
public override void OnToolChosen()
No description provided
public override void OnToolUnchosen()
No description provided

View File

@@ -0,0 +1,9 @@
URL: https://wiki.studiominus.nl/internalReference/GeneratedFormatters.html
Title: People Playground Modding - AotSerialization.GeneratedFormatters
==================================================
public static class GeneratedFormatters
No description provided
Methods
public static void UseFormatters(SerializerConfig config)
No description provided

View File

@@ -0,0 +1,19 @@
URL: https://wiki.studiominus.nl/internalReference/AppearWhenMouseNear.html
Title: People Playground Modding - AppearWhenMouseNear
==================================================
public class AppearWhenMouseNear
Inherits MonoBehaviour
No description provided
Fields
public float MinDistance
No description provided
public Renderer Renderer
No description provided
public Transform Center
No description provided
public bool ConsiderParentRenderers
No description provided

View File

@@ -0,0 +1,10 @@
URL: https://wiki.studiominus.nl/internalReference/ApplicationQuitButtonBehaviour.html
Title: People Playground Modding - ApplicationQuitButtonBehaviour
==================================================
public class ApplicationQuitButtonBehaviour
Inherits MonoBehaviour
No description provided
Methods
public void Quit()
No description provided

View File

@@ -0,0 +1,18 @@
URL: https://wiki.studiominus.nl/internalReference/AppliedBandageBehaviour.html
Title: People Playground Modding - AppliedBandageBehaviour
==================================================
public class AppliedBandageBehaviour
Inherits SpringCableBehaviour
No description provided
Fields
public float SoakAmount
No description provided
public const float SoakRate
No description provided
Constant value: 1f
Methods
protected override void Start()
No description provided

View File

@@ -0,0 +1,60 @@
URL: https://wiki.studiominus.nl/internalReference/ArchelixCasterBehaviour.html
Title: People Playground Modding - ArchelixCasterBehaviour
==================================================
public class ArchelixCasterBehaviour
Inherits CanShoot, Messages.IUse
No description provided
Fields
public AudioClip[] ShootSounds
[SkipSerialisation]
No description provided
public ParticleSystem MuzzleFlash
[SkipSerialisation]
Reference to the muzzle flash vfx
public Rigidbody2D Rigidbody
[SkipSerialisation]
No description provided
public PhysicalBehaviour PhysicalBehaviour
[SkipSerialisation]
No description provided
public int BurstShotCount
[SkipSerialisation]
No description provided
public int BulletsPerShot
[SkipSerialisation]
No description provided
public float BurstShotInterval
[SkipSerialisation]
No description provided
public Vector2 LocalBarrelPosition
[SkipSerialisation]
No description provided
public Vector2 LocalBarrelDirection
[SkipSerialisation]
No description provided
public float ScreenShakeIntensity
No description provided
Properties
public override Vector2 BarrelPosition
No description provided
public Vector2 BarrelDirection
No description provided
Methods
public void Use(ActivationPropagation activation)
No description provided
public override void Shoot()
No description provided

View File

@@ -0,0 +1,56 @@
URL: https://wiki.studiominus.nl/internalReference/ArchelixCasterBoltBehaviour.html
Title: People Playground Modding - ArchelixCasterBoltBehaviour
==================================================
public class ArchelixCasterBoltBehaviour
Inherits BaseBoltBehaviour, Messages.IOnPoolableInitialised
Controls the arc helix caster bolt
Fields
public float Phase
Wave phase
public float Frequency
Wave frequency
public float Amplitude
No description provided
public float AoeRadius
[Space]
No description provided
public float HomingForce
No description provided
public float MaxTimeUntilDeath
[Space]
No description provided
public ParticleSystem ParticleSystem
No description provided
public TrailRenderer TrailRendererToDetach
No description provided
public float HomingTemperatureThreshold
No description provided
public GameObject ImpactPoolable
[Space] [Space]
No description provided
public Vector2 Direction
No description provided
Methods
protected override void Update()
No description provided
public override bool ShouldReflect(RaycastHit2D hit)
No description provided
protected override void OnHit(RaycastHit2D hit)
No description provided
public void OnPoolableInitialised(ObjectPoolBehaviour pool)
No description provided

View File

@@ -0,0 +1,17 @@
URL: https://wiki.studiominus.nl/internalReference/ArrayCloner.html
Title: People Playground Modding - ArrayCloner
==================================================
public class ArrayCloner
Inherits MonoBehaviour
No description provided
Fields
public int Amount
No description provided
public Vector2 Delta
No description provided
Methods
public void Start()
No description provided

View File

@@ -0,0 +1,15 @@
URL: https://wiki.studiominus.nl/internalReference/AtomBombBehaviour.html
Title: People Playground Modding - AtomBombBehaviour
==================================================
public class AtomBombBehaviour
Inherits MonoBehaviour, Messages.IUse
No description provided
Fields
public GameObject ExplosionPrefab
[SkipSerialisation]
No description provided
Methods
public void Use(ActivationPropagation activation)
No description provided

View File

@@ -0,0 +1,23 @@
URL: https://wiki.studiominus.nl/internalReference/AtomBombExplosionBehaviour.html
Title: People Playground Modding - AtomBombExplosionBehaviour
==================================================
public class AtomBombExplosionBehaviour
Inherits MonoBehaviour
[System.Obsolete]
NewAtomBombExplosionBehaviour is the "new" implementation. Both are quite old at this point.
Fields
public CircleCollider2D ShockwaveCollider
No description provided
public DeleteAfterTime DeleteAfterTime
No description provided
public SpriteRenderer ShockwaveRenderer
No description provided
public float ShockwaveStrength
No description provided
public float InverseSquareLawMultiplier
No description provided

View File

@@ -0,0 +1,10 @@
URL: https://wiki.studiominus.nl/internalReference/AudioSourceTimeScaleBehaviour.html
Title: People Playground Modding - AudioSourceTimeScaleBehaviour
==================================================
public class AudioSourceTimeScaleBehaviour
Inherits MonoBehaviour
No description provided
Fields
public bool IsAmbience
No description provided

View File

@@ -0,0 +1,14 @@
URL: https://wiki.studiominus.nl/internalReference/AudioSourceToggleBehaviour.html
Title: People Playground Modding - AudioSourceToggleBehaviour
==================================================
public class AudioSourceToggleBehaviour
Inherits MonoBehaviour
Toggles an audio source when Toggle is called. This exists because I hate Unity.
Fields
public AudioSource AudioSource
No description provided
Methods
public void Toggle()
No description provided

View File

@@ -0,0 +1,42 @@
URL: https://wiki.studiominus.nl/internalReference/AutomaticSentryController.html
Title: People Playground Modding - AutomaticSentryController
==================================================
public class AutomaticSentryController
[SkipSerialisation]
A brain for automatic sentry turrets.
Fields
public float SightRange
Maximum target distance
public UnityEvent OnShoot
Invoked when the sentry wants to shoot
public UnityEvent OnSight
Invoked when the sentry sees a target
public LayerMask LayerMask
The layers to scan for
public float AimFuzziness
The shooting accuracy threshold. The higher this value, the sooner the turret starts shooting at the target regardless of how well it has a shot
public float MaxAngle
No description provided
Properties
public bool HasTarget
Does the turret have an active target?
public LimbBehaviour Target
No description provided
Methods
public (constructor) AutomaticSentryController()
No description provided
public void GetTargetMotorSpeed(Transform transform, Vector2 worldspaceBarrelPosition, Vector2 worldspaceBarrelDirection, out float motorSpeed)
Provided a parent transform, barrel position in world space, and a barrel direction in world space, this method will spit out the desired joint motor speed. This method is usually called every fixed update and the resulting motor speed is assigned directly to a motor.
public void ResetTargets()
No description provided

View File

@@ -0,0 +1,16 @@
URL: https://wiki.studiominus.nl/internalReference/AutomaticWheelJointCreator.html
Title: People Playground Modding - AutomaticWheelJointCreator
==================================================
public class AutomaticWheelJointCreator
Inherits MonoBehaviour
No description provided
Fields
public Rigidbody2D[] Wheels
No description provided
public float Frequency
No description provided
public float Dampening
No description provided

View File

@@ -0,0 +1,30 @@
URL: https://wiki.studiominus.nl/internalReference/BackgroundItemLoader.html
Title: People Playground Modding - BackgroundItemLoader
==================================================
public class BackgroundItemLoader
Inherits MonoBehaviour
No description provided
Fields
public Map[] BuiltInMaps
No description provided
public Sprite SteamWorkshopThumbnail
No description provided
public bool Finished
No description provided
Properties
public static BackgroundItemLoader Instance { get; private set; }
No description provided
Methods
public void ProcessModCompilationResult((ModCompilationResult result, ModScript script) tuple, ModMetaData mod)
No description provided
public async Task<(ModCompilationResult result, ModScript script)> CompileMod(ModMetaData mod)
No description provided
public IEnumerator DoAsyncTask(Func<Task> action, string name, string description, Sprite sprite = null)
No description provided

View File

@@ -0,0 +1,37 @@
URL: https://wiki.studiominus.nl/internalReference/BackgroundItemLoaderStatusBehaviour.html
Title: People Playground Modding - BackgroundItemLoaderStatusBehaviour
==================================================
public class BackgroundItemLoaderStatusBehaviour
Inherits MonoBehaviour
Behaviour that controls the little loading box in the bottom center of the screen
Fields
public Sprite DefaultThumbnailSprite
The fallback sprite for when there is no sprite given
public TextMeshProUGUI TitleMesh
[Space]
A reference to the text mesh for the title
public TextMeshProUGUI StateMesh
A reference to the text mesh for the status
public Image ThumbnailImage
A reference to the image element for the thumbnail
Properties
public static BackgroundItemLoaderStatusBehaviour Instance { get; private set; }
The main instance of this singleton
Methods
public void SetDisplayData(string name, Sprite thumbnail)
Set the current title and sprite to display
public static void SetDisplayState(string state)
Set the current status to display
public static void Show(string name, Sprite thumbnail)
Show the loading box
public static void Hide()
Hide the loading box

View File

@@ -0,0 +1,101 @@
URL: https://wiki.studiominus.nl/internalReference/BallisticsEmitter.html
Title: People Playground Modding - BallisticsEmitter
==================================================
public class BallisticsEmitter
Inherits IDisposable
No description provided
Nested types
BallisticsEmitter.CallbackParams
Fields
public ExplosionCreator.ExplosionParameters ExplosiveRoundParams
No description provided
public readonly UnityEvent<LineRenderer> OnTracerCreation
No description provided
Properties
public uint MaxBallisticsIterations { get; set; }
No description provided
public float MaxTotalDistance { get; set; }
No description provided
public float ThicknessStepSize { get; set; }
No description provided
public float RicochetChanceMultiplier { get; set; }
No description provided
public float MaxRange { get; set; }
No description provided
public float MaterialHardnessMultiplier { get; set; }
No description provided
public float ImpactForceMultiplier { get; set; }
No description provided
public LayerMask LayersToHit { get; set; }
No description provided
public LayerMask WaterLayer { get; set; }
No description provided
public bool DoTraversal { get; set; }
No description provided
public float TracerWidth { get; set; }
No description provided
public bool RenderTracersIfTraversal { get; set; }
No description provided
public float BulletDropMultiplier { get; set; }
No description provided
public float Charge { get; set; }
No description provided
public float BulletCrackSpeedThreshold { get; set; }
No description provided
public float BulletCrackChance { get; set; }
No description provided
public float BulletCrackCooldownTime { get; set; }
No description provided
public bool ExplosiveRound { get; set; }
No description provided
public bool ExplodeAtHitPoint { get; set; }
No description provided
public MonoBehaviour ConnectedBehaviour { get; set; }
No description provided
public Cartridge Cartridge { get; set; }
No description provided
public System.Action<CallbackParams> BulletEntryCallback { get; set; }
No description provided
public System.Action<CallbackParams> BulletExitCallback { get; set; }
No description provided
public System.Action<CallbackParams> BulletRicochetCallback { get; set; }
No description provided
public UnityEngine.Events.UnityEvent<CallbackParams> BulletEntryEvent { get; set; }
No description provided
Methods
public (constructor) BallisticsEmitter(MonoBehaviour connectedBehaviour, Cartridge cartridge)
No description provided
public void Emit(Vector2 origin, Vector2 direction)
No description provided
public void Dispose()
No description provided

View File

@@ -0,0 +1,19 @@
URL: https://wiki.studiominus.nl/internalReference/BallisticsEmitter_CallbackParams.html
Title: People Playground Modding - BallisticsEmitter.CallbackParams
==================================================
public struct CallbackParams
This nested type resides in BallisticsEmitter
No description provided
Fields
public Collider2D HitObject
No description provided
public Vector2 SurfaceNormal
No description provided
public Vector2 Direction
No description provided
public Vector2 Position
No description provided

View File

@@ -0,0 +1,41 @@
URL: https://wiki.studiominus.nl/internalReference/BalloonBehaviour.html
Title: People Playground Modding - BalloonBehaviour
==================================================
public class BalloonBehaviour
Inherits MonoBehaviour, Messages.IExitShot, Messages.IShot, Messages.IStabbed, Messages.IBreak, Messages.IOnFragmentHit, Messages.IOnInsideVacuum
No description provided
Fields
public PhysicalBehaviour PhysicalBehaviour
[SkipSerialisation]
No description provided
public GameObject PoppedEffect
[SkipSerialisation]
No description provided
public float CollisionPressureThreshold
[SkipSerialisation]
No description provided
Methods
public void ExitShot(Shot shot)
No description provided
public void Shot(Shot shot)
No description provided
public void OnFragmentHit(float force)
No description provided
public void Break(Vector2 velocity = default(Vector2))
No description provided
public void Stabbed(Stabbing stab)
No description provided
public void Pop()
No description provided
public void OnInsideVacuum()
No description provided

View File

@@ -0,0 +1,8 @@
URL: https://wiki.studiominus.nl/internalReference/BandageBehaviour.html
Title: People Playground Modding - BandageBehaviour
==================================================
public class BandageBehaviour
Inherits MonoBehaviour
[System.Obsolete]
Does absolutely nothing lmao. See AppliedBandageBehaviour for the in-game bandage tool behaviour

View File

@@ -0,0 +1,20 @@
URL: https://wiki.studiominus.nl/internalReference/BandageWireTool.html
Title: People Playground Modding - BandageWireTool
==================================================
public class BandageWireTool
Inherits SpringJointWireTool
No description provided
Properties
protected override bool ShouldPrioritiseInitialGameObject
No description provided
Methods
protected override void Awake()
No description provided
public override void OnToolChosen()
No description provided
protected override void OnJointCreate(SpringJoint2D joint)
No description provided

View File

@@ -0,0 +1,29 @@
URL: https://wiki.studiominus.nl/internalReference/BaseBoltBehaviour.html
Title: People Playground Modding - BaseBoltBehaviour
==================================================
public abstract class BaseBoltBehaviour
Inherits MonoBehaviour
Base class for an energy weapon bolt
Fields
public float Speed
Speed of the projectile
public LayerMask Layers
Layers to collide with
Methods
public abstract bool ShouldReflect(RaycastHit2D hit)
The conditions that will be evaluated on hit. If this function returns true, the projectile will bounce off.
protected abstract void OnHit(RaycastHit2D hit)
Called when the projectile impacts something
public virtual float GetSpeedMultiplier()
Should return the final speed multiplier. Base implementation returns 1
protected virtual void Update()
No description provided
protected bool DoHitCheck(float distance)
No description provided

View File

@@ -0,0 +1,198 @@
URL: https://wiki.studiominus.nl/internalReference/BaseControlNames.html
Title: People Playground Modding - BaseControlNames
==================================================
public struct BaseControlNames
Struct containing all control codenames that exist in the vanilla game
Fields
public const string Drag
Drag control (clicking and such)
Constant value: "drag"
public const string Pan
Pan control (using the mouse)
Constant value: "pan"
public const string PanLeft
Pan left using the keyboard
Constant value: "panLeft"
public const string PanRight
Pan right using the keyboard
Constant value: "panRight"
public const string PanUp
Pan up using the keyboard
Constant value: "panUp"
public const string PanDown
Pan left using the keyboard
Constant value: "panDown"
public const string ZoomIn
Zoom in using the keyboard
Constant value: "zoomIn"
public const string ZoomOut
Zoom out using the keyboard
Constant value: "zoomOut"
public const string Pause
Toggle the pause menu
Constant value: "pause"
public const string ToggleDetailView
Toggle the detail view (limb status, explosion radius, etc.)
Constant value: "toggleLimbStatus"
public const string ToggleSlowMotion
Toggle slow motion
Constant value: "slowmo"
public const string PauseTime
Toggle time
Constant value: "time"
public const string Copy
Copy shortcut
Constant value: "copy"
public const string Paste
Paste shortcut
Constant value: "paste"
public const string Snap
Drag and rotation snapping
Constant value: "snap"
public const string SnapToCenter
Tool location snap to center of mass
Constant value: "snapToCenter"
public const string RotateRight
Rotate selection right
Constant value: "right"
public const string RotateLeft
Rotate selection left
Constant value: "left"
public const string FastRotation
Speed up rotation / uniform resizing / multiselect
Constant value: "fast"
public const string UniformResizing
No description provided
Constant value: FastRotation
public const string Multiselect
No description provided
Constant value: UniformResizing
public const string Activate
Activate selection
Constant value: "activateDirect"
public const string Delete
Delete selection
Constant value: "delete"
public const string ContextMenu
Open the context menu
Constant value: "context"
public const string ToggleToybox
Toggle the toybox (left panel)
Constant value: "toybox"
public const string ToggleUserInterface
Toggle game UI
Constant value: "toggleUi"
public const string ToggleToolPowerTab
Toggle the right panel between controls and powers
Constant value: "toolPowerToggle"
public const string Undo
Remove the last creation
Constant value: "undo"
public const string SpawnRight
Spawn an object facing right (default)
Constant value: "spawnRight"
public const string SpawnLeft
Spawn an object facing left (flipped)
Constant value: "spawnLeft"
public const string SelectMultiple
Hold to select multiple objects in the map editor
Constant value: "selectMultiple"
public const string LocalSpaceTransform
Hold to use local space when transforming things
Constant value: "localSpaceTransform"
public const string FreezeUnderCursor
Optional keybind to freeze the selected objects
Constant value: "freezeSelection"
public const string IgniteSelection
Optional keybind to ignite the selected objects
Constant value: "igniteSelection"
public const string ResizeSelection
Optional keybind to resize the selected objects
Constant value: "resizeSelection"
public const string ToggleHoveringHighlights
Optional keybind to toggle hovering highlights
Constant value: "toggleHoveringHighlights"
public const string ToggleThermalVision
Optional keybind to toggle hovering highlights
Constant value: "toggleThermalVision"
public const string ChooseObjectUnderCursor
Optional keybind to equip the object under the cursor
Constant value: "eyedrop"
public const string MoveLayerDown
Move the selected objects a layer down
Constant value: "arrangeDown"
public const string MoveLayerUp
Move the selected objects a layer up
Constant value: "arrangeUp"
public const string BringToFront
Bring the selected objects in front of the others
Constant value: "arrangeFront"
public const string SendToBack
Send the selected objects behind the others
Constant value: "arrangeBack"
public const string ArrangeSelection
Toggle the layer editor menu for the selection
Constant value: "arrangeSelection"
public const string CreateBackup
Creates a backup within the Map Editor
Constant value: "createBackup"
public const string IncrementGrid
No description provided
Constant value: "incrementGrid"
public const string DecrementGrid
No description provided
Constant value: "decrementGrid"
public const string IncrementAngleSnap
No description provided
Constant value: "incrementAngleSnap"
public const string DecrementAngleSnap
No description provided
Constant value: "decrementAngleSnap"

View File

@@ -0,0 +1,11 @@
URL: https://wiki.studiominus.nl/internalReference/BathroomMirrorController.html
Title: People Playground Modding - BathroomMirrorController
==================================================
public class BathroomMirrorController
Inherits MonoBehaviour
[System.Obsolete]
No description provided
Fields
public RenderTexture Target
No description provided

Some files were not shown because too many files have changed in this diff Show More