public IEnumerator Init2() { yield return(Yielders.WaitSecond(delayYuLei)); for (int i = 0; i < yuLeiAngle.Length; i++) { float posAngle = startAngle + (i * 360 / yuLeiAngle.Length); float x1 = radius * Mathf.Cos(posAngle * Mathf.PI / 180); float z1 = radius * Mathf.Sin(posAngle * Mathf.PI / 180); Vector3 setPosition = new Vector3(x1, 0, z1); float lookAngle = startAngle + yuLeiAngle[i]; float x2 = radius * Mathf.Cos(lookAngle * Mathf.PI / 180); float z2 = radius * Mathf.Sin(lookAngle * Mathf.PI / 180); Vector3 moveDir = new Vector3(x2, 0, z2).normalized; if (parent != null && target != null && target.isLive) { GameObject obj = Common.Generate(prefab2, transform); obj.transform.position = parent.transform.position; obj.transform.position += setPosition; //obj.transform.eulerAngles = new Vector3(0, 0, startAngle + yuLeiAngle[i]); BulletMove bMove = obj.GetComponent <BulletMove>(); bMove.SetEulerAngle(new Vector3(0, 0, lookAngle)); Tag myTag = Tag.Bullet; float atk = 0; if (cardInfo != null) { myTag = cardInfo.myTag; atk = cardInfo.Atk; } bMove.Init(myTag, atk, moveDir * moveSpeed2); } } }
public IEnumerator Init1() { transform.localEulerAngles = new Vector3(0, startAngle, 0); for (int i = 0; i < angleSpan.Length; i++) { yield return(Yielders.WaitSecond(delaySpan)); float tempAngle = (startAngle + angleSpan[i]); float x1 = 1 * Mathf.Cos(tempAngle * Mathf.PI / 180); float z1 = 1 * Mathf.Sin(tempAngle * Mathf.PI / 180); Vector3 moveDir = new Vector3(x1, 0, z1).normalized; if (parent != null && target != null && target.isLive) { GameObject obj = Common.Generate(prefab, transform); obj.transform.position = parent.transform.position; //obj.transform.eulerAngles = new Vector3(0, 0, tempAngle); BulletMove bMove = obj.GetComponent <BulletMove>(); bMove.SetEulerAngle(new Vector3(0, 0, startAngle + angleSpan[i])); Tag myTag = Tag.Bullet; float atk = 0; if (cardInfo != null) { myTag = cardInfo.myTag; atk = cardInfo.Atk; } bMove.Init(myTag, atk, moveDir * moveSpeed); } } }
public IEnumerator Init2() { yield return(null); float startFix = (startAngle - 0.5f * (count - 1) * angleSpan); for (int i = 0; i < count; i++) { float tempAngle = (startFix + i * angleSpan); float x1 = 1 * Mathf.Cos(tempAngle * Mathf.PI / 180); float z1 = 1 * Mathf.Sin(tempAngle * Mathf.PI / 180); Vector3 moveDir = new Vector3(x1, 0, z1).normalized; if (parent != null && target != null && target.isLive) { GameObject obj = Common.Generate(prefab, transform); obj.transform.position = parent.transform.position; //obj.transform.eulerAngles = new Vector3(0, 0, tempAngle); BulletMove bMove = obj.GetComponent <BulletMove>(); bMove.SetEulerAngle(new Vector3(0, 0, tempAngle)); Tag myTag = Tag.Bullet; float atk = 0; if (cardInfo != null) { myTag = cardInfo.myTag; atk = cardInfo.Atk; } bMove.Init(myTag, atk, moveDir * moveSpeed); } } }
private IEnumerator YuLeiSpan() { yield return(Yielders.WaitSecond(yuStartDelay)); for (int i = 0; i < yuLeiCount; i++) { yield return(Yielders.WaitSecond(yuSpanDelay)); float angle = Random.Range(0, 360); float x1 = fightRadius * Mathf.Cos(angle * Mathf.PI / 180); float z1 = fightRadius * Mathf.Sin(angle * Mathf.PI / 180); Vector3 endPoint = fightPoint + new Vector3(x1, 0, z1) * Random.Range(0f, 1f); float tempAngle = -90; // GameObject obj = Common.Generate(prefab, transform); obj.transform.SetParent(transform.parent); obj.transform.position = endPoint; BulletMove bMove = obj.GetComponent <BulletMove>(); bMove.SetEulerAngle(new Vector3(0, 0, tempAngle)); Tag myTag = Tag.Bullet; float atk = 0; if (cardInfo != null) { myTag = cardInfo.myTag; atk = cardInfo.Atk; } bMove.Init(myTag, atk, Vector3.down * moveSpeed); } }
public static void SetBullet(Tag ownTag, int bulletType, int index, float atk, Vector3 pos, float angle, Vector3 moveDir) { GameObject obj = null; obj = Common.Generate(DataController.prefabPath_Bullet + bulletType, GameManager.instance.transBullet); BulletMove bullet = obj.GetComponent <BulletMove>(); bullet.SetEulerAngle(new Vector3(0, 0, angle)); // obj.transform.position = pos; obj.transform.localScale = Vector3.one; bullet.Init(ownTag, atk, moveDir); }