コード例 #1
0
    public void FillLifeLostEventData(Damageable damageable, DamageMessage enemyData)
    {
        LayerMask playerMask = LayerMask.NameToLayer("Player");

        if (damageable.gameObject.layer == playerMask)
        {
            LifeLostEvent newLifeLostEvent = new LifeLostEvent();
            newLifeLostEvent.pdata    = playerData;
            newLifeLostEvent.eventID  = ++evendIdCount;
            newLifeLostEvent.position = damageable.gameObject.GetComponent <Transform>().position;
            if (enemyData.damager.gameObject.name == "Spitter")
            {
                newLifeLostEvent.enemyType = "Spitter";
            }
            else if (enemyData.damager.GetComponent <GrenadierGrenade>())
            {
                newLifeLostEvent.enemyType = "Spitter";
            }
            else if (enemyData.damager.gameObject.transform.parent.gameObject.name == "Chomper")
            {
                newLifeLostEvent.enemyType = "Chomper";
            }
            newLifeLostEvent.timeStamp = Time.time;
            lifeLostEvents.events.Add(newLifeLostEvent);
        }
    }
コード例 #2
0
 void OnTriggerEnter(Collider other)
 {
     if (other.CompareTag("Enemy"))
     {
         lifes -= 1;
         LifeLostEvent?.Invoke(lifes);
         if (lifes <= 0)
         {
             Instantiate(explosionPrefab, transform.position, transform.rotation);
         }
     }
 }