示例#1
0
        public PacketConverterInstance CreateInstance(Guid class_id, Guid obj_id, PacketConverterProperty pcvtp)
        {
            /* IDからクラスを検索 */
            var viewd = FindClass(class_id);

            if (viewd == null)
            {
                return(null);
            }

            /* インスタンス作成 */
            var viewi = viewd.CreateInstance(this, obj_id, pcvtp);

            if (viewi == null)
            {
                return(null);
            }

            /* インスタンス登録 */
            lock (pcvti_list_) {
                pcvti_list_.Add(viewi);
            }

            UpdateConvertStatus();

            return(viewi);
        }
示例#2
0
        public PacketConverterInstance(PacketConvertManager pcvtm, PacketConverterClass pcvtd, PacketConverterProperty pcvtp, Guid id)
        {
            InitializeComponent();

            pcvtm_   = pcvtm;
            Class    = pcvtd;
            Property = pcvtp;
            ID       = id;

            UpdateFilter();
        }
示例#3
0
        public PacketConverterInstance CreateInstance(string class_id, Guid obj_id, PacketConverterProperty pcvtp)
        {
            var id = Guid.Empty;

            if (!Guid.TryParse(class_id, out id))
            {
                return(null);
            }

            return(CreateInstance(id, obj_id, pcvtp));
        }
示例#4
0
 protected virtual PacketConverterInstance OnCreateInstance(PacketConvertManager pcvtm, Guid obj_id, PacketConverterProperty pcvtp)
 {
     return(null);
 }
示例#5
0
        public PacketConverterInstance CreateInstance(PacketConvertManager pcvtm, Guid obj_id, PacketConverterProperty pcvtp)
        {
            /* プロパティがnullのときはデフォルト値で新規作成 */
            if (pcvtp == null)
            {
                pcvtp = CreateProperty();
            }

            /* プロパティタイプが異なるときは失敗 */
            if (pcvtp.GetType() != GetPropertyType())
            {
                return(null);
            }

            return(OnCreateInstance(pcvtm, obj_id, pcvtp));
        }