using Game.JNGFrame.View.Entity;
using JNGame.Sync.System;
using JNGame.Sync.View;
using JNGame.Util;

namespace Game.JNGFrame.View
{
    public class DViewSystem : SViewSystem
    {

        private readonly IViewData[] views;

        public DViewSystem()
        {
            views = new IViewData[] {
                new VDNodes(this),      //显示Demo实体
                new VDPlayers(this),    //显示玩家实体
                new VDBoss(this),    //显示Boss实体
            };
        }

        public override void OnSyncUpdate(int dt)
        {
            base.OnSyncUpdate(dt);
            foreach (var view in views)
            {
                //视图逻辑交给主线程运行
                UnityMainThreadDispatcher.Instance.Enqueue(view.Execute);
            }
        }
        // public override void Execute()
        // {
        //     foreach (var view in views)
        //     {
        //         view.Execute();
        //     }
        // }
        
    }
    
}