示例#1
0
        public IStatus Load()
        {
            int     baseValue = ZeroFormatterSerializer.Deserialize <int>(Data);
            IStatus res       = (IStatus)Activator.CreateInstance(TypeUtils.StringToType(DataType), args: baseValue);

            return(res);
        }
示例#2
0
        public IStatusModifier <IStatus> Load()
        {
            Type template           = typeof(StatusModifier <>);
            Type type               = template.MakeGenericType(TypeUtils.StringToType(DataType));
            StatusModifierCore core = ZeroFormatterSerializer.Deserialize <StatusModifierCore>(Data);

            return((IStatusModifier <IStatus>)Activator.CreateInstance(type, args: core));
            //return res;
        }
示例#3
0
        public IElementsHolder Load()
        {
            var core = ZeroFormatterSerializer.Deserialize <ElementsHolderCore>(Data);

            return((IElementsHolder)Activator.CreateInstance(TypeUtils.StringToType(DataType),
                                                             core.statusList.Select(
                                                                 ele => ele.Load()//(TypeUtils.StringToType(ele.Key),ele.Value.Load())
                                                                 ).ToList(),
                                                             core.modifierList.Load()
                                                             ));
        }
示例#4
0
        public IBaseItem Load()
        {
            //Debug.Log("ItemLoad");
            var core = ZeroFormatterSerializer.Deserialize <ItemCore>(Data);

            return((IBaseItem)Activator.CreateInstance(TypeUtils.StringToType(DataType),
                                                       core.rank,
                                                       core.prefixList.Select(ele => { var res = ele.Load(); return res; }).ToList <IPrefix <IStatus> >(),
                                                       core.suffixList.Select(ele => { var res = ele.Load(); return res; }).ToList <ISuffix <IStatus> >()
                                                       ));
        }
示例#5
0
        public IPrefix <IStatus> Load()
        {
            var  core     = ZeroFormatterSerializer.Deserialize <FigereCore>(this.Data);
            Type template = typeof(Prefix <>);
            Type type     = template.MakeGenericType(TypeUtils.StringToType(DataType));

            //Debug.Log(type);
            try
            {
                return((IPrefix <IStatus>)Activator.CreateInstance(type, core.statusModifierCore, core.tier));
            }
            catch (System.Exception)
            {
                return((IPrefix <IStatus>)Activator.CreateInstance(type, OperatorType.Additive, 5, FigereTier.magic));
            }
        }
示例#6
0
        public T Load <T> ()
        {
            IFormattable <T> formattable = (IFormattable <T>)Activator.CreateInstance(TypeUtils.StringToType(FormattableName));

            formattable.Data     = Data;
            formattable.DataType = DataType;
            return(formattable.Load());
        }