Beispiel #1
0
 /* * * * * * * * * * * * * * * * * *
 * Section 7.17.1 A Basic Example  *
 * * * * * * * * * * * * * * * * * */
 void UseSelfDestructor()
 {
     SelfDestructor bomb = new SelfDestructor("Bob-omb");
     // Bob-omb says hello.
     // after ~5 seconds
     // Bob-omb says goodbye.
 }
Beispiel #2
0
    private void Awake()
    {
        _shiftable = GetComponent<Shiftable>();
        _rotateSpeed = Random.insideUnitSphere * RotateSpeed;
        _destructor = GetComponent<SelfDestructor>();
        _lifeTimeCooldown = Random.Range(MinLifetime, MaxLifetime);

        _fadeCooldown = FadeTime;
        _collectibleTracker = GetComponent<CollectibleTracker>();
    }
Beispiel #3
0
    private IEnumerator SelfDestruct(float time)
    {
        yield return(new WaitForSeconds(time));

        GameObject explosion = Instantiate(m_timeoutDestroySprite[Random.Range(0, m_timeoutDestroySprite.Length)], transform.position, transform.rotation) as GameObject;

        SelfDestructor selfDest = explosion.AddComponent <SelfDestructor>();

        selfDest.DestructTime = 0.25f;


        Destroy(gameObject);
    }
 void Dispense()
 {
     if (Dispensing)
     {
         _dispenseLocation = transform.Find("DispenseLocation").transform.position;
         SelfDestructor sd = (SelfDestructor)Instantiate(DispenseItem, _dispenseLocation, Quaternion.identity);
         GameObject     g  = sd.gameObject;
         var            gLayeredController = sd.GetComponent <LayeredController>();
         gLayeredController.Layer = _dispenserLayeredController.Layer;
         Rigidbody rb = g.GetComponent <Rigidbody>();
         rb.AddForce((_dispenseLocation - transform.position) * DispenseSpeed);
         sd.Lifetime = DispenseItemLifetime;
     }
     Invoke("Dispense", DispenseDelay);
 }
Beispiel #5
0
    public void Die()
    {
        MakeDissolve();
        Destroyed = true;
        ResourceManager.CreateExplosion(transform.position, "effect_explosionship", "ShipExplosion", 2.5f, 5f, true);
        unitMeshObject.tag = "Exploder";
        Destroy(forceField.gameObject);
        unitMeshObject.transform.parent = null;
        SelfDestructor selfDestructor = unitMeshObject.AddComponent <SelfDestructor>();

        selfDestructor.lifeTimer = 2f;
        GameManager.instance.exploder.ExplodeObject(unitMeshObject);
        shipManager.RemoveFromSelection(this);
        gameObject.SetActive(false);
    }
Beispiel #6
0
    void FixedUpdate()
    {
        if (m_enginesOn)
        {
            m_timePassed += Time.fixedDeltaTime;
            if (m_timePassed > m_flareSpeed)
            {
                m_timePassed = 0f;
                float      offsetter = Random.Range((m_flareSize * 2 - m_scaleFactor), (m_flareSize * 2 + m_scaleFactor));
                GameObject flare     = (GameObject)Instantiate(m_rocketFlares[Random.Range(0, m_rocketFlares.Length)], transform.position, transform.rotation);

                flare.transform.position  += new Vector3(0f, offsetter / 20, 0f);
                flare.transform.localScale = new Vector3(Random.Range(m_flareSize, (m_flareSize + m_scaleFactor / 3)), m_flareSize, offsetter);

                SelfDestructor selfDestructor = flare.AddComponent <SelfDestructor>(); //Selfdestructor thoe!!
                selfDestructor.DestructTime = m_flareSpeed;
            }
        }
    }