示例#1
0
 private void Start()
 {
     ac           = GetComponentInParent <ActorController>();
     sm           = GetComponentInParent <StateManager>();
     soundManager = GetComponent <SoundManager>();
     target       = GameObject.FindWithTag("Player").transform;
     aI           = GetComponent <AINormal>();
 }
示例#2
0
    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;
    }