private void Start() { ac = GetComponentInParent <ActorController>(); sm = GetComponentInParent <StateManager>(); soundManager = GetComponent <SoundManager>(); target = GameObject.FindWithTag("Player").transform; aI = GetComponent <AINormal>(); }
public void Shoot() { GameObject arrow = ObjectPool.instance.GetObject("Arrow_stick"); arrow.transform.position = shootPoint.position + shootPoint.forward; arrow.transform.forward = shootPoint.forward; AINormal ai = ac.playerInput as AINormal; float r = UnityEngine.Random.Range(0, 0.2f); Vector3 randVec = new Vector3(r, 1.0f + r, r); if (ai) { arrow.transform.LookAt(ai.player.position + randVec); } WeaponData wd = arrow.GetComponent <WeaponData>(); //TODO:WD的攻击力是发射的瞬间决定的.所以此处应该根据角色当前攻击力去设置. wd.battleManager = sm.am.bm; arrow.SetActive(true); soundManager.PlayGunShoot(); ac.enableTurnDirection = false; }