public ExpandWeatherController() { isActive = false; isSecretFloor = true; MinTimeBetweenLightningStrikes = 5; MaxTimeBetweenLightningStrikes = 10; AmbientBoost = 1; RainIntensity = 250; useCustomIntensity = true; enableLightning = false; isLocalToRoom = false; ThunderShake = new ScreenShakeSettings() { magnitude = 0.2f, speed = 3, time = 0, falloff = 0.5f, direction = new Vector2(1, 0), vibrationType = ScreenShakeSettings.VibrationType.Auto, simpleVibrationTime = Vibration.Time.Normal, simpleVibrationStrength = Vibration.Strength.Medium }; m_lightningTimer = Random.Range(MinTimeBetweenLightningStrikes, MaxTimeBetweenLightningStrikes); }
public static ScreenShakeSettings GetScreenShakeSettings() { if (screenShakeSettingsCache == null) { screenShakeSettingsCache = SettingsRepository.GetScreenShakeSettings(ServiceProvider.GlobalProvider); } return(screenShakeSettingsCache); }
public ExpandForgeHammerComponent() { TracksPlayer = false; TracksRandomEnemy = true; PowerScalesWithFloors = true; DisablesRegularForgeHammers = true; DoGoopOnImpact = false; DoesBulletsOnImpact = false; DeactivateOnEnemiesCleared = true; DamageToEnemies = 30f; InitialDelay = 1.5f; MinTimeBetweenAttacks = 1.5f; MaxTimeBetweenAttacks = 3f; ForceLeft = false; ForceRight = false; DoScreenShake = true; FlashDurationBeforeAttack = 0.75f; AdditionalTrackingTime = 0.5f; KnockbackForcePlayers = 50f; KnockbackForceEnemies = 65f; MinTimeToRestOnGround = 0.75f; MaxTimeToRestOnGround = 0.75f; ScreenShake = new ScreenShakeSettings() { magnitude = 0.48f, speed = 6, time = 0.08f, falloff = 0.1f, direction = Vector2.zero, vibrationType = ScreenShakeSettings.VibrationType.Auto, simpleVibrationTime = Vibration.Time.Normal, simpleVibrationStrength = Vibration.Strength.Medium, }; Hammer_Anim_In_Left = "hammer_left_slam"; Hammer_Anim_Out_Left = "hammer_left_out"; Hammer_Anim_In_Right = "hammer_right_slam"; Hammer_Anim_Out_Right = "hammer_right_out"; BulletScript = new BulletScriptSelector() { scriptTypeName = "ForgeHammerCircle1" }; m_localTimeScale = 1f; m_state = ExpandHammerState.Gone; m_isActive = false; IsActive = false; }
public static void SaveToStorage(ScreenShakeSettings settings) { if (settings == null) { throw new ArgumentNullException("settings"); } SettingsRepository.SaveToStorage(settings, ServiceProvider.GlobalProvider); screenShakeSettingsCache.CloneFrom(settings); }
public PowBlock() { PowScreenShake = new ScreenShakeSettings() { magnitude = 3f, speed = 15f, time = 0.05f, falloff = 0.1f, direction = new Vector2(0, -1), vibrationType = ScreenShakeSettings.VibrationType.Auto, simpleVibrationTime = Vibration.Time.Quick, simpleVibrationStrength = Vibration.Strength.Hard }; m_InUse = false; }
public static IEnumerator Shake(this Camera camera) { ScreenShakeSettings settings = Settings.Instance.ScreenShakeSettings; for (float time = 0; time < settings.Duration; time += Time.deltaTime) { Vector3 offset = new Vector3(Mathf.Clamp01(Mathf.PerlinNoise(Time.time * settings.Frequency, 0f) - 0.5f), Mathf.Clamp01(Mathf.PerlinNoise(0f, Time.time * settings.Frequency)) - 0.5f, 0); offset *= settings.Magnitude; camera.transform.position -= offset; Camera2D.IsShaking = true; yield return(new WaitForEndOfFrame()); camera.transform.position += offset; Camera2D.IsShaking = false; } }
public ExpandBellyMonsterController() { Awakened = false; PlayerEaten = false; SlamScreenShakeSettings = new ScreenShakeSettings() { magnitude = 0.6f, speed = 10f, time = 0.15f, falloff = 0.5f, direction = new Vector2(0, -1), vibrationType = ScreenShakeSettings.VibrationType.Auto, simpleVibrationTime = Vibration.Time.Normal, simpleVibrationStrength = Vibration.Strength.Medium }; }
private void ModifyDamage(HealthHaver player, HealthHaver.ModifyDamageEventArgs args) { if (args.InitialDamage > 0) { if (shieldCharged) { shieldCharged = false; enemiesKilledSinceShieldReset = 0; args.ModifiedDamage = 0; ClearOverhead(); AkSoundEngine.PostEvent("Play_OBJ_crystal_shatter_01", Owner.gameObject); if (Owner.PlayerHasActiveSynergy("No Will To Break")) { Owner.DoEasyBlank(Owner.specRigidbody.UnitCenter, EasyBlankType.MINI); } (player.gameActor as PlayerController).TriggerInvulnerableFrames(2f); ScreenShakeSettings shakesettings = new ScreenShakeSettings(0.25f, 7f, 0.1f, 0.3f); GameManager.Instance.MainCameraController.DoScreenShake(shakesettings, new Vector2?(Owner.specRigidbody.UnitCenter), false); } } }
public IEnumerator Vanish(PlayerController p) { AkSoundEngine.PostEvent("Play_ENM_darken_world_01", base.gameObject); while (this.baseSprite.renderer.material.GetFloat("_Opacity") > 0) { this.baseSprite.renderer.material.SetFloat("_Opacity", this.baseSprite.renderer.material.GetFloat("_Opacity") - BraveTime.DeltaTime / 2); for (int i = 0; i < this.layers.Length; i++) { this.layers[i].sprite.renderer.material.SetFloat("_Opacity", this.baseSprite.renderer.material.GetFloat("_Opacity")); } this.poopil.GetComponent <tk2dBaseSprite>().renderer.material.SetFloat("_Opacity", this.baseSprite.renderer.material.GetFloat("_Opacity")); yield return(null); } Destroy(base.gameObject); PlatformInterface.SetAlienFXColor(new Color(1f, 0f, 0f, 1f), 1f); p.DoVibration(Vibration.Time.Quick, Vibration.Strength.Medium); Pixelator.Instance.HandleDamagedVignette(Vector2.zero); ScreenShakeSettings shakesettings = new ScreenShakeSettings(0.25f, 7f, 0.1f, 0.3f); GameManager.Instance.MainCameraController.DoScreenShake(shakesettings, new Vector2?(p.specRigidbody.UnitCenter), false); AkSoundEngine.PostEvent("Play_WPN_kthulu_blast_01", p.gameObject); yield break; }
public PowBlock() { PowScreenShake = new ScreenShakeSettings() { magnitude = 3f, speed = 15f, time = 0.05f, falloff = 0.1f, direction = new Vector2(0, -1), vibrationType = ScreenShakeSettings.VibrationType.Auto, simpleVibrationTime = Vibration.Time.Quick, simpleVibrationStrength = Vibration.Strength.Hard }; ExcludedEnemies = new List <string> { "cd4a4b7f612a4ba9a720b9f97c52f38c", "22fc2c2c45fb47cf9fb5f7b043a70122", "9215d1a221904c7386b481a171e52859", "9b4fb8a2a60a457f90dcf285d34143ac", "45192ff6d6cb43ed8f1a874ab6bef316" }; m_InUse = false; }
private void Shake(ScreenShakeSettings settings) { StopAllCoroutines(); StartCoroutine(_Shake(settings.Duration, settings.Noise)); }
private void Start() { ElevatorDepartureController departureComponent = gameObject.GetComponent <ElevatorDepartureController>(); if (departureComponent) { elevatorAnimator = departureComponent.elevatorAnimator; ceilingAnimator = departureComponent.ceilingAnimator; facewallAnimator = departureComponent.facewallAnimator; floorAnimator = departureComponent.floorAnimator; priorSprites = departureComponent.priorSprites; postSprites = departureComponent.postSprites; chunker = departureComponent.chunker; spawnTransform = departureComponent.spawnTransform; elevatorFloor = departureComponent.elevatorFloor; crumblyBumblyAnimator = departureComponent.crumblyBumblyAnimator; smokeAnimator = departureComponent.smokeAnimator; elevatorDescendAnimName = departureComponent.elevatorDescendAnimName; elevatorOpenAnimName = departureComponent.elevatorOpenAnimName; elevatorCloseAnimName = departureComponent.elevatorCloseAnimName; elevatorDepartAnimName = departureComponent.elevatorDepartAnimName; arrivalShake = departureComponent.arrivalShake; doorOpenShake = departureComponent.doorOpenShake; doorCloseShake = departureComponent.doorCloseShake; departureShake = departureComponent.departureShake; // Remove CryoButton. This version of the elevator won't support that. GameObject[] objects = FindObjectsOfType <GameObject>(); List <GameObject> CryoButtons = new List <GameObject>(); if (objects != null && objects.Length > 0) { foreach (GameObject targetObject in objects) { if (targetObject != null && targetObject.transform != null && !string.IsNullOrEmpty(targetObject.name)) { if (targetObject.name.StartsWith("CryoElevatorButton") && targetObject.transform.position.GetAbsoluteRoom() == GetAbsoluteParentRoom()) { float magnitude = (targetObject.transform.PositionVector2() - gameObject.transform.PositionVector2()).magnitude; if (magnitude <= 7) { CryoButtons.Add(targetObject); } } } } } if (CryoButtons.Count > 0) { for (int i = 0; i < CryoButtons.Count; i++) { Destroy(CryoButtons[i]); } } departureComponent.enabled = false; Destroy(departureComponent); Destroy(gameObject.GetComponent <ElevatorDepartureController>()); SpeculativeRigidbody component = elevatorFloor.GetComponent <SpeculativeRigidbody>(); if (component) { if (ConfigurationWasDeferred) { component.PrimaryPixelCollider.ManualOffsetY -= 8; component.PrimaryPixelCollider.ManualHeight += 8; component.Reinitialize(); } SpeculativeRigidbody speculativeRigidbody = component; speculativeRigidbody.OnTriggerCollision = (SpeculativeRigidbody.OnTriggerDelegate)Delegate.Combine(speculativeRigidbody.OnTriggerCollision, new SpeculativeRigidbody.OnTriggerDelegate(OnElevatorTriggerEnter)); } ToggleSprites(true); } else { if (ExpandSettings.debugMode) { ETGModConsole.Log("[DEBUG] ERROR: ElevatorDepatureComponent is null!"); Destroy(this); } } if (ConfigurationWasDeferred) { Material material = Instantiate(priorSprites[1].renderer.material); material.shader = ShaderCache.Acquire("Brave/Unity Transparent Cutout"); priorSprites[1].renderer.material = material; Material material2 = Instantiate(postSprites[2].renderer.material); material2.shader = ShaderCache.Acquire("Brave/Unity Transparent Cutout"); postSprites[2].renderer.material = material2; postSprites[1].HeightOffGround = postSprites[1].HeightOffGround - 0.0625f; postSprites[3].HeightOffGround = postSprites[3].HeightOffGround - 0.0625f; postSprites[1].UpdateZDepth(); } }