示例#1
0
    public void Init()
    {
        Clear();

        (transform as RectTransform).anchoredPosition = new Vector2();

        for (int i = 0; i < heroContainer.csv.hitID.Length; i++)
        {
            HitCsv csv = StaticData.GetData <HitCsv>(heroContainer.csv.hitID[i]);

            GameObject unit = GameObjectFactory.Instance.GetGameObject("Assets/Prefabs/Hit.prefab", null, true);

            Image img = unit.GetComponent <Image>();

            unit.transform.SetParent(transform, false);

//			img.rectTransform.offsetMax = new Vector2(img.rectTransform.rect.width / img.rectTransform.rect.height * (transform as RectTransform).rect.height,0);
//			img.rectTransform.offsetMin = new Vector2(0,-(transform as RectTransform).rect.height);

            img.rectTransform.anchoredPosition = new Vector2(heroContainer.csv.hitTime[i] / BattleConstData.MAX_TIME * (transform as RectTransform).rect.width, 0);

            if (csv.interrupt)
            {
                img.overrideSprite = TextureFactory.Instance.GetTexture <Sprite> ("Assets/Textures/cangtianyudijian.png", null, true);
            }
            else
            {
                img.overrideSprite = TextureFactory.Instance.GetTexture <Sprite> ("Assets/Textures/binghuangyanfengzhang.png", null, true);
            }

            unit.transform.localScale = new Vector3(heroContainer.speed, 1, 1);

            hits.Add(unit);
        }
    }
示例#2
0
    public void Hit()
    {
        if (isBlood > 0)
        {
            BeDamageWithoutFix((int)(hp * BattleConstData.BLOOD_VALUE));
        }

        HitCsv hitCsv = StaticData.GetData <HitCsv> (csv.hitID[nextHitIndex]);

        float fix = 1 + (combo * BattleConstData.COMBO_VALUE);

        battleControl.BeDamage(index, (int)(hitCsv.damage * fix));

        if (hitCsv.interrupt)
        {
            battleControl.BeInterrupt(index);
        }

        for (int i = 0; i < hitCsv.buff.Length; i++)
        {
            BuffCsv buffCsv = StaticData.GetData <BuffCsv>(hitCsv.buff[i]);

            if (buffCsv.harm)
            {
                battleControl.AddBuff(index, buffCsv.ID, hitCsv.buffTime[i]);
            }
            else
            {
                AddBuff(buffCsv.ID, hitCsv.buffTime[i]);
            }
        }

        nextHitIndex++;

        SetNextHitPercent();
    }