コード例 #1
0
    private void Burning()
    {
        healthLeft -= Convert.ToInt32((float)incomeDamage / 8f);
        Transform damagePupupTransform = Instantiate(pfFloatingDamage, gameObject.transform.position + (transform.up * 0.5f), Quaternion.identity);

        floatingDamage = damagePupupTransform.GetComponent <FloatingDamage>();
        floatingDamage.Setup(Convert.ToInt32((float)incomeDamage / 8f), incomeType);
        ticks += 1;
        if (healthLeft <= 0)
        {
            affected = false;
            CancelInvoke();
            ticks = 0;
            gameObject.GetComponentInChildren <SpriteRenderer>().color = new Color32(255, 255, 255, 255);
            Die();
        }
        if (ticks == 4)
        {
            affected = false;
            CancelInvoke();
            ticks = 0;
            gameObject.GetComponentInChildren <SpriteRenderer>().color = new Color32(255, 255, 255, 255);
        }
        //rb.velocity = new Vector2(transform.position.x - playerPos.position.x, transform.position.y - playerPos.position.y).normalized * 2;
    }
コード例 #2
0
    private void Cursed()
    {
        if (player.GetComponent <PlayerStats>().healthLoss >= incomeDamage / 5)
        {
            player.GetComponent <PlayerStats>().healthLoss -= incomeDamage / 5;
        }
        else
        {
            player.GetComponent <PlayerStats>().healthLoss = 0;
        }
        healthLeft -= incomeDamage / 5;
        Transform damagePupupTransform = Instantiate(pfFloatingDamage, gameObject.transform.position + (transform.up * 0.5f), Quaternion.identity);

        floatingDamage = damagePupupTransform.GetComponent <FloatingDamage>();
        floatingDamage.Setup(incomeDamage / 5, incomeType);
        ticks += 1;
        if (healthLeft <= 0)
        {
            affected = false;
            CancelInvoke();
            ticks = 0;
            gameObject.GetComponentInChildren <SpriteRenderer>().color = new Color32(255, 255, 255, 255);
            Die();
        }
        if (ticks == 5)
        {
            affected = false;
            CancelInvoke();
            ticks = 0;
            gameObject.GetComponentInChildren <SpriteRenderer>().color = new Color32(255, 255, 255, 255);
        }
    }
コード例 #3
0
 private void InitializeComponents()
 {
     HealthPoints   = maxHealth;
     target         = GameObject.FindWithTag(Tags.GameController).GetComponent <Target>();
     hitSensor      = transform.root.GetComponentInChildren <HitSensor>();
     floatingDamage = Resources.Load <FloatingDamage>("Prefabs/FloatingDamage");
 }
コード例 #4
0
    private void Poisoned()
    {
        healthLeft -= incomeDamage / 3;
        Transform damagePupupTransform = Instantiate(pfFloatingDamage, gameObject.transform.position + (transform.up * 0.5f), Quaternion.identity);

        floatingDamage = damagePupupTransform.GetComponent <FloatingDamage>();
        floatingDamage.Setup(incomeDamage / 3, incomeType);
        ticks += 1;
        if (healthLeft <= 0)
        {
            affected = false;
            Debug.Log("Switch to not affected");
            CancelInvoke();
            ticks = 0;
            gameObject.GetComponentInChildren <SpriteRenderer>().color = new Color32(255, 255, 255, 255);
            Die();
        }
        if (ticks == 5)
        {
            affected = false;
            Debug.Log("Switch to not affected");
            CancelInvoke();
            ticks = 0;
            gameObject.GetComponentInChildren <SpriteRenderer>().color = new Color32(255, 255, 255, 255);
        }
        //rb.velocity = new Vector2(transform.position.x - playerPos.position.x, transform.position.y - playerPos.position.y).normalized * 2;
    }
コード例 #5
0
    void CreateFloatingDamage()
    {
        Vector3        tPos            = Camera.main.WorldToScreenPoint(transform.position + Vector3.up);
        FloatingDamage pFloatingDamage = Instantiate(pFloatingDamageRef, tPos, Quaternion.identity) as FloatingDamage;

        pFloatingDamage.transform.SetParent(s_pDamagesTextContainer);
        pFloatingDamage.ValueToText = m_pCharacterBUS.LastHPChange;
    }
