IEnumerator ShakeAndDie() { startedDeathFlashing = true; Vector3 basePosition = rbody.position; rbody.isKinematic = true; float radius = 0.2f; WaitForEndOfFrame waitFrame = new WaitForEndOfFrame(); while (squash.inSquash && !squash.isFlat) { yield return(waitFrame); } for (int i = 0; i < 20; i++) { rbody.position = basePosition + Random.onUnitSphere * radius; yield return(new WaitForSeconds(0.05f - i * 0.02f)); } transform.localScale = Vector3.one; ParticleEffectsManager.GetEffect("DeathExplosion").Spawn(meshRenderer); if (Time.time - lastDeathSoundTime > 0.25f) { lastDeathSoundTime = Time.time; Sound.Play(deathSound, 0.5f); } Destroy(gameObject); }
void OnTriggerEnter(Collider other) { IAttackable thingICanKill = other.GetComponent <IAttackable>(); if (thingICanKill != null) { if (!audioSource.isPlaying) { audioSource.PlayOneShot(impact, 0.5f); } Vector3 knockback = Vector3.zero; Transform me = player ? player : transform; knockback = other.transform.position - me.position; knockback.y = 1f; knockback.Normalize(); knockback *= knockbackStrength; thingICanKill.TakeDamage(new DamageParams(damage, currentElement, damageType, knockback)); if (damageType == DamageType.Hit) { player.GetComponent <PlayerMovement>().AddMana(10); ParticleEffectsManager.GetEffect("Hit1").Spawn(transform.position); } } }
public void SwingHit() { for (int i = 0; i < numRays; i++) { ParticleEffectsManager.GetEffect("SwingFX").Spawn(rayCastPoint.transform.position, transform.rotation); Vector3 fwd = rayCastPoint.transform.forward; float Afwd = Mathf.Atan2(fwd.z, fwd.x); float angle = Afwd + (-40 + i * 80 / numRays) * Mathf.Deg2Rad; Vector3 direction = new Vector3(Mathf.Cos(angle), 0, Mathf.Sin(angle)); direction.y = 0; Ray r = new Ray(rayCastPoint.transform.position, direction); RaycastHit hit; if (Physics.Raycast(r, out hit, 10f)) { IAttackable thingICanKill = hit.collider.GetComponent <IAttackable>(); if (thingICanKill != null) { audioSource.PlayOneShot(swingSoundHit, 0.5f); Vector3 knockback = Vector3.zero; knockback = hit.transform.position - transform.position; knockback.y = 1f; knockback.Normalize(); knockback *= knockbackStrength; thingICanKill.TakeDamage(new DamageParams(swingDamage, currentElement, damageType, knockback)); ParticleEffectsManager.GetEffect("Hit1").Spawn(hit.transform.position); } } } }
/// <summary> /// Initialize all private properties /// </summary> private void Awake() { _pool = GameObject.Find("GameManager").GetComponent<GameManager>().BulletPool; _xform = GameObject.Find("EnemySpawnPoint").transform; _playerXform = GameObject.Find("Player").transform; _particleManager = GameObject.Find("ParticleManager").GetComponent<ParticleEffectsManager>(); }
/// <summary> /// Initialize all private properties /// </summary> private void Awake() { _pool = GameObject.Find("GameManager").GetComponent <GameManager>().BulletPool; _xform = GameObject.Find("EnemySpawnPoint").transform; _playerXform = GameObject.Find("Player").transform; _particleManager = GameObject.Find("ParticleManager").GetComponent <ParticleEffectsManager>(); }
public void StopFreezing() { meshRenderer.material = normalMat; meshRenderer.material.SetFloat("_TintAmount", 0.0f); iceTimer = -1; ParticleEffectsManager.GetEffect("Ice").Stop(frostIndex); frostIndex = -1; }
public void StartBurning() { if (fireIndex == -1) { fireIndex = ParticleEffectsManager.GetEffect("Fire").Spawn(meshRenderer); } fireTimer = duration; }
private void Start() { _xform = transform; _startingColor = renderer.material.color; _pool = PoolManager.Pools[_BULLET_POOL_STRING]; _particleManager = GameObject.Find("ParticleManager").GetComponent<ParticleEffectsManager>(); _spawnManager = GameObject.Find("SpawnMananger").GetComponent<SpawnManager>(); }
public void ElcStart() { if (lightIndex == -1) { lightIndex = ParticleEffectsManager.GetEffect("Lightning").Spawn(meshRenderer); } elcTimer = duration; }
private void Start() { _xform = transform; _startingColor = renderer.material.color; _pool = PoolManager.Pools[_BULLET_POOL_STRING]; _particleManager = GameObject.Find("ParticleManager").GetComponent <ParticleEffectsManager>(); _spawnManager = GameObject.Find("SpawnMananger").GetComponent <SpawnManager>(); }
public void StopBurning() { fireTimer = -1; if (fireIndex != -1) { ParticleEffectsManager.GetEffect("Fire").Stop(fireIndex); } fireIndex = -1; }
void Awake() { if (controller == null) { controller = this; } DontDestroyOnLoad(gameObject); }
public void Die() { ParticleEffectsManager.GetEffect("DeathExplosion").Spawn(meshRenderer); Sound.Play(deathSound); Sound.Play(deathSound2); gameObject.SetActive(false); GameObject go = new GameObject("PlayerDeath", typeof(PlayerDeath)); go.GetComponent <PlayerDeath>().Die(); }
// Update is called once per frame public void FreezeStart() { print("yay he froze"); if (frostIndex == -1) { frostIndex = ParticleEffectsManager.GetEffect("Ice").Spawn(meshRenderer); } iceTimer = duration; meshRenderer.material = material; }
void Start () { _player = GameObject.Find("Player"). GetComponent<Player>(); _particleManager = GameObject.Find("ParticleManager").GetComponent<ParticleEffectsManager>(); _xForm = transform; _pool = GameObject.Find("GameManager"). GetComponent<GameManager>().BulletPool; _weapons = _player. GetComponent<Weapons>(); CreatePath(); pickupType = PickupType.BulletVel; SetPickupType(); }
void Start() { _player = GameObject.Find("Player").GetComponent <Player>(); _particleManager = GameObject.Find("ParticleManager").GetComponent <ParticleEffectsManager>(); _xForm = transform; _pool = GameObject.Find("GameManager").GetComponent <GameManager>().BulletPool; _weapons = _player.GetComponent <Weapons>(); CreatePath(); pickupType = PickupType.BulletVel; SetPickupType(); }
void Awake() { xform = transform; //TODO: Move this to a private serialized object _playerSpawnPoint = GameObject.Find("PlayerSpawnPoint").transform; // set reference to Spawn Point Object xform.position = _playerSpawnPoint.position; // Set player pos to spawnPoint pos _pool = _gm.BulletPool; _particleManager = GameObject.Find("ParticleManager").GetComponent<ParticleEffectsManager>(); weapons = GetComponent<Weapons>(); GameEventManager.GameStart += GameStart; }
void Awake() { xform = transform; //TODO: Move this to a private serialized object _playerSpawnPoint = GameObject.Find("PlayerSpawnPoint").transform; // set reference to Spawn Point Object xform.position = _playerSpawnPoint.position; // Set player pos to spawnPoint pos _pool = _gm.BulletPool; _particleManager = GameObject.Find("ParticleManager").GetComponent <ParticleEffectsManager>(); weapons = GetComponent <Weapons>(); GameEventManager.GameStart += GameStart; }
private void OnTriggerEnter(Collider col) { if (col.gameObject.tag == "AOE") { Sound.Play(impact, 5f); ParticleEffectsManager.GetEffect("ObjectBreak").Spawn(transform.position); Destroy(gameObject); for (int i = 0; i < 10; i++) { Instantiate(smallStone, transform.position, Quaternion.identity); } } }
virtual protected void Update() { speed = GetComponent <TestEnemy>().maxSpeed = 6; if (flammable && flammable.IsBurning()) { SetHealth(health - fireDamagePerSecond * Time.deltaTime); } if (freezable && freezable.IsFreezing()) { SetHealth(health - iceDamagePerSecond * Time.deltaTime); slowSpeed = GetComponent <TestEnemy>().maxSpeed = 1.5f; } if (poisonStatus > 0) { SetHealth(health - poisonDamagePerSecond * Time.deltaTime); poisonStatus -= Time.deltaTime; if (poisonStatus <= 0) { poisonStatus = -1; ParticleEffectsManager.GetEffect("Poison").Stop(poisonEffectIndex); } } if (electracuted && electracuted.IsElc()) { //healthSlider.value = health; //healthSlider.gameObject.SetActive(true); stun = GetComponent <TestEnemy>().maxSpeed = 0f; print("STUNNED"); } if (iFramesTimer > 0) { iFramesTimer -= Time.deltaTime; if (iFramesTimer <= 0) { iFramesTimer = -1; GetComponent <Renderer>().material.SetFloat("_TintAmount", 0); } } slowSpeed = speed; stun = speed; }
IEnumerator ShakeAndDie() { startedDeathFlashing = true; Renderer renderer = GetComponent <Renderer>(); Vector3 basePosition = rbody.position; rbody.isKinematic = true; float radius = 0.2f; for (int i = 0; i < 20; i++) { rbody.position = basePosition + Random.onUnitSphere * radius; yield return(new WaitForSeconds(0.05f - i * 0.02f)); } transform.localScale = Vector3.one; ParticleEffectsManager.GetEffect("DeathExplosion").Spawn(GetComponent <MeshRenderer>()); Sound.Play(deathSound); Destroy(gameObject); }
public void ElcStop() { elcTimer = -1; ParticleEffectsManager.GetEffect("Lightning").Stop(lightIndex); lightIndex = -1; }
void Awake() { Instance = this; }
virtual public void TakeDamage(DamageParams args) { if (health > 0) { if (!squash.inSquash && iFramesTimer <= 0) { if (args.amount > 0) { SetHealth(health - args.amount); if (args.damageType == DamageType.Squash) { squash.DoSquash(health > 0); } else if (args.damageType == DamageType.Hit) { iFramesTimer = iFramesDuration; knockbackVector = knockbackMultiplier * args.knockback; StartCoroutine(Flasher()); } ExtraTakeDamage(args); } CameraEffects.Get.FreezeFrames(0.15f, 0.01f); switch (args.element) { case Element.None: break; case Element.Fire: if (flammable) { flammable.StartBurning(); if (!audioSource.isPlaying) { audioSource.PlayOneShot(burn, 0.5f); } } break; case Element.Ice: if (freezable) { freezable.FreezeStart(); if (!audioSource.isPlaying) { audioSource.PlayOneShot(slow, 1f); } } break; case Element.Poison: poisonStatus = poisonStatusDuration; if (poisonStatus > 0) { poisonEffectIndex = ParticleEffectsManager.GetEffect("Poison").Spawn(GetComponent <MeshRenderer>()); if (!audioSource.isPlaying) { audioSource.PlayOneShot(poisoned, 1f); } } break; case Element.Lightning: if (electracuted) { electracuted.ElcStart(); if (!audioSource.isPlaying) { audioSource.PlayOneShot(paralysis, 0.10f); } } break; } if (health <= 0) { Die(); if (Random.Range(1, 5) == 1) { Instantiate(powerUps[Random.Range(0, powerUps.Count - 1)], transform.position, Quaternion.identity); } } } } }
public void PlayParticleEffect(string effectName) { ParticleEffectsManager.GetEffect(effectName).Spawn(weapon.overHeadHitBox.transform.position); }