示例#1
0
 void Awake()
 {
     if (instance == null)
     {
         instance = this;
     }
 }
示例#2
0
    public void Execute()
    {
        sUI = Camera.mainCamera.GetComponent<DamageSlidingUI>();
        IList atkList = new List<Transform>();
        Transform localMap = attacker.GetComponent<CharacterSelect>().getMapPosition();
        Transform[] attackableMaps = localMap.GetComponent<Identy>().neighbor;
        foreach(Transform unit in attackableMaps){
            if((unit!=null) && MapHelper.IsMapOccupied(unit)){
                atkList.Add(MapHelper.GetMapOccupiedObj(unit));
            }
        }
        int d = attacker.GetComponent<CharacterProperty>().Hp+1;
        attacker.GetComponent<CharacterProperty>().Hp -= (attacker.GetComponent<CharacterProperty>().Hp+1);
        DamageUI aDieUI = new DamageUI(attacker, d, attacker);
        sUI.UIItems.Add(aDieUI);

        if(atkList.Count>0){
            foreach(Transform target in atkList){
                target.GetComponent<CharacterProperty>().Hp -= attacker.GetComponent<CharacterProperty>().Damage;
                DamageUI dUI = new DamageUI(target,attacker.GetComponent<CharacterProperty>().Damage, attacker);
                sUI.UIItems.Add(dUI);
            }
            sUI.FadeInUI = true;
        }
    }
示例#3
0
 private void Awake()
 {
     Instance   = this;
     damageFont = Resources.LoadAll <Sprite>("UI2020/Sprites/FontImage/DamageFontSprite2"); // TODO 개선 해야함
     gameObject.AddComponent <DamageUIWrapperPoolingManager>().Initialize();
     gameObject.AddComponent <DamageUIImagePoolingManager>().Initialize();
 }
示例#4
0
    public void Execute()
    {
        sUI = Camera.mainCamera.GetComponent <DamageSlidingUI>();
        IList     atkList  = new List <Transform>();
        Transform localMap = attacker.GetComponent <CharacterSelect>().getMapPosition();

        Transform[] attackableMaps = localMap.GetComponent <Identy>().neighbor;
        foreach (Transform unit in attackableMaps)
        {
            if ((unit != null) && MapHelper.IsMapOccupied(unit))
            {
                atkList.Add(MapHelper.GetMapOccupiedObj(unit));
            }
        }
        int d = attacker.GetComponent <CharacterProperty>().Hp + 1;

        attacker.GetComponent <CharacterProperty>().Hp -= (attacker.GetComponent <CharacterProperty>().Hp + 1);
        DamageUI aDieUI = new DamageUI(attacker, d, attacker);

        sUI.UIItems.Add(aDieUI);

        if (atkList.Count > 0)
        {
            foreach (Transform target in atkList)
            {
                target.GetComponent <CharacterProperty>().Hp -= attacker.GetComponent <CharacterProperty>().Damage;
                DamageUI dUI = new DamageUI(target, attacker.GetComponent <CharacterProperty>().Damage, attacker);
                sUI.UIItems.Add(dUI);
            }
            sUI.FadeInUI = true;
        }
    }
    private void Ins()
    {
        GameObject damageUI = PoolManager.Ins.minipools[PoolType.Damage].Dequeue();
        DamageUI   ui       = damageUI.GetComponent <DamageUI>();

        damageUI.gameObject.SetActive(true);

        //StartCoroutine(ui.TweeningEnd());
        ui.TweenStart();
    }
示例#6
0
        public void Activate(Stats stats, TurnManager manager, DamageUI ui)
        {
            if (gold != 0)
            {
                manager.CurrentPlayer.Gold.ChangeAmount(gold);
            }

            stats.Resources.Apply(resources, ui);
            stats.Attributes.Apply(attributes);
        }
示例#7
0
    // ----- Custom funktioner ----- \\

    public void ShowDamageText(GameObject parent, int damage, float length)
    {
        GameObject damageTextObj = Instantiate(damageTextPrefab);

        DamageUI damageTextScript = damageTextObj.GetComponentInChildren <DamageUI>();

        damageTextScript.SetFollowTransform(parent.transform);

        Text damageText = damageTextObj.GetComponentInChildren <Text>();

        damageText.text = damage.ToString();

        Destroy(damageTextObj, length);
    }
示例#8
0
    private DamageUI GetDamageUI(int damage)
    {
        foreach (var UI in DamageUIList)
        {
            if (!UI.gameObject.activeSelf)
            {
                UI.Enter(damage);
                return(UI);
            }
        }
        DamageUI temp = AddNewDamageUI();

        temp.Enter(damage);
        return(temp);
    }
示例#9
0
        void OnCollisionEnter(Collision collision)
        {
            if (collision.transform.tag == "Boss")
            {
                collision.gameObject.GetComponent <Boss>().HP -= attackPower;
                attacked = true;

                Vector3  pos = transform.position - new Vector3(30.0f, 0.0f, 0.0f);
                DamageUI dam = GameObject.Instantiate(
                    damageObj,
                    pos,
                    new Quaternion(0.0f, 0.0f, 0.0f, 1.0f)).GetComponent <DamageUI>();
                dam.damageInt = attackPower;
                dam.comboInt  = thisCombo;

                Destroy(gameObject);
            }
        }
示例#10
0
    public void Execute()
    {
        IList targetList = new List <Transform>();

        targetList.Add(target);
        sUI = Camera.mainCamera.GetComponent <DamageSlidingUI>();
        Transform[] mapArray = targetMap.GetComponent <Identy>().neighbor;
        foreach (Transform map in mapArray)
        {
            if (map != null)
            {
                if (MapHelper.IsMapOccupied(map))
                {
                    targetList.Add(MapHelper.GetMapOccupiedObj(map));
                }
            }
        }
        foreach (Transform unit in targetList)
        {
            if (transform.GetComponent <SkillProperty>().PassSkillRate)
            {
                damage = 2;
                unit.GetComponent <CharacterProperty>().Hp -= damage;
                DamageUI dUI = new DamageUI(unit, damage, attacker);
                sUI.UIItems.Add(dUI);
                sUI.FadeInUI = true;
                print("Bombed critical hit!");
            }
            else
            {
                damage = 1;
                unit.GetComponent <CharacterProperty>().Hp -= damage;
                DamageUI dUI = new DamageUI(unit, damage, attacker);
                sUI.UIItems.Add(dUI);
                sUI.FadeInUI = true;
                print("Bombed!");
            }
        }
    }
示例#11
0
    public void DisplayDamageNumber(int damage, Vector3 pos)
    {
        DamageUI temp = GetDamageUI(damage);

        temp.gameObject.transform.position = pos;
    }
示例#12
0
    private void OnCollisionEnter2D(Collision2D collision)
    {
        if (collision.gameObject.CompareTag("Bullet"))
        {
            Bullet bullet = collision.gameObject.GetComponent <Bullet>();

            if (bullet.m_tower.eId % 10 == 6)//whitetower endNumber 6
            {
                GameObject effectObject = PoolManager.Ins.minipools[PoolType.IceEffect].Dequeue();
                Effect     effect       = effectObject.GetComponent <Effect>();
                effect.colorNumber = bullet.m_tower.eId % 10;
                effectObject.transform.position = gameObject.transform.position;
                effectObject.SetActive(true);
            }
            else
            {
                GameObject effectObject = PoolManager.Ins.minipools[PoolType.ColorEffect].Dequeue();
                effectObject.transform.position = gameObject.transform.position;
                Effect effect = effectObject.GetComponent <Effect>();
                effect.effectColor.Color = EffectColor((GemColor)(bullet.m_tower.eId % 10));
                effectObject.SetActive(true);
            }

            //damage UI
            GameObject damage = PoolManager.Ins.minipools[PoolType.Damage].Dequeue();
            Vector3    damageViewportPosition = WorldPositionToUICameraViewport(uiTransform.position, new Vector2(0.0f, 0.0f));
            damage.transform.position = damageViewportPosition;
            DamageUI ui = damage.GetComponent <DamageUI>();
            ui.damageLabel.text = bullet.damage.ToString();
            damage.gameObject.SetActive(true);
            ui.WaitDelete();
            ui.TweenStart();


            hp -= bullet.damage;

            //hpBar is null
            if (hpBar == null)
            {
                Vector3    viewportPosition = WorldPositionToUICameraViewport(uiTransform.position, new Vector2(0, 0.08f));
                GameObject hpBarObj         = PoolManager.Ins.minipools[PoolType.HpBar].Dequeue();
                hpBar = hpBarObj;
                hpBarObj.transform.position = viewportPosition;
                hpBarObj.gameObject.SetActive(true);
                UISprite hpSprite = hpBarObj.GetComponent <UISprite>();
                hpSprite.fillAmount = (float)hp / (float)maxHp;
                if (gameObject.activeInHierarchy == true)
                {
                    temp = StartCoroutine(HpBarWaitDelete(hpBar));
                }
            }
            else
            //HpBar가 존재할때
            {
                UISprite hpSprite = hpBar.GetComponent <UISprite>();
                hpSprite.fillAmount = (float)hp / (float)maxHp;
                if (temp == null)
                {
                    temp = StartCoroutine(HpBarWaitDelete(hpBar));
                }
                else
                {
                    StopCoroutine(temp);
                    temp = StartCoroutine(HpBarWaitDelete(hpBar));
                }
            }
            PoolManager.Ins.minipools[PoolType.Bullet].Enqueue(collision.gameObject);
            collision.gameObject.SetActive(false);

            if (hp <= 0 && isDie == false)
            {
                isDie = true;
                PoolManager.Ins.minipools[PoolType.Monster].Enqueue(gameObject);
                GameMrg.Ins.monsterCheck++;
                GameMrg.Ins.money += monsterPoint;
                GameSceneUI.Ins.consumeUI.MoneyUISet();
                HpBarDelete(hpBar);
                gameObject.SetActive(false);
            }
        }
    }
示例#13
0
 void Awake()
 {
     Instance      = this;
     rectTransform = GetComponent <RectTransform>();
 }
示例#14
0
 void Awake()
 {
     Instance = this;
 }
示例#15
0
    void ShowDamageUI(int addScore)
    {
        DamageUI damageUI = Instantiate(DamageUIPrefab, this.transform.position, Quaternion.identity).GetComponent <DamageUI>();

        damageUI.setScore(addScore);
    }
示例#16
0
    void ShowDamageUI(Transform target, int damage, Transform atk)
    {
        DamageUI dUI = new DamageUI(target, damage, atk);

        sUI.UIItems.Add(dUI);
    }
示例#17
0
 void ShowDamageUI(Transform target,int damage, Transform atk)
 {
     DamageUI dUI = new DamageUI(target,damage, atk);
     sUI.UIItems.Add(dUI);
 }
示例#18
0
 public void SetUI(DamageUI ui)
 {
     _ui = ui;
 }