コード例 #6
0
ファイル: Enemy.cs プロジェクト: 17madjoker/TowerDefense2D
    public void FloatingDamage(float damage, Transform enemyTransform, string damageType, float hideSpeed = 1.5f)
    {
        FloatingDamage floatingDamage = Instantiate(floatingDamagePref).transform.GetChild(0).GetComponent <FloatingDamage>();

        floatingDamage.DamageType     = damageType;
        floatingDamage.Damage         = damage;
        floatingDamage.EnemyTransform = enemyTransform;
        floatingDamage.HideSpeed      = hideSpeed;
    }
コード例 #7
0
 public void Update()
 {
     if (Input.GetMouseButtonDown(0))
     {
         Transform damagePupupTransform = Instantiate(pfFloatingDamage, Vector3.zero, Quaternion.identity);
         floatingDamage = damagePupupTransform.GetComponent <FloatingDamage>();
         //floatingDamage.Setup(399);
     }
 }
コード例 #8
0
    public void showDamage(float damage)
    {
        GameObject     obj            = InstantiateFloatingText();
        FloatingDamage floatingDamage = obj.GetComponent <FloatingDamage>();

        floatingDamage.setText(damage.ToString());
        floatingDamage.setColor(Color.red);
        floatingDamage.SetFontScale(DamageTextScalingFactor(damage));
        obj.transform.localPosition = new Vector3(0, gameObject.GetComponent <Unit>().UnitData.Height, 0);
    }
コード例 #9
0
    public void TakeDamage(int damage, int type)
    {
        affected = true;
        gameObject.GetComponent <MobHealthBar>().hurt = true;
        if (((gameObject.name == "Acient") && !GetComponent <Animator>().GetBool("Move")) ||
            (gameObject.name == "Necrophos") || (gameObject.name == "MineElemental"))
        {
            audio.Play();
            incomeDamage = damage;
            incomeType   = type;
            healthbar.transform.position = new Vector3(980, 850, 0);

            if (type == 0)
            {
                healthLeft -= incomeDamage;
                Transform damagePupupTransform = Instantiate(pfFloatingDamage, gameObject.transform.position + (transform.up * 0.5f), Quaternion.identity);
                floatingDamage = damagePupupTransform.GetComponent <FloatingDamage>();
                floatingDamage.Setup(incomeDamage, incomeType);
            }
            else if (type == 1)
            {
                gameObject.GetComponentInChildren <SpriteRenderer>().color = new Color32(107, 255, 100, 255);
                InvokeRepeating("Poisoned", 0.1f, 0.75f);
            }
            else if (type == 2)
            {
                gameObject.GetComponentInChildren <SpriteRenderer>().color = new Color32(112, 198, 255, 255);
                InvokeRepeating("Freezed", 0.1f, 1f);
            }
            else if (type == 3)
            {
                gameObject.GetComponentInChildren <SpriteRenderer>().color = new Color32(255, 100, 100, 255);
                healthLeft -= incomeDamage / 2;
                Transform damagePupupTransform = Instantiate(pfFloatingDamage, gameObject.transform.position + (transform.up * 0.5f), Quaternion.identity);
                floatingDamage = damagePupupTransform.GetComponent <FloatingDamage>();
                floatingDamage.Setup(incomeDamage / 2, incomeType);
                Debug.Log(incomeDamage / 2);
                InvokeRepeating("Burning", 0.25f, 0.75f);
            }
            else if (type == 4)
            {
                gameObject.GetComponentInChildren <SpriteRenderer>().color = new Color32(220, 117, 255, 255);
                InvokeRepeating("Cursed", 0.01f, 0.75f);
            }
            //rb.velocity = new Vector2(transform.position.x - playerPos.position.x, transform.position.y - playerPos.position.y).normalized * 2;// * speed ector2.positiveInfinity
            if (healthLeft <= 0)
            {
                Die();
            }
            else if (healthLeft > 0)
            {
                gameObject.GetComponent <Animator>().SetTrigger("HurtTrigger");
            }
        }
    }
コード例 #10
0
 public void TakeDamage(int damage, int type)
 {
     incomeDamage = damage;
     incomeType   = type;
     affected     = true;
     if (type == 0)
     {
         healthLeft -= incomeDamage;
         Transform damagePupupTransform = Instantiate(pfFloatingDamage, gameObject.transform.position + (transform.up * 0.5f), Quaternion.identity);
         floatingDamage = damagePupupTransform.GetComponent <FloatingDamage>();
         floatingDamage.Setup(incomeDamage, incomeType);
         audio.Play(1);
     }
     else if (type == 1)
     {
         gameObject.GetComponentInChildren <SpriteRenderer>().color = new Color32(107, 255, 100, 255);
         InvokeRepeating("Poisoned", 0.1f, 0.75f);
         audio.Play(1);
     }
     else if (type == 2)
     {
         gameObject.GetComponentInChildren <SpriteRenderer>().color = new Color32(112, 198, 255, 255);
         gameObject.GetComponent <Animator>().speed        = animSpeed * 0.5f;
         gameObject.GetComponent <Enemy_behaviour>().speed = basic * 0.5f;
         Debug.Log(animSpeed);
         InvokeRepeating("Freezed", 0.1f, 1f);
         audio.Play(1);
     }
     else if (type == 3)
     {
         gameObject.GetComponentInChildren <SpriteRenderer>().color = new Color32(255, 100, 100, 255);
         healthLeft -= incomeDamage / 2;
         Transform damagePupupTransform = Instantiate(pfFloatingDamage, gameObject.transform.position + (transform.up * 0.5f), Quaternion.identity);
         floatingDamage = damagePupupTransform.GetComponent <FloatingDamage>();
         floatingDamage.Setup(incomeDamage / 2, incomeType);
         Debug.Log(incomeDamage / 2);
         InvokeRepeating("Burning", 0.25f, 0.75f);
         audio.Play(1);
     }
     else if (type == 4)
     {
         gameObject.GetComponentInChildren <SpriteRenderer>().color = new Color32(220, 117, 255, 255);
         InvokeRepeating("Cursed", 0.01f, 0.75f);
         audio.Play(1);
     }
     //rb.velocity = new Vector2(transform.position.x - playerPos.position.x, transform.position.y - playerPos.position.y).normalized * 2;// * speed ector2.positiveInfinity
     if (healthLeft <= 0)
     {
         Die();
     }
     else if (healthLeft > 0)
     {
         gameObject.GetComponent <Animator>().SetTrigger("HurtTrigger");
     }
 }
コード例 #11
0
    public void RawHit(int damage, int type)
    {
        healthLeft -= damage;
        Transform damagePupupTransform = Instantiate(pfFloatingDamage, gameObject.transform.position + (transform.up * 0.5f), Quaternion.identity);

        floatingDamage = damagePupupTransform.GetComponent <FloatingDamage>();
        floatingDamage.Setup(damage, type);
        if (healthLeft <= 0)
        {
            Die();
        }
        else if (healthLeft > 0)
        {
            gameObject.GetComponent <Animator>().SetTrigger("HurtTrigger");
        }
    }
コード例 #12
0
    public void RawHit(int damage, int type)
    {
        healthLeft -= damage;
        audio.Play();
        gameObject.GetComponent <MobHealthBar>().hurt = true;
        Transform damagePupupTransform = Instantiate(pfFloatingDamage, gameObject.transform.position + (transform.up * 0.5f), Quaternion.identity);

        floatingDamage = damagePupupTransform.GetComponent <FloatingDamage>();
        floatingDamage.Setup(damage, type);
        healthbar.transform.position = new Vector3(980, 850, 0);
        if (healthLeft <= 0)
        {
            Die();
        }
        else if (healthLeft > 0)
        {
            gameObject.GetComponent <Animator>().SetTrigger("HurtTrigger");
        }
    }
コード例 #13
0
    private void Awake()
    {
        gameMgr          = GameObject.Find("Persistent Object").GetComponent <GameManager>();
        stateNamesParent = GameObject.Find("RunningUI/Horizontal Group States").GetComponent <RectTransform>();
        fDMG             = GetComponentInChildren <FloatingDamage>();

        if (isEnemy)
        {
            enemyHealthCanvas         = GetComponentInChildren <Canvas>();
            enemyHealthCanvas.enabled = false;
        }

        dStat = GetComponent <DefenderStat>();

        if (!isEnemy && !objHealth)
        {
            shieldSlider.gameObject.SetActive(false);
        }
    }
コード例 #14
0
    private void Burning()
    {
        healthLeft -= incomeDamage / 8;
        Transform damagePupupTransform = Instantiate(pfFloatingDamage, gameObject.transform.position + (transform.up * 0.5f), Quaternion.identity);

        floatingDamage = damagePupupTransform.GetComponent <FloatingDamage>();
        floatingDamage.Setup(incomeDamage / 8, incomeType);
        ticks += 1;
        if (healthLeft <= 0)
        {
            affected = false;
            CancelInvoke();
            ticks = 0;
            gameObject.GetComponentInChildren <SpriteRenderer>().color = new Color32(255, 255, 255, 255);
            Die();
        }
        if (ticks == 4)
        {
            affected = false;
            CancelInvoke();
            ticks = 0;
            gameObject.GetComponentInChildren <SpriteRenderer>().color = new Color32(255, 255, 255, 255);
        }
    }