using UnityEngine;
using System.Collections;

public class PlayerMove : MonoBehaviour {

    // 縦揺れ周期
    [SerializeField]
    float MoveLoopping = 2.0f;
    // 縦揺れ大きさ
    [SerializeField]
    float YMoveSize = 0.5f;
    // サインカーブ数
    [SerializeField]
    float[] SinSpeed;

    // 経過時間
    float timer = 0;

	// 経過時間だけ更新
	void Update () {
        timer += Time.deltaTime * 2.0f;
	}

    // 波揺れによるY座標の変動を求める
    public float YPosition(float OffSet) {
        float Ret = 0.0f;
        for(int i = 0; i < SinSpeed.Length; i++) {
            Ret += Mathf.Sin(Mathf.Deg2Rad * SinSpeed[i] * timer + MoveLoopping / SinSpeed.Length + OffSet/2.5f) / SinSpeed.Length;
        }
        Ret *= YMoveSize;
        return Ret;
    }
}
