using FLY.Integrated.Common;
using FLY.Integrated.OBJ_INTERFACE;
using FLY.OBJComponents.Server.OBJProxy;
using FObjBase;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FLY.Integrated.Server.OBJProxy
{
    class IntegratedSystem_OBJProxy : FObj
    {
        IntegratedSystem data;
        SyncProp_OBJProxy syncProp_OBJProxy;

        PLCProxySystem_OBJProxy plcOS_OBJProxy;

        public IntegratedSystem_OBJProxy(int objsys_idx, IntegratedSystem data) : base(objsys_idx)
        {
            ID = OBJ_INTERFACE.OBJ_INTERFACE.IBC_OBJ_ID;
            this.data = data;

            syncProp_OBJProxy = new SyncProp_OBJProxy(
                objsys_idx, ID + 1,
                new Dictionary<string, INotifyPropertyChanged>
                {
                    { "Ibc", data.Ibc},
                    { "Accessory", data.Accessory}
                });


            plcOS_OBJProxy = new PLCProxySystem_OBJProxy(
                objsys_idx,
                ID + 2,
                data.PLCos
                );
        }
    }
}