using FLY.Thick.Base.Common;
using FLY.Thick.Base.IService;
using FObjBase.Reflect;
using System;
namespace FLY.Thick.Base.Client
{
    /// <summary>
    /// 
    /// </summary>
    public class TDGageServiceClient : FObjBase.Reflect.Reflect_SeviceClient, ITDGageService
    {
        protected override Type InterfaceType => typeof(ITDGageService);

        public DynArea DynArea { get; } = new DynArea();
        /// <summary>
        /// 
        /// </summary>
        /// <param name="serverid"></param>
        public TDGageServiceClient(UInt32 serverid) : base(serverid) { }
        /// <summary>
        ///
        /// </summary>
        /// <param name="serviceId">服务id</param>
        /// <param name="connName">连接器</param>
        public TDGageServiceClient(UInt32 serviceId, string connName) : base(serviceId, connName) { }

        /// <summary>
        /// 
        /// </summary>
        public void StartP1()
        {
            Call(nameof(StartP1));
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="mode"></param>
        public void StartP2(STARTP2_MODE mode)
        {
            Call(nameof(StartP2), new { mode });
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="mode"></param>
        /// <param name="targetpos"></param>
        public void StartP2(STARTP2_MODE mode, int targetpos)
        {
            Call(nameof(StartP2), new { mode, targetpos });
        }
    }
}
