Example #1
0
 private void Players_OnRemovePlayer(object sender, Player e)
 {
     if (Entitys.ContainsKey(e.CurrentEntityId))
     {
         Entitys.Remove(e.CurrentEntityId);
     }
 }
Example #2
0
 protected override void OnDispose()
 {
     _systems.Dispose();
     _entitys.Dispose();
     _systems = null;
     _entitys = null;
 }
        public ProjectServiceTemplate(CompileBase compile, ServiceMetadata data)
        {
            this.Data = data;

            this.Compiler = compile as ServiceCompile;
            this.Entitys  = new Dictionary <ProjectDocument, ControllerConfigure>();
            foreach (var entity in Compiler.ProjectItems.Values.Where(a => a.DocumentType == GlobalIds.DocumentType.Entity))
            {
                var def = Compiler.GetDocumentBody(entity) as EntityDefinition;
                if (def.Controller != null)
                {
                    Entitys.Add(entity, def.Controller);
                }
            }
        }
Example #4
0
 protected override void Awake()
 {
     _systems = new Systems();
     _entitys = new Entitys(this);
 }
 public override int GetLevel(Entitys.Entity caster)
 {
     return Math.Min(maxLevel, caster.CastingLevel);
 }
Example #6
0
        public bool ExecuteBlueCopy()
        {
            var IsBulkLoad = false;

            if (Entitys == null || Entitys.Length <= 0)
            {
                return(IsBulkLoad);
            }
            if (Entitys.First() == null && Entitys.Length == 1)
            {
                return(IsBulkLoad);
            }
            DataTable dt     = new DataTable();
            Type      type   = typeof(T);
            var       entity = this.Context.EntityMaintenance.GetEntityInfo <T>();

            dt.TableName = this.Builder.GetTranslationColumnName(entity.DbTableName);
            //创建属性的集合
            List <PropertyInfo> pList = new List <PropertyInfo>();

            //把所有的public属性加入到集合 并添加DataTable的列
            Array.ForEach(entity.Columns.ToArray(), p => {
                if (!p.IsIgnore && !p.IsOnlyIgnoreInsert)
                {
                    pList.Add(p.PropertyInfo); dt.Columns.Add(p.DbColumnName);
                }
            });
            DataRow row = null;

            foreach (T item in Entitys)
            {
                row = dt.NewRow();
                pList.ForEach(p =>
                {
                    var name = p.Name;
                    if (entity.Columns.Any(it => it.PropertyName == name))
                    {
                        name = entity.Columns.First(it => it.PropertyName == name).DbColumnName;
                    }
                    row[name] = GetValue(p, item);
                });
                dt.Rows.Add(row);
            }
            var           dllPath = AppDomain.CurrentDomain.BaseDirectory + "failFiles";
            DirectoryInfo dir     = new DirectoryInfo(dllPath);

            if (!dir.Exists)
            {
                dir.Create();
            }
            var fileName       = dllPath + "\\" + Guid.NewGuid().ToString() + ".csv";
            var dataTableToCsv = DataTableToCsvString(dt);

            File.WriteAllText(fileName, dataTableToCsv, new UTF8Encoding(false));
            MySqlConnection conn = this.Context.Ado.Connection as MySqlConnection;

            try
            {
                this.Context.Ado.Open();
                // IsolationLevel.Parse
                MySqlBulkLoader bulk = new MySqlBulkLoader(conn)
                {
                    CharacterSet            = GetChara(),
                    FieldTerminator         = ",",
                    FieldQuotationCharacter = '"',
                    EscapeCharacter         = '"',
                    LineTerminator          = "\r\n",
                    FileName            = fileName,
                    NumberOfLinesToSkip = 0,
                    TableName           = dt.TableName,
                    Local = true,
                };
                bulk.Columns.AddRange(dt.Columns.Cast <DataColumn>().Select(colum => colum.ColumnName).Distinct().ToArray());
                IsBulkLoad = bulk.Load() > 0;
                //执行成功才删除文件
                if (IsBulkLoad && File.Exists(fileName))
                {
                    File.Delete(fileName);
                }
            }
            catch (MySqlException ex)
            {
                throw ex;
            }
            finally
            {
                CloseDb();
            }
            return(IsBulkLoad);;
        }
Example #7
0
 public DimEmployeeDAL()
 {
     db = new Entitys();
 }
 public override int GetLevel(Entitys.Entity caster)
 {
     return Math.Min(5, caster.CastingLevel / 2 + 1);
 }
        public OperationResult Test(String strType, String strMethod, Object[] objs)
        {
            OperationResult or = new OperationResult(OperationResultType.Error);


            //获取Export项,这里直接加载不采用Lazy
            m_Providers = Container.GetExportedValues <IDbContextProvider>();
            Entitys     = Container.GetExportedValues <IEntity>();

            var obj = Entitys.Where(c => c.GetType().Name == strType).FirstOrDefault();

            if (obj != null)
            {
                Type type = obj.GetType();
                //取得属性集合
                PropertyInfo[] pi = type.GetProperties();

                DbSet db = Context.Set(obj.GetType());
                switch (strMethod)
                {
                case "Add":
                    db.Add(objs[0]);
                    Context.SaveChanges();
                    break;

                case "Update":
                    break;

                case "Del":
                    break;

                case "GetAll":
                    var items = db;

                    or = new OperationResult(OperationResultType.Success, "", items);
                    break;
                }
            }

            //if (m_Providers != null)
            //{
            //    foreach (var provider in m_Providers)
            //    {
            //        DbContext dbContext = provider.Context;
            //        var dbUser = dbContext.Set(typeof(User));
            //        if (dbUser != null)
            //        {
            //            User user = new User()
            //            {
            //                Name = "admin",
            //                Password = "******"
            //            };
            //            dbUser.Add(user);
            //            dbContext.SaveChanges();
            //        }
            //    }
            //}

            //IDbContextProvider provider = new MsSqlProvider();
            //AppDBContext dbContext = provider.Get();


            return(or);
        }
Example #10
0
 public void AddEntity(Entitys.Entity e)
 {
     Position chunkpos = GetChunkPosition(e.Pos);
     GetChunk(chunkpos).Entitys.Add(e);
 }
Example #11
0
 public void MoveEntity(Entitys.Entity e, Position dest)
 {
     Position chunkpos_before = GetChunkPosition(e.Pos);
     e.Pos = dest;
     Position chunkpos_after = GetChunkPosition(e.Pos);
     if (chunkpos_before != chunkpos_after)
     {
         GetChunk(chunkpos_before).Entitys.Remove(e);
         GetChunk(chunkpos_after).Entitys.Add(e);
     }
 }