コード例 #1
0
ファイル: YKWeaponAim.cs プロジェクト: hhhnnnk/Barrage
 public override void Fire()
 {
     if (IEnemy.enemys.Count > 0)
     {
         target = BarrageUtil.RandomFecthFromList <IEnemy>(IEnemy.enemys).gameObject;
     }
     base.Fire();
 }
コード例 #2
0
ファイル: Missle.cs プロジェクト: hhhnnnk/Barrage
    public void OnEnable()
    {
        GameObject tmpTrail = Instantiate(trail);

        UnityTool.Attach(gameObject, tmpTrail, Vector3.zero);

        if (IEnemy.enemys.Count > 0)
        {
            target = BarrageUtil.RandomFecthFromList <IEnemy>(IEnemy.enemys).gameObject;
        }
    }
コード例 #3
0
    // Update is called once per frame
    void Update()
    {
        if (target == null)
        {
            if (IEnemy.enemys.Count > 0)
            {
                target = BarrageUtil.RandomFecthFromList <IEnemy>(IEnemy.enemys).gameObject;
            }
            base.Update();
            return;
        }

        transform.forward   = Vector3.Slerp(transform.forward, target.transform.position - transform.position, 0.5f / Vector3.Distance(transform.position, target.transform.position));
        transform.position += transform.forward * speed * Time.deltaTime;
    }
コード例 #4
0
ファイル: BarrageGame.cs プロジェクト: hhhnnnk/Barrage
    //返回BarrageUtil的mono类,当项目中存在时直接调用,不存在则新建空物体并挂载脚本,更新barrageUtil为新的BarrageUtil
    public BarrageUtil getBarrageUtil()
    {
        if (barrageUtil != null)
        {
            return(barrageUtil);
        }
        BarrageUtil newBarrageUtil = GameObject.FindObjectOfType <BarrageUtil>();

        if (newBarrageUtil == null)
        {
            GameObject empty = new GameObject();
            newBarrageUtil = empty.AddComponent <BarrageUtil>();
        }
        barrageUtil = newBarrageUtil;
        return(newBarrageUtil);
    }