private static StoveData GetStoveData(Stove stove) { if (!stoveDictionary.ContainsKey(stove)) { Logger.LogError($"stoveDictionary is missing stove #{stove.objectRealID}"); return(stoveDictionary[stove] = new StoveData()); } return(stoveDictionary[stove]); }
public static void TriggerExplosion(Stove stove) { GameController gc = GameController.gameController; if (gc.serverPlayer && !stove.spawnedExplosion) { stove.spawnedExplosion = true; StoveData stoveData = GetStoveData(stove); PlayfieldObject damagerObject = stoveData.savedDamagerObject; Explosion explosion = gc.spawnerMain.SpawnExplosion(damagerObject, stove.tr.position, "FireBomb", false, -1, false, stove.FindMustSpawnExplosionOnClients(damagerObject)); if (stoveData.noOwnCheckCountdown) { explosion.noOwnCheck = true; } } gc.audioHandler.Stop(stove, "GeneratorHiss"); }