Example #1
0
        private DbTerrainObjectDefinitions GetTerrainDefinition(int todId)
        {
            DbTerrainObjectDefinitions result = null;

            foreach (DbTerrainObjectDefinitions definition in _terrainObjectDefinitionList)
            {
                if (definition.TodId == todId)
                {
                    result = definition;
                    break;
                }
            }

            return(result);
        }
 public PlaceInstanceTerrainDetails
 (
     int toId,
     int wmId,
     int localPosX,
     int localPosY,
     int localPosZ,
     int parentId,
     bool isParentalTeleport,
     bool isExit,
     DbTerrainObjectDefinitions terrainDefinition
 )
 {
     this.ToId               = toId;
     this.WmId               = wmId;
     this.LocalPosX          = localPosX;
     this.LocalPosY          = localPosY;
     this.LocalPosZ          = localPosZ;
     this.ParentId           = parentId;
     this.IsParentalTeleport = isParentalTeleport;
     this.IsExit             = isExit;
     this.TerrainDefinition  = terrainDefinition;
 }
 public void Dispose()
 {
     this.TerrainDefinition = null;
 }
Example #4
0
        /// <summary>
        /// Gets data from table 'terrain_object_definitions'
        /// </summary>
        public BoxedData GetTerrainObjectDefinitionsData(string sqlFilter = "")
        {
            BoxedData data = new BoxedData();
            List <DbTerrainObjectDefinitions> resultList = new List <DbTerrainObjectDefinitions>();
            string msg = "";

            try
            {
                int    todId      = -1;
                string code       = "";
                int    collisionX = 0;
                int    collisionY = 0;
                int    collisionZ = 0;
                bool   isTerrain  = false;
                bool   isPlatform = false;
                bool   isObstacle = false;

                string query = @"
                    SELECT
                        `tod_id`,
                        `tod_code`,
                        `tod_collision_x`,
                        `tod_collision_y`,
                        `tod_collision_z`,
                        `tod_is_terrain`,
                        `tod_is_platform`,
                        `tod_is_obstacle`
                    FROM
                        `terrain_object_definitions`
                ";

                if (!String.IsNullOrWhiteSpace(sqlFilter))
                {
                    query += $" {(!sqlFilter.ToUpper().Contains("WHERE") ? "WHERE" : "")} {sqlFilter}";
                }

                lock (_connectionLock)
                {
                    using (MySqlCommand command = new MySqlCommand(query, _connection))
                    {
                        using (MySqlDataReader reader = command.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                todId      = reader.GetInt32("tod_id");
                                code       = reader["tod_code"].ToString();
                                collisionX = reader.GetInt32("tod_collision_x");
                                collisionY = reader.GetInt32("tod_collision_y");
                                collisionZ = reader.GetInt32("tod_collision_z");
                                isTerrain  = (reader.GetInt32("tod_is_terrain") == 1);
                                isPlatform = (reader.GetInt32("tod_is_platform") == 1);
                                isObstacle = (reader.GetInt32("tod_is_obstacle") == 1);

                                DbTerrainObjectDefinitions result = new DbTerrainObjectDefinitions
                                                                    (
                                    todId,
                                    code,
                                    collisionX,
                                    collisionY,
                                    collisionZ,
                                    isTerrain,
                                    isPlatform,
                                    isObstacle
                                                                    );
                                resultList.Add(result);
                            }
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                msg = $"Cannot get data from 'terrain_object_definitions' table, SQL filter [{sqlFilter}]: {exception.Message}";
            }

            data.Data = resultList;
            data.Msg  = msg;
            return(data);
        }