Пример #1
0
    void OnTriggerEnter2D(Collider2D col)
    {
        if (can_despawn)
        {
            if (col.tag == "Enemy")
            {
                if (enemy_to_ignore == null || (enemy_to_ignore != null && enemy_to_ignore != col.gameObject))
                {
                    if (GetComponent <BitterCold>())
                    {
                        GetComponent <BitterCold>().OnEnemyHit(col);
                    }

                    if (GetComponent <Nirvana>())
                    {
                        GetComponent <Nirvana>().OnEnemyHit(col);
                    }

                    if (GetComponent <Split>())
                    {
                        GetComponent <Split>().OnEnemyHit(col);
                    }

                    GameObject obj;

                    if (GetComponent <BitterCold>())
                    {
                        obj = PoolManager.Spawn(impact_effect_blue, transform.position, Quaternion.identity);
                    }
                    else
                    {
                        obj = PoolManager.Spawn(impact_effect_red, transform.position, Quaternion.identity);
                    }
                    PoolManager.Despawn(obj, 2f);
                    can_despawn = false;
                    DamageTextManager.CreatePopupText(damage.ToString(), col.transform);
                    col.GetComponent <EnemyController>().TakeHealth(damage);
                    PoolManager.Despawn(gameObject);
                }
            }
            else if (col.tag == "Ground")
            {
                GameObject obj;

                if (GetComponent <BitterCold>())
                {
                    obj = PoolManager.Spawn(impact_effect_blue, transform.position, Quaternion.identity);
                }
                else
                {
                    obj = PoolManager.Spawn(impact_effect_red, transform.position, Quaternion.identity);
                }

                PoolManager.Despawn(obj, 2f);
                can_despawn = false;

                PoolManager.Despawn(gameObject);
            }
        }
    }
Пример #2
0
 private void Awake()
 {
     GM  = FindObjectOfType <GameManager>().GetComponent <GameManager>();
     OP  = GM.OP;
     dtm = GM.DTM;
     ps  = GM.ps;
 }
Пример #3
0
    // when attacked
    public override void getHit(int damagetaken)
    {
        if (isDead)
        {
            return;
        }
        if (InvincibilityTimer > 0)
        {
            return;
        }
        //calculate how damage is taken here
        InvincibilityTimer += InvincibilityDuration;
        animator.SetTrigger("isHit");
        currHp -= damagetaken;

        Vector3 tempPos = gameObject.transform.position;

        tempPos.y += gameObject.GetComponent <Transform> ().localScale.y / 2;
        DamageTextManager.GeneratePlayerTakeDmg(tempPos, damagetaken);

        if (currHp <= 0)
        {
            isDead = true;
            animator.SetBool("No HP", true);
        }
    }
