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); } }
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(); }