#
    # 蛇のように動くキャラクターの体のスクリプト
    #
    
    extends CharacterBody2D
    
    # 移動速度
    const MOVE_SPEED = 30
    # 移動地点をプロットする時間間隔
    const WAY_TIME = 0.30
    
    # 体の何番目であるか?
    @export var body_num : int
    # headノードの参照
    @onready var head = $"../head"
    
    # 移動目標地点
    var way_point	: Vector2
    
    func _ready():
        # head が位置をプロットしたときのシグナルを接続する
        head.SIG_SET_WAY_POINT.connect(read_way_point)
    
    
    func _physics_process(_delta)
        # 実際の移動
        move_and_slide()
    
    
    # head が位置をプロットしたときに呼び出される処理
    func read_way_point():
        # 移動履歴を参照して次の移動先にする
        way_point = head._get_way_point(body_num)
        # 移動量を指定する
        velocity.x = (way_point.x - global_position.x) / WAY_TIME
        velocity.y = (way_point.y - global_position.y) / WAY_TIME