Пример #4
0
    //void Awake()

    void Awake()
    {
        damegeTextManager      = GameObject.FindGameObjectWithTag("DamageText").GetComponent <DamageTextManager>();
        smallFood_Setting      = GameObject.FindGameObjectWithTag("SmallMenu_Setting").GetComponent <SmallFood_Setting>();
        smallStageMenu_Setting = GameObject.FindGameObjectWithTag("SmallStageMenu_Setting").GetComponent <SmallStageMenu_Setting>();
        mainFood_Setting       = GameObject.FindGameObjectWithTag("MainFood_Setting").GetComponent <MainFood_Setting>();
        combo_system           = GameObject.FindGameObjectWithTag("Combo_System").GetComponent <Combo_System>();
        stage     = GameObject.FindGameObjectWithTag("Stage").GetComponent <StageManager>();
        layerMask = LayerMask.GetMask(DishLayer, SkillLayer);
        startSmallFoodAnimation = GameObject.FindGameObjectWithTag("StartSmallFoodPosition").GetComponent <StartSmallFoodAnimation>();
        mainSpoonAnimation      = GameObject.FindGameObjectWithTag("MainSpoon").GetComponent <MainSpoonAnimation>();
        mainChopsticAnimation   = GameObject.FindGameObjectWithTag("MainChopstic").GetComponent <MainChopsticAnimation>();
        SmallSpoonAnimation     = GameObject.FindGameObjectWithTag("SmallSpoonAnimation").GetComponent <SmallSpoonAnimation>();
        mainForksAnimation      = GameObject.FindGameObjectWithTag("MainForks").GetComponent <MainForksAnimation>();
        mainKnifeAnimation      = GameObject.FindGameObjectWithTag("MainKnife").GetComponent <MainKnifeAnimation>();
        blueDishGather          = GameObject.FindGameObjectWithTag("Blue_Dish_Gather").GetComponent <BlueDishGather>();
        yellowDishGather        = GameObject.FindGameObjectWithTag("Yellow_Dish_Gather").GetComponent <YellowDishGather>();
        greenDishGather         = GameObject.FindGameObjectWithTag("Green_Dish_Gather").GetComponent <GreenDishGather>();
        redDishGather           = GameObject.FindGameObjectWithTag("Red_Dish_Gather").GetComponent <RedDishGather>();
        playerAnimation         = GameObject.FindGameObjectWithTag("PlayerRender").GetComponent <PlayerAnimation>();
        smallChopsticAnimation  = GameObject.FindGameObjectWithTag("SmallChopstic").GetComponent <SmallChopsticAnimation>();
        smallForksAnimation     = GameObject.FindGameObjectWithTag("SmallForks").GetComponent <SmallForksAnimation>();
        smallKnifeAnimation     = GameObject.FindGameObjectWithTag("SmallKnife").GetComponent <SmallKnifeAnimation>();
        mainCamara = GameObject.FindGameObjectWithTag("MainCamera").GetComponent <MainCamara>();
        stt        = GameObject.FindGameObjectWithTag("STI").GetComponent <SustainmentTime>();
    }
Пример #5
0
    public void TakeDamage(Damage d, int damage)
    {
        if (cbp > 0)     // If there is a barrier attack barrier first; take damage to hp
        {
            if (cbp > damage)
            {
                cbp    = cbp - damage;
                damage = 0;
            }
            else if (damage > cbp)
            {
                damage = damage - cbp;
            }
        }

        if (cbp <= 0 && chp > 0 && damage > 0) // If there is no barrier, has more than 0 current hp, and there is damage to deal; take damage to hp
        {
            chp = chp - damage;
        }

        if (DamageTextManager.IsOkToCreate())
        {
            var        dui  = GameObject.FindGameObjectWithTag("DamageText");
            GameObject dtui = Instantiate(dui, dui.transform.parent.parent) as GameObject;
            Vector2    cam  = Camera.main.WorldToScreenPoint(transform.position);
            dtui.transform.position = cam;
            dtui.AddComponent <DamageText_UI>().SetDamage(d, damage);
        }

        CheckVitals();
        KnockBack();
    }
Пример #6
0
 // Use this for initialization
 void Start()
 {
     mainFood_Setting       = GameObject.FindGameObjectWithTag("MainFood_Setting").GetComponent <MainFood_Setting>();
     smallStageMenu_Setting = GameObject.FindGameObjectWithTag("SmallStageMenu_Setting").GetComponent <SmallStageMenu_Setting>();
     player            = GameObject.FindGameObjectWithTag("Player").GetComponent <Player_Ctrl_PC>();
     damegeTextManager = GameObject.FindGameObjectWithTag("DamageText").GetComponent <DamageTextManager>();
 }
Пример #7
0
 void Update()
 {
     SetChaser();
     if (!DamageTextManager.IsOkToCreate())
     {
         Destroy(gameObject);
     }
 }
Пример #8
0
 public override void ItemUse(string Name)
 {
     PlayerManager.Player.Hp.Recovery(Recovery);
     LogManager.UseItemLog(Name, ReturnID());
     LogManager.RecoveryHpLog(Name, 50);
     DamageTextManager.Make(Recovery, PlayerManager.Player.GameObject.transform.position.x, PlayerManager.Player.GameObject.transform.position.y, new Color(0, 255, 0), PlayerManager.Player.GameObject.transform);
     EfectManager.efecton("kaihukuefect", PlayerManager.Player.GameObject.transform.position.x, PlayerManager.Player.GameObject.transform.position.y, PlayerManager.Player.GameObject);
     AudioManager.AudioON(6);
 }
