public void Destruct() // Уничтожение UFO { AsteroidSounds.Instance.PlaySound("Boom"); ExplosionController.MakeExplosion(transform.position); _reward.GiveReward(); UFOPool.Instance.SendToPool(this); }
void Start() { if (instance == null) instance = this; else if (instance != this) Destroy(gameObject); }
public void Init(Vector3 _movementDir, float _speed, int _damage, ExplosionController _explosionControllerPrefab, ProjectileType _type, GameObject _hommingTarget) { Init(_movementDir, _speed, _damage, _explosionControllerPrefab, _type); hommingTarget = _hommingTarget; rigidbody.isKinematic = true; boxCollider.isTrigger = true; }
void Awake() { chainMovement = GameObject.Find("SpawnController") .GetComponent <ChainMovement>(); explosion = GameObject.Find("ExplosionController") .GetComponent <ExplosionController>(); }
private void OnCollisionEnter2D(Collision2D collision) { if (collision.collider.gameObject.CompareTag(Strings.Tags.player)) { //Calculate the magnitude of the explosion based on collision distance from center Vector2 collisionPoint = collision.GetContact(0).point; float collisionDistance = (collisionPoint - rb.position).magnitude; float explosionMagnitude = 1f - collisionDistance / maxCollisionDistance; //Instantiate an explosion particle effect with appropriate magnitude GameObject explosionInstance = Instantiate(explosion, rb.position, Quaternion.Euler(0, 0, rb.rotation)) as GameObject; ExplosionController explosionController = explosionInstance.GetComponent <ExplosionController>(); explosionController.SetMagnitude(explosionMagnitude); //Play explosion sound playExplosionSound(explosionMagnitude); //Vibrate device explosionVibrate(explosionMagnitude); //Slow Time explosionTimeSlow(explosionMagnitude); Destroy(this.gameObject); //I put in lots of effot to make gate hits impactful :) } }
void Awake() { soundManager = GameObject.Find("SoundManager") .GetComponent <SoundManagerScript> (); explosion = GameObject.Find("ExplosionController") .GetComponent <ExplosionController>(); }
/// <summary> /// Функция, описывающая процесс инициализации объекта /// </summary> /// <param name="_createParameter">Параметры создания</param> public new void InstantiateObject(PoolObjectParameters _createParameter) { //Создаем переменную под контроллер объекта ExplosionController explosionController = null; //Если пул выключенных объектов пуст if (_poolOfDisabled.Count == 0) { //Создаем новую пулю GameObject newItem = Instantiate(PoolObjectPrefab, transform); explosionController = newItem.GetComponent <ExplosionController>(); //Добавляем созданный объект в пул активных элементов _poolOfEnabled.Add(explosionController); //Подписываемся на событие отключение только что созданного объекта explosionController.ObjectDisabledEvent.AddListener(OnDisabledObj); } //Если в пуле выключенных объектов есть элементы else { //Переносим выключенный объект из пула неактивных элементов в пул активных _poolOfEnabled.Add(_poolOfDisabled[_poolOfDisabled.Count - 1]); _poolOfDisabled.RemoveAt(_poolOfDisabled.Count - 1); explosionController = (ExplosionController)_poolOfEnabled[_poolOfEnabled.Count - 1]; } //Включить объект _poolOfEnabled[_poolOfEnabled.Count - 1].Enable(_createParameter); }
private void ExplodeByHit() { if (_distructableByHit && _explosionPrefab != null) { var explosion = Instantiate(_explosionPrefab, transform.position, Quaternion.identity) as GameObject; var rigidbody = explosion.GetComponent <Rigidbody>(); if (rigidbody != null) { rigidbody.velocity = GetComponent <Rigidbody>().velocity; } ExplosionController explosionController = explosion.GetComponent <ExplosionController>(); if (explosionController != null) { explosionController.SetColor(_color); } } if (_scorePrefab != null) { var score = Instantiate(_scorePrefab, transform.position, Quaternion.identity) as GameObject; var text = score.GetComponent <ScoreTextField>(); if (text != null) { text.SetValue(_hitValue); } } }
void Explode() { GameObject exp = Instantiate(explosion, transform.position, transform.rotation); ExplosionController ec = exp.GetComponent <ExplosionController>(); ec.damage = gm.weaponStatus.chargeBulletDamage; Destroy(transform.parent.gameObject); }
void DestroyAllInstantiatables() { EnemyController.DestroyAll(); ForeshadowController.DestroyAll(); GateController.DestroyAll(); ExplosionController.DestroyAll(); SelfDestruct.DestroyAll(); }
void Awake() { if (instance == null) { instance = this; } explosionPrefab = Resources.Load("Flash02") as GameObject; }
public void Init(Vector3 _movementDir, float _speed, int _damage, ExplosionController _explosionControllerPrefab, ProjectileType _type = ProjectileType.kNormal) { movementDir = _movementDir; speed = _speed; rigidbody.velocity = _movementDir * _speed; explosionControllerPrefab = _explosionControllerPrefab; damage = _damage; type = _type; }
void Awake () { spawn = GetComponent<SpawnMarbles> (); health = GameObject.Find ("VillainHealth") .GetComponent<VillainHealth>(); soundManager = GameObject.Find ("SoundManager") .GetComponent<SoundManagerScript>(); explosion = GameObject.Find ("ExplosionController") .GetComponent<ExplosionController>(); }
public void BombExplodeAt(int time, int pId, int ePPosX, int ePPosY) { Vector3 explodePos = foreController.PixelToWorldPosition(ePPosX, ePPosY, true); int offset = (isOnDander)?(2200):(0); // explosionController.DelayedExecute(time+offset,explodePos); ExplosionController.GetInstance().WillExplode(explodePos); digController.DelayedExecute(time + offset, explodePos); }
void Awake() { spawn = GetComponent <SpawnMarbles> (); health = GameObject.Find("VillainHealth") .GetComponent <VillainHealth>(); soundManager = GameObject.Find("SoundManager") .GetComponent <SoundManagerScript>(); explosion = GameObject.Find("ExplosionController") .GetComponent <ExplosionController>(); }
public void SpawnExplosion(Vector3 pos, float scale) { ExplosionController ec = op.InstantiatePooled( pos, Quaternion.identity, false ).GetComponent <ExplosionController>(); ec.Initialize(op, scale); StartCoroutine(ec.Explode()); }
public void OnControllerColliderHit(ControllerColliderHit hit) { //Self destruct on collision with player. if (hit.gameObject.tag == "Player") { //Spawn explosion GameObject explosion = Instantiate(ExplosionPrefab, transform.position, Quaternion.Euler(90f, 0f, 0f)) as GameObject; ExplosionController explosion_data = explosion.GetComponent <ExplosionController>(); explosion_data.CausedBy = gameObject; } }
private void detonate() { if (ExplosionPrefab != null) { GameObject explosion = Instantiate(ExplosionPrefab, transform.position, Quaternion.Euler(90f, 0f, 0f)) as GameObject; ExplosionController explosion_data = explosion.GetComponent <ExplosionController>(); explosion_data.CausedBy = FiredBy; } m_isAlive = false; }
// Use this for initialization public void InstanciateExplosion(Vector3 explosionPosition) { if (explode) { GameObject explosionInstanciated = Instantiate(explosion, explosionPosition, transform.rotation) as GameObject; ParticleSystem explosionParticleSystem = explosionInstanciated.GetComponent <ParticleSystem>(); explosionParticleSystem.startLifetime = scale; ExplosionController explosionInstanciatedController = explosionInstanciated.GetComponent <ExplosionController>(); explosionInstanciatedController.scale = scale; } }
private GameObject[] randomExplosions; // visual particle effect attached to gameobject void Start() { if (instance == null) { instance = this; } else if (instance != this) { Destroy(gameObject); } }
public static ExplosionController Get(string name) { if (indice[name] >= CAPACITY) { indice[name] = 0; } ExplosionController explosion = explosions[name][indice[name]]; explosion.gameObject.SetActive(true); explosion.Reset(); indice[name]++; return(explosion); }
// Update is called once per frame void Update() { if (Input.GetMouseButtonDown(0)) { ExplosionController.CallExplosion(GameObject.Find("ggj odun").transform.position, Color.yellow); clickAmount--; } if (clickAmount <= 0) { op.allowSceneActivation = true; } }
void continueExplosion() { if ((int)spriteNumber >= ExplosionController.getFinalSpriteNumber()) { GetComponent <SpriteRenderer>().sprite = null; spriteNumber = 0; } else { GetComponent <SpriteRenderer>().sprite = ExplosionController.getSprite((int)spriteNumber); spriteNumber += spriteSpeed; } }
private void SelfDestruct() { if (explosiveSize > 0 && explosionPrefab) { ExplosionController explosion = Instantiate(explosionPrefab); explosion.transform.position = transform.position + transform.forward * (explosiveSize / 2); explosion.explosionSize = explosiveSize; //explosion.pushForce = thrustForce; explosion.explosionDamage = hullDamage; explosion.Explode(); } Destroy(gameObject); }
public void AddExplosion(Vector3 position, ExplosionController.Orientation orientation) { GameObject newObject = Instantiate( spawnPrefabs[(int)SpawnPrefabs.ExplosionTile], position, Quaternion.identity); ExplosionController explosionController = newObject.GetComponent <ExplosionController>(); explosionController.orientation = orientation; NetworkServer.Spawn(newObject); }
private void OnTriggerEnter(Collider other) { if (other.tag == "NPC") { Debug.Log("<color=green>ProjectileContoller::</color> <color=red>Hit NPC</color>"); //TODO(Rok Kos): Use polling ExplosionController explosionController = Instantiate(explosionControllerPrefab, other.transform.position, Quaternion.identity, null); explosionController.PlayExplosion(); if (type != ProjectileType.kLaser) { Destroy(this.gameObject); } } }
private void Die() { _isAlive = false; ExplosionController explosion = ExplosionManager.Get(explodeEffect); explosion.transform.position = transform.position; explosion.Explode(); if (explodeSound) { AudioManager.PlayAtPoint(explodeSound, transform.position); } CancerManager.Recycle(this); GameSceneController.OnCancerDeath(identifierName); }
public void Kill() { gameObject.SetActive(false); if (gameObject.name == "Player") { gameObject.GetComponent <Player>().OnDeath(); } var explosion = ExplosionController.GetAvailble(); explosion.gameObject.SetActive(true); explosion.gameObject.transform.position = transform.position; }
private void PrepareDamageEffects() { smoke = Instantiate(smokePrefab); smoke.transform.position = smokePosition.position; smoke.transform.parent = smokePosition; fire = Instantiate(firePrefab); fire.transform.position = firePosition.position; fire.transform.parent = firePosition; explosion = Instantiate(explosionPrefab); explosion.transform.position = explosionPosition.position; explosion.transform.parent = explosionPosition; }
void OnTriggerEnter(Collider col) { string colTag = col.gameObject.tag; if (colTag != null) { //PICKUP ITEM if (colTag.Contains("Item_")) { //play sound float vol = Random.Range(volLowRange, volHighRange); audioSource.PlayOneShot(pickupSound, vol); switch (colTag) { case "Item_Explosive": currentProjectile = "explosive"; break; case "Item_Multi": currentProjectile = "multi"; break; default: currentProjectile = "default"; break; } float tempProjectileDuration = 5.0f; StartCoroutine(setSpecialProjectileTime(tempProjectileDuration)); StartCoroutine(ColorFlash(tempProjectileDuration, 0.3f, Color.blue)); } //HIT PROJECTILE if (colTag.Contains("Projectile_") && !isRespawing && !colTag.Contains(myTag)) { ProjectileController pc = col.gameObject.GetComponent <ProjectileController>(); KillSelf(pc.myCreator); } //HIT EXPLOSION if (colTag.Contains("Explosion_Damaging") && !isRespawing && !colTag.Contains(myTag)) { ExplosionController ec = col.gameObject.GetComponent <ExplosionController>(); KillSelf(ec.myCreator); } } }
private void explode(Vector3 epicentre) { if (m_hasExploded) { return; } m_hasExploded = true; GameObject explosion = Instantiate(Explosion, epicentre, Quaternion.identity) as GameObject; m_explosionController = explosion.GetComponent<ExplosionController>(); m_explosionController.Radius = SplashRadius; m_explosionController.PushForce = PushForce; m_explosionController.Damage = SplashDamage; m_explosionController.CausedBy = m_projectile.FiredBy; Destroy(this.gameObject); }
/// <summary> /// Constructor. Inject the various dependencies. /// </summary> public BubbleController(GameObject bubblePrefab, BubbleOptions options, Boundary worldBoundary, ExplosionController explosionController, SpectrumVisualiser spectrumVisualiser) { this.explosionController = explosionController; this.bubblePrefab = bubblePrefab; this.options = options; this.worldBoundary = worldBoundary; activeBubbles = new List<GameObject>(options.maxBubbles); pooledBubbles = new List<GameObject>(options.maxBubbles); InitBubblePool(); spectrumPeaks = new List<Peak>(); // Subscribe to the spectrum visualiser's SpectrumChangedEvent, // so that we are able to spawn bubbles at peaks in the rendered spectrum. spectrumVisualiser.SpectrumChangedEventHandler += OnSpectrumBandsUpdate; yOrigin = spectrumVisualiser.yOrigin; }
IEnumerator MoveSacrifices() { while (Vector3.Distance(InputController.selectedFucker.transform.position, fire.transform.position) > 0.2f) { for (int i = 0; i < InputController.Fuckers.Count; i++) { InputController.Fuckers[i].transform.Translate((fire.transform.position - InputController.Fuckers[i].transform.position).normalized * Time.deltaTime * 5, Space.World); } yield return(null); } ExplosionController.CallExplosion(fire.transform.position, Color.black); yield return(new WaitForSeconds(0.2f)); FollowerSpawner.instance.Refresh(FollowerSpawner.Amount); PlayCreator.instance.Refresh(); InputController.instance.Refresh(); }
void explode() { //destroy obj Destroy(this.gameObject); //instantate explosion ExplosionController ec = explosionImage.GetComponent <ExplosionController>(); ec.init(myCreator, isDamagingExplosion); Instantiate(explosionImage, myTransform.position, Quaternion.identity); //shake camera if (isScreenShaker) { CameraController cc = Camera.main.GetComponent <CameraController> (); cc.shakeCamera(); } }
void Awake () { chainMovement = GameObject.Find ("SpawnController") .GetComponent <ChainMovement>(); explosion = GameObject.Find ("ExplosionController") .GetComponent<ExplosionController>(); }
void Awake () { soundManager = GameObject.Find ("SoundManager") .GetComponent<SoundManagerScript> (); explosion = GameObject.Find ("ExplosionController") .GetComponent<ExplosionController>(); }