// 鳥瞰カメラ制御
using UnityEngine;

public class CamBird : MonoBehaviour {
    MapManager man; // 親オブジェクトのスクリプトアクセス用

	void Start () { // 起動後の処理
        man = transform.parent.GetComponent<MapManager>();  // マップマネージャーへのアクセス確保
	}
	
	void Update () {    // 通常処理
        float ang = Mathf.Clamp(man.lookAngle, 0, 90);  // 仰角を０（水平）～９０（見下ろし）までに限定
        float dir = man.lookDirection;                  // 方角を取得
        transform.position = Quaternion.Euler(ang, -dir, 0)             // 回転させる角度
                                * new Vector3(0, 0, -man.lookDistance)  // カメラの初期位置
                                + Vector3.up * man.lookAltitude;        // 高さ補正成分
        transform.rotation = Quaternion.Euler(ang, -dir, 0);            // カメラの向きも回転と一致
    }
}