Пример #9
0
    // Use this for initialization
    void Start()
    {
        player                 = GameObject.FindGameObjectWithTag("Player").GetComponent <Player_Ctrl_PC>();
        mainFood_Setting       = GameObject.FindGameObjectWithTag("MainFood_Setting").GetComponent <MainFood_Setting>();
        smallStageMenu_Setting = GameObject.FindGameObjectWithTag("SmallStageMenu_Setting").GetComponent <SmallStageMenu_Setting>();
        stageManager           = GameObject.FindGameObjectWithTag("Stage").GetComponent <StageManager>();
        damageText             = GameObject.FindGameObjectWithTag("DamageText").GetComponent <DamageTextManager>();

        maxHP     = stageManager.mainStageHp;
        currentHp = stageManager.mainStageHp;
    }
Пример #10
0
    void Start()
    {
        arcane_manager = Arcane.singleton;
        arcane_manager.Initialize();
        arcane_manager.StartArcaneRegen();

        skill_panel_manager = SkillPanelManager.singleton;

        DamageTextManager.Initialize();

        StartCoroutine("StartLevel");
    }
Пример #11
0
    public virtual void Atack(GameObject Playerobj)
    {
        Damage Damage      = new Damage();
        int    FinalDamage = Damage.Check(Lv.Value, Str.Value, PlayerManager.Player.Lv.Value, PlayerManager.Player.Vit.Value);

        DamageTextManager.Make(FinalDamage, Playerobj.transform.position.x, Playerobj.transform.position.y, new Color(255, 0, 0), Playerobj.transform);
        LogManager.MakeDamageLog(PlayerManager.Player.Name.Value, FinalDamage);
        PlayerManager.Player.Hp.Damage(FinalDamage);
        Vector3 Playerpos = Playerobj.gameObject.transform.position;

        EfectManager.efecton("Kamitukiefect", Playerpos.x, Playerpos.y, Playerobj);//エフェクト作成
        AudioManager.AudioON(8);
    }
Пример #12
0
 public void Damage(Dictionary <int, Enemy> EnemyList)
 {
     foreach (Enemy enemy in EnemyList.Values)
     {
         if (!enemy.DeathCheck)
         {
             EfectManager.efecton("kiriefect", enemy.transform.position.x, enemy.transform.position.y, enemy.gameObject);
             Damage Damage      = new Damage();
             int    FinalDamage = Damage.Check(PlayerManager.Player.Lv.Value * 2, PlayerManager.Player.Str.Value, enemy.Lv.Value, enemy.Vit.Value);
             DamageTextManager.Make(FinalDamage, enemy.transform.position.x, enemy.transform.position.y, new Color(255, 255, 255), enemy.transform);
             LogManager.MakeDamageLog(enemy.Name.Value, FinalDamage);
             enemy.Hp.Damage(FinalDamage);
         }
     }
 }
Пример #13
0
    private void Awake()
    {
        GM            = FindObjectOfType <GameManager>();
        objectManager = GM.OP;
        dtm           = GM.DTM;
        option        = GM.option;

        if (pv.IsMine)
        {
            transform.parent = GameObject.Find("MyDamageDummy").gameObject.transform;
        }

        else
        {
            transform.parent = GameObject.Find("OtherDamageDummy").gameObject.transform;
        }

        gameObject.transform.localScale = new Vector3(0.5f, 0.5f, 1);
    }
Пример #14
0
    // when attacked
    public virtual void getHit(int damage)
    {
        //calculate how damage is taken here
        Hp -= damage;

        //HS
        Vector3 tempPos = gameObject.transform.position;

        scene = SceneManager.GetActiveScene();
        if (scene.name == "Tutorial")
        {
            tempPos.y += 1.0f;
        }
        else
        {
            tempPos.y += gameObject.GetComponent <Transform>().localScale.y / 2;
        }
        DamageTextManager.GenerateSprite(tempPos, damage);
    }
Пример #15
0
    public virtual void getHit(int damage, bool careAboutTrigger)
    {
        //calculate how damage is taken here
        if (careAboutTrigger)
        {
            if (!isHit)
            {
                Hp -= damage;

                //HS
                Vector3 tempPos = gameObject.transform.position;
                tempPos.y += gameObject.GetComponent <Transform>().localScale.y / 2;
                DamageTextManager.GenerateSprite(tempPos, damage);
            }
        }
        else
        {
            getHit(damage);
        }
    }
Пример #16
0
    private void Update()
    {
        if (currentLife <= 0)
        {
            PoolManager.Despawn(gameObject);
        }

        currentLife -= Time.deltaTime;

        if (stamp <= Time.time)
        {
            stamp = Time.time + rate;
            Collider2D[] hits = Physics2D.OverlapCircleAll(transform.position, range);
            for (int i = 0; i < hits.Length; i++)
            {
                if (hits[i].tag == "Enemy")
                {
                    DamageTextManager.CreatePopupText(((int)damage).ToString(), hits[i].transform);
                    hits[i].GetComponent <EnemyController>().TakeHealth((int)damage);
                }
            }
        }
    }
Пример #17
0
    public void OnTriggerStay2D(Collider2D col)
    {
        if (col.tag == "Monster" && tag == "PHITBOX")
        {
            var b = GetComponentInParent <Player_Main>();
            if (!b.invulnerable)
            {
                Damage d = null;
                var    m = col.GetComponent <Monster>();
                if (m.mobElement == Damage.DamageType.Poison)
                {
                    Damage_OT  dot    = new Damage_OT(Damage_OT.Damage_OTType.Poison, (int)(Random.Range(m.minDamage, m.maxDamage) / 5f), 1.00f);
                    GameObject debuff = Instantiate(new GameObject(), b.transform);
                    debuff.AddComponent <De_Buff>().InitializeDeBuff(dot);
                    d = new Damage(m.mobElement, m.minDamage / 3, m.maxDamage / 3);
                }

                else
                {
                    d = new Damage(m.mobElement, m.minDamage, m.maxDamage);
                }
                Resistance r = (GetComponentInParent <Player_Stats>().GetResistanceForType(m.mobElement));

                int x = Damage_Calculator.CalculateElementDamageToPlayer(m, d, r);
                b.TakeDamage(x);
                var dui = GameObject.FindGameObjectWithTag("DamageText");

                if (DamageTextManager.IsOkToCreate())
                {
                    GameObject dtui = Instantiate(dui, dui.transform.parent.parent) as GameObject;
                    Vector2    cam  = Camera.main.WorldToScreenPoint(transform.position);
                    dtui.transform.position = cam;
                    dtui.AddComponent <DamageText_UI>().SetDamage(d, x, true);
                }
            }
        }
    }
Пример #18
0
 public void SetDamage(Damage_OT damage, int amount, bool monster = false)
 {
     if (DamageTextManager.IsOkToCreate())
     {
         GetComponent <Rigidbody2D>().simulated = true;
         if (monster)
         {
             GetComponent <UnityEngine.UI.Text>().fontStyle = FontStyle.Italic;
         }
         else if (!monster)
         {
             GetComponent <UnityEngine.UI.Text>().fontStyle = FontStyle.Normal;
         }
         GetComponent <UnityEngine.UI.Text>().color = Color.black;
         chaserColor = (!monster) ? SetDamageOTColor(damage.GetDamage_OTType()) : Mob;
         GetComponent <UnityEngine.UI.Text>().fontSize = 4;
         GetComponent <UnityEngine.UI.Text>().text     = amount.ToString();
         GetComponent <Rigidbody2D>().velocity         = new Vector2(Random.Range(-200, 200), 200);
     }
     else
     {
         Destroy(gameObject);
     }
 }
Пример #19
0
    void OnTriggerEnter2D(Collider2D col)
    {
        if (can_despawn)
        {
            if (col.tag == "Enemy")
            {
                GameObject obj       = PoolManager.Spawn(impact_effect, transform.position, Quaternion.identity);
                GameObject impactDmg = PoolManager.Spawn(impact_damage, transform.position, Quaternion.identity);
                ActionCamera.singleton.StartShake(.15f, .05f);

                if (ArcaneBomb.singleton.rune1 == ArcaneBomb.Rune.Tremendous || ArcaneBomb.singleton.rune2 == ArcaneBomb.Rune.Tremendous)
                {
                    obj.transform.localScale       = new Vector3(1.5f, 1.5f, 1.5f);
                    impactDmg.transform.localScale = new Vector3(1.5f, 1.5f, 1.5f);
                    for (int i = 0; i < obj.transform.childCount; i++)
                    {
                        obj.transform.GetChild(i).localScale = new Vector3(1.5f, 1.5f, 1.5f);
                    }
                }
                else
                {
                    obj.transform.localScale       = new Vector3(1f, 1f, 1f);
                    impactDmg.transform.localScale = new Vector3(1f, 1f, 1f);
                    for (int i = 0; i < obj.transform.childCount; i++)
                    {
                        obj.transform.GetChild(i).localScale = new Vector3(1f, 1f, 1f);
                    }
                }

                if (GetComponent <Tremendous>())
                {
                    impactDmg.GetComponent <BombImpactController>().damage = damage * (int)GetComponent <Tremendous>().damageMultiplier;
                }
                else
                {
                    impactDmg.GetComponent <BombImpactController>().damage = damage;
                }
                PoolManager.Despawn(obj, 5);
                PoolManager.Despawn(impactDmg, .1f);

                DamageTextManager.CreatePopupText(damage.ToString(), col.transform);

                if (GetComponent <Gas>())
                {
                    GameObject gas = PoolManager.Spawn(impact_gas, transform.position, Quaternion.identity);
                    if (GetComponent <Tremendous>())
                    {
                        gas.GetComponent <DOT>().damage = damage * (int)GetComponent <Tremendous>().damageMultiplier / 4f;
                    }
                    else
                    {
                        gas.GetComponent <DOT>().damage = damage / 4;
                    }
                }

                if (GetComponent <Bounce>())
                {
                    GetComponent <Bounce>().DoBounce(col);
                }
                else
                {
                    can_despawn = false;
                    PoolManager.Despawn(gameObject);
                }
            }
            else if (col.tag == "Ground")
            {
                GameObject obj = PoolManager.Spawn(impact_effect, transform.position, Quaternion.identity);
                PoolManager.Despawn(obj, 5);
                ActionCamera.singleton.StartShake(.15f, .05f);

                if (ArcaneBomb.singleton.rune1 == ArcaneBomb.Rune.Tremendous || ArcaneBomb.singleton.rune2 == ArcaneBomb.Rune.Tremendous)
                {
                    obj.transform.localScale = new Vector3(1.5f, 1.5f, 1.5f);
                    for (int i = 0; i < obj.transform.childCount; i++)
                    {
                        obj.transform.GetChild(i).localScale = new Vector3(1.5f, 1.5f, 1.5f);
                    }
                }
                else
                {
                    obj.transform.localScale = new Vector3(1f, 1f, 1f);
                    for (int i = 0; i < obj.transform.childCount; i++)
                    {
                        obj.transform.GetChild(i).localScale = new Vector3(1f, 1f, 1f);
                    }
                }

                GameObject impactDmg = PoolManager.Spawn(impact_damage, transform.position, Quaternion.identity);
                if (GetComponent <Tremendous>())
                {
                    impactDmg.GetComponent <BombImpactController>().damage = damage * (int)GetComponent <Tremendous>().damageMultiplier;
                }
                else
                {
                    impactDmg.GetComponent <BombImpactController>().damage = damage;
                }

                if (GetComponent <Gas>())
                {
                    GameObject gas = PoolManager.Spawn(impact_gas, transform.position, Quaternion.identity);
                    if (GetComponent <Tremendous>())
                    {
                        gas.GetComponent <DOT>().damage = damage * (int)GetComponent <Tremendous>().damageMultiplier / 4f;
                    }
                    else
                    {
                        gas.GetComponent <DOT>().damage = damage / 4;
                    }
                }

                PoolManager.Despawn(impactDmg, .1f);
                can_despawn = false;
                PoolManager.Despawn(gameObject);
            }
        }
    }
Пример #20
0
 private void Awake()
 {
     dtm = gm.DTM;
 }