示例#1
0
    void OnTriggerEnter2D(Collider2D theCollider)
    {
        if (theCollider.gameObject.name.Contains("Laser"))
        {
            LaserBehaviour laser = theCollider.gameObject.GetComponent("LaserBehaviour") as LaserBehaviour;
            healt -= laser.damage;
            Destroy(theCollider.gameObject);
        }

        if (healt <= 0)
        {
            Destroy(this.gameObject);
            GameController controller = GameObject.FindGameObjectWithTag("GameController").GetComponent <GameController>();
            controller.killEnemigo();

            if (explosion)
            {
                GameObject exploder = ((Transform)Instantiate(explosion,
                                                              this.transform.position,
                                                              this.transform.rotation)
                                       ).gameObject;
                Destroy(exploder, 2.0f);
            }
        }

        if (theCollider.gameObject.name.Contains("playerShip"))
        {
        }
    }
示例#2
0
    private void OnCollisionEnter2D(Collision2D theCollision)
    {
        if (theCollision.gameObject.name.Contains("Laser"))
        {
            LaserBehaviour laser = theCollision.gameObject.GetComponent("LaserBehaviour") as LaserBehaviour;
            Health -= laser.Damage;
            Destroy(theCollision.gameObject);
        }

        if (Health > 0)
        {
            return;
        }
        Destroy(theCollision.gameObject);
        GetComponent <AudioSource>().PlayOneShot(HitSound);
        GameController controller = GameObject.FindGameObjectWithTag("GameController").GetComponent <GameController>();

        controller.KilledEnemy();

        controller.IncreaseScore(10);

        if (!Explosion)
        {
            return;
        }
        GameObject exploder = Instantiate(Explosion, transform.position, transform.rotation).gameObject;

        Destroy(exploder, 2.0f);
    }
 void DestroyLaser(LaserBehaviour laser)
 {
     /*if (Application.isPlaying)
      *  Destroy(laser.gameObject);
      * else*/
     DestroyImmediate(laser.gameObject);
 }
    private void OnTriggerEnter2D(Collider2D other)
    {
        if (other.gameObject.CompareTag("Weapon"))
        {
            LaserBehaviour laser = other.gameObject.GetComponent <LaserBehaviour>();
            if (laser != null)
            {
                Destroy(laser.gameObject);
            }
        }
        else if (other.gameObject.CompareTag("Player"))
        {
            PlayerController player = other.gameObject.GetComponent <PlayerController>();
            if (player != null)
            {
                player.TakeDamage(_damage);
            }
        }

        _gameManager.AsteroidsAmount--;

        if (_gameManager.AsteroidsAmount == 0)
        {
            _gameManager.GetComponent <SpawnManager>().StartSpawnsObject();
        }

        SetExplosion();
    }
示例#5
0
    private void OnCollisionEnter2D(Collision2D collision)
    {
        //check for collision (comment out if works)
        Debug.Log("Hit" + collision.gameObject.name);

        //looks for 'laser' in the names of anything collided
        if (collision.gameObject.name.Contains("Laser"))
        {
            LaserBehaviour laser = collision.gameObject.GetComponent("LaserBehaviour") as LaserBehaviour;
            health -= laser.damage;
            Destroy(collision.gameObject);

            //plays a sound from this object's AudioSource
            GetComponent <AudioSource>().PlayOneShot(hitSound);
        }

        if (health <= 0)
        {
            Destroy(this.gameObject);
            GameController controller = GameObject.FindGameObjectWithTag("GameController").GetComponent <GameController>();
            controller.KilledEnemy();
            controller.IncreaseScore(10);

            //check if the explosion was set
            if (explosion)
            {
                GameObject exploder = ((Transform)Instantiate(explosion, this.transform.position, this.transform.rotation)).gameObject;
                Destroy(exploder, 2.0f);
            }
        }
    }
    void OnCollisionEnter2D(Collision2D theCollision)
    {
        // Uncomment this line to check for collision
        //Debug.Log("Hit"+ theCollision.gameObject.name);
        // this line looks for "laser" in the names of
        // anything collided.
        if (theCollision.gameObject.name.Contains("Laser"))
        {
            LaserBehaviour laser = theCollision.gameObject.GetComponent("LaserBehaviour") as LaserBehaviour;
            health -= laser.damage;
            Destroy(theCollision.gameObject);
            // Plays a sound from this object's AudioSource
            GetComponent <AudioSource>().PlayOneShot(hitSound);
        }
        if (health <= 0)
        {
            Destroy(this.gameObject);
            // Check if explosion was set
            if (explosion)
            {
                GameObject exploder = ((Transform)Instantiate(explosion, this.
                                                              transform.position, this.transform.rotation)).gameObject;
                Destroy(exploder, 2.0f);
            }
        }
        GameController controller = GameObject.FindGameObjectWithTag("GameController").GetComponent <GameController>();

        controller.KilledEnemy();
        controller.IncreaseScore(10);
    }
    void Start()
    {
        laser = GetComponentInParent <LaserBehaviour>();

        chart            = laser.chart;
        trackToVisualize = laser.trackIndex;
        keysToVisualize  = laser.assignedPitches;

        tiltAngle = Vector3.Angle(transform.rotation * Vector3.up, Vector3.up);

        factory   = GetComponent <NoteFactory>();
        particles = GetComponentInChildren <ParticleSystem>();

        if (keysToVisualize == null || keysToVisualize.Length == 0)
        {
            foreach (var note in chart.tracks[trackToVisualize].notes)
            {
                pendingNotes.Enqueue(note);
            }
        }
        else
        {
            var keySet = new HashSet <int>(keysToVisualize);
            foreach (var note in chart.tracks[trackToVisualize].notes)
            {
                if (keySet.Contains(note.noteNum))
                {
                    pendingNotes.Enqueue(note);
                }
            }
        }
    }
 private void OnEnable()
 {
     laserBehaviour           = target as LaserBehaviour;
     laserBehaviourInspectors = new Dictionary <LaserBehaviourType, Action>
     {
         { LaserBehaviourType.Straight, StraightInspector },
         { LaserBehaviourType.CircularLaser, CircularLaserInspector }
     };
 }
示例#9
0
    // private void OnCollisionEnter2D(Collision2D other)
    // {
    //  if (!agglomerationEnabled)
    //      return ;

    //  if (other.gameObject.tag == "debrit")
    //  {
    //      var otherDebrit = other.gameObject.GetComponent<NoColDebrisController>();
    //      manager.AgglomerateDebrit(otherDebrit);
    //      touchingDebrits.Add(otherDebrit);
    //  }
    // }

    public void ToDoWhenLaserHit(LaserBehaviour laser)
    {
        if (agglomerationEnabled && onLaserReceived != null)
        {
            onLaserReceived(this);
        }
        OnWillBeDestroyed();
        NoColDebrisPool.instance.FreeDebris(this);
        LaserPool.instance.FreeLaser(laser);
    }
    public override void Fire(Transform firePoint)
    {
        GameObject laser = spawnGameObjectBehaviour.Spawn(prefab, firePoint.position, firePoint.rotation);

        LaserBehaviour laserBehaviour = laser.GetComponent <LaserBehaviour>();

        Assert.IsNotNull(laserBehaviour, $"{laser.gameObject.name} doesn't have LaserBehaviour component");

        laserBehaviour.AddVelocityChangeForce(transform.up);
    }
示例#11
0
    protected override GameObject ClosestTarget()
    {
        if (laser == null)
        {
            laser = GetComponent <LaserBehaviour>();
        }
        GameObject activeTarget = base.ClosestTarget();

        laser.SetTarget(activeTarget);
        return(activeTarget);
    }
    void Start()
    {
        laser      = GetComponent <LaserBehaviour>();
        sequencer  = GameObject.FindGameObjectWithTag("Sequencer").GetComponent <TrackSequencer>();
        judger     = GetComponent <LaserMIDITimingJudge>();
        visualizer = GetComponentInChildren <LaserNoteVisualier>();

        rumble = GetComponent <ControllerRumble>();

        model             = this.transform.Find("Model").gameObject;
        modelInitialScale = model.transform.localScale;
    }
示例#13
0
    IEnumerator fireLaser()
    {
        yield return(new WaitForSeconds(0));

        Vector3 direction = transform.rotation * Vector3.up;

        GameObject weaponToFire = ( GameObject )Instantiate(loadedWeapon, spawnPointProjectile.position, transform.rotation);

        LaserBehaviour laser = weaponToFire.GetComponent <LaserBehaviour>();

        laser.ship = gameObject;
    }
示例#14
0
 public void CopyFrom(LaserBehaviour referenceLaser)
 {
     type              = referenceLaser.type;
     rotationSpeed     = referenceLaser.rotationSpeed;
     speed             = referenceLaser.speed;
     radius            = referenceLaser.radius;
     laserSprite       = referenceLaser.laserSprite;
     laserColor        = referenceLaser.laserColor;
     wobwob            = referenceLaser.wobwob;
     wobwobSpeed       = referenceLaser.wobwobSpeed;
     useCircleCollider = referenceLaser.useCircleCollider;
     spawnScale        = referenceLaser.spawnScale;
 }
示例#15
0
 // Start is called before the first frame update
 void Start()
 {
     if (GlobalVariables.local)
     {
         enabled = false;
     }
     else
     {
         laser = gameObject.GetComponent <LaserBehaviour>();
         if (isServer)
         {
             ship = laser.ship;
         }
     }
 }
示例#16
0
    public LaserBehaviour NewLaser(Vector3 pos, Quaternion rotation, LaserBehaviour referenceLaser)
    {
        base.GetGameObject();

        LaserBehaviour laser = laserPool.Dequeue();

        laser.transform.position = pos;
        laser.transform.rotation = rotation;
        laser.CopyFrom(referenceLaser);

        Benchmark.instance.maxSimultaneousLasers = allocatedObjectCount;

        laser.OnLaserSpawned();

        return(laser);
    }
示例#17
0
    void OnCollisionEnter2D(Collision2D theCollision)
    {
        if (theCollision.gameObject.name.Contains("Laser"))
        {
            LaserBehaviour laser = theCollision.gameObject.GetComponent <LaserBehaviour>();
            health -= laser.damage;
            Destroy(theCollision.gameObject);

            GetComponent <AudioSource>().PlayOneShot(hitSound);
        }

        if (health <= 0)
        {
            Destroy(this.gameObject);
        }
    }
示例#18
0
    IEnumerator fireLaser()
    {
        yield return(new WaitForSeconds(0));

        Vector3 direction = transform.rotation * Vector3.up;

        GameObject weaponToFire = ( GameObject )Instantiate(loadedWeapon, projectileSpawnPoint.position, transform.rotation);

        LaserBehaviour laser = weaponToFire.GetComponent <LaserBehaviour>();

        laser.ship = gameObject;
        if (!GlobalVariables.local)
        {
            NetworkServer.Spawn(weaponToFire);
        }
    }
示例#19
0
    private void Start()
    {
        childRend    = GetComponentInChildren <SpriteRenderer>();
        cam          = GameObject.FindGameObjectWithTag("MainCamera").GetComponent <Camera>();
        scoreManager = GameObject.FindGameObjectWithTag("Manager").GetComponent <ScoreManager>();
        playerTrans  = GameObject.FindGameObjectWithTag("Player").GetComponent <Transform>();
        playerScript = GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerBehaviour>();
        alienBody    = gameObject.GetComponent <Rigidbody>();
        int a = Random.Range(0, 3);

        switch (a)
        {
        case 0: childRend.sprite = redSprite; RGB = 0; break;

        case 1: childRend.sprite = greenSprite; RGB = 1; break;

        case 2: childRend.sprite = blueSprite; RGB = 2; break;
        }
        int b = Random.Range(0, 7);

        switch (b)
        {
        case 0: transform.position = new Vector3(-4.8f, transform.position.y, 0); break;

        case 1: transform.position = new Vector3(-3.2f, transform.position.y, 0); break;

        case 2: transform.position = new Vector3(-1.6f, transform.position.y, 0); break;

        case 3: transform.position = new Vector3(0, transform.position.y, 0); break;

        case 4: transform.position = new Vector3(1.6f, transform.position.y, 0); break;

        case 5: transform.position = new Vector3(3.2f, transform.position.y, 0); break;

        case 6: transform.position = new Vector3(4.8f, transform.position.y, 0); break;
        }

        laserScript = GameObject.FindGameObjectWithTag("RGo").GetComponent <LaserBehaviour>();
    }
示例#20
0
    private void OnTriggerEnter2D(Collider2D theCollider)
    {
        if (theCollider.gameObject.name.Contains("laser"))
        {
            LaserBehaviour laser = theCollider.gameObject.GetComponent("LaserBehaviour") as LaserBehaviour;
            this.health -= laser.damage;

            Transform.Destroy(theCollider.gameObject);

            if (this.health <= 0)
            {
                Transform.Destroy(this.gameObject);

                GameController controller = GameObject.FindGameObjectWithTag("GameController").GetComponent <GameController>();
                controller.KillEnemy();
                controller.sumScore(10);

                if (this.explosion)
                {
                    Transform  t        = Transform.Instantiate(explosion, this.transform.position, this.transform.rotation);
                    GameObject exploder = t.gameObject;

                    Transform.Destroy(exploder, 2.0f);

                    this.GetComponent <AudioSource>().PlayOneShot(hitSound);
                }
            }
            else if (this.health == 1)
            {
                damageSprites.SetActive(true);
            }
        }

        if (theCollider.gameObject.name.Contains("playerShip"))
        {
        }
    }
    public void Initialize()
    {
        if (alreadyInitialized)
        {
            return;
        }

        alreadyInitialized = true;

        laser = GetComponent <LaserBehaviour>();
        var pitchSet = new HashSet <int>(laser.assignedPitches);
        var rawNotes = new List <MIDIChart.Note>(laser.chart.tracks[laser.trackIndex].notes);

        // If there is no pitch distribution, then keep all notes for this track
        if (pitchSet.Count > 0)
        {
            rawNotes.RemoveAll((MIDIChart.Note note) => !pitchSet.Contains(note.noteNum));
        }

        notes           = rawNotes.ToArray();
        nextNoteToJudge = 0;

        playedNotes = new HashSet <MIDIChart.Note>();
    }
示例#22
0
    void OnTriggerEnter2D(Collider2D theCollider)
    {
        //Debug.Log ("He colisionado con : "+theCollider.gameObject.name);

        //El enemigo choca con el laser
        if (theCollider.gameObject.name.Contains("Laser"))
        {
            LaserBehaviour laser = theCollider.gameObject.GetComponent("LaserBehaviour") as LaserBehaviour;
            health -= laser.damage;
            Destroy(theCollider.gameObject);

            GetComponent <AudioSource> ().PlayOneShot(hitSound);
        }

        if (health <= 0)
        {
            Destroy(this.gameObject);
            GameController controller = GameObject.FindGameObjectWithTag("GameController").GetComponent <GameController> ();
            controller.KillEnemy();
            controller.IncreaseScore(10);
            if (explosion)
            {
                Transform t = (Transform)Instantiate(explosion, this.transform.position, this.transform.rotation);

                GameObject exploder = t.gameObject;

                Destroy(exploder, 2.0f);
            }
        }


        //El enemigo choca contra la nave protagonista
        if (theCollider.gameObject.name.Contains("nave"))
        {
        }
    }
    public override void Fire(Transform firePoint)
    {
        LaserBehaviour laserBehaviour = Instantiate(laserPrefab, firePoint.position, firePoint.rotation);

        laserBehaviour.AddVelocityChangeForce(transform.up);
    }
示例#24
0
 public void InitializeLazerInfo(LaserBehaviour laserInfo)
 {
     this.laserInfo = laserInfo;
     ammoLogger.PushTextMessage(ammoText, laserInfo.CurrentAmmoLoaded.ToString());
     laserInfo.On_ammoCountChanged += InfoOnOnAmmoCountChanged;
 }
示例#25
0
 public void FreeLaser(LaserBehaviour o)
 {
     FreeGameObject(o.gameObject);
     laserPool.Enqueue(o);
 }
示例#26
0
 private void Start()
 {
     laser = GetComponent <LaserBehaviour>();
     //StartCoroutine(FadeLaserSound());
 }