public bool doBehavior(bool condition) { if (condition && !active) { if (entity == null) { entity = this.gameObject.GetComponent <AI_Entity>(); } if (entity.pushOneShotParticles != null) { entity.pushOneShotParticles.Emit(entity.pushOneShotAmount); } if (!ManagesPostProcessing.getInstance().hackingEntities.Contains(this.gameObject)) { ManagesPostProcessing.getInstance().hackingEntities.Add(this.gameObject); } if (ManagesPlayer.getInstance().playerValues.canUseAbilities) { if (entity.playRemoveAbilitiesSound) { entity.playSound(); } } ManagesPlayer.getInstance().canUseAbilities(false); ManagesGame.getInstance().utilityFunctions.particleEmission( ManagesPlayer.getInstance().noAbilityParticleSystem, true); active = true; } else if (condition && active) { if (entity.pushOneShotParticles != null) { entity.pushOneShotParticles.Emit(entity.pushOneShotAmount); } } else if (!condition && active) { ManagesPlayer.getInstance().canUseAbilities(true); if (ManagesPostProcessing.getInstance().hackingEntities.Contains(this.gameObject)) { ManagesPostProcessing.getInstance().hackingEntities.Remove(this.gameObject); } ManagesGame.getInstance().utilityFunctions.particleEmission( ManagesPlayer.getInstance().noAbilityParticleSystem, false); active = false; } return(condition); }
void Awake() { if (instance != null) { Destroy(this.gameObject); } else { instance = this; } }
// Update is called once per frame void Update() { if (isPlayer) { if (ManagesPlayer.getInstance().playerPhysicsController.velocity.magnitude > 80 && !activatedParticles) { if (ManagesPlayer.getInstance().playerPhysicsController.velocity.y < -80) { actualStrength += 50; } ManagesGame.getInstance().utilityFunctions.particleEmission(ManagesPlayer.getInstance().fallingParticleSystem, true); activatedParticles = true; } else if (ManagesPlayer.getInstance().playerPhysicsController.velocity.magnitude < 80) { ManagesGame.getInstance().utilityFunctions.particleEmission(ManagesPlayer.getInstance().fallingParticleSystem, false); activatedParticles = false; } } if (!groundCheck.checkGrounded()) { if (isPlayer) { if (!ManagesPowerUps.getInstance().isPowerUpActive(PowerUpTypes.ANTI_GRAV)) { actualStrength += strengthIncrease * Time.deltaTime; } else { actualStrength = 1.0f; } } else { actualStrength += strengthIncrease * Time.deltaTime; } if (actualStrength > maximumStrength) { actualStrength = maximumStrength; } float effectiveStrength = actualStrength * this.GetComponent <Rigidbody>().mass *Time.deltaTime; myBody.AddForce(Physics.gravity * effectiveStrength, ForceMode.Impulse); } else { resetStrength(); } }