private GeometryObj EditArea(GeometryObj obj, DataRow areaRow) { if (areaRow[DB.COL_AREA_X] == DBNull.Value || areaRow[DB.COL_AREA_Y] == DBNull.Value) return null; float x = (float)Convert.ToDouble(areaRow[DB.COL_AREA_X]); float y = (float)Convert.ToDouble(areaRow[DB.COL_AREA_Y]); float width = areaRow[DB.COL_AREA_Z] == DBNull.Value ? 0 : (float)Convert.ToDouble(areaRow[DB.COL_AREA_Z]); float height = areaRow[DB.COL_AREA_R] == DBNull.Value ? 0 : (float)Convert.ToDouble(areaRow[DB.COL_AREA_R]); if (x > 0 || y > 0) { Model m_PointModel; if ((string)areaRow[DB.COL_AREA_AREATYPE] == Const.AREA_SQUARE) { DOL.Tools.Mapping.DX.Meshes.Plane plane = new DOL.Tools.Mapping.DX.Meshes.Plane(Common.Device, width, height, false); m_PointModel = new Model(plane, Textures.AreaSquare); } else { DOL.Tools.Mapping.DX.Meshes.Plane plane = new DOL.Tools.Mapping.DX.Meshes.Plane(Common.Device, height, height, true); m_PointModel = new Model(plane, Textures.AreaCircle); } obj.Model = m_PointModel; obj.X = x; obj.Y = y; } return obj; }
private GeometryObj AddLocation(DataRow locationRow) { if (locationRow[DB.COL_LOCATION_X] == DBNull.Value || locationRow[DB.COL_LOCATION_Y] == DBNull.Value) return null; float x = (float)Convert.ToDouble(locationRow[DB.COL_LOCATION_X]); float y = (float)Convert.ToDouble(locationRow[DB.COL_LOCATION_Y]); GeometryObj obj = null; if (x > 0 || y > 0) { Model m_PointModel; m_PointModel = new Model(Plane, Textures.LoadMapObjectTexture("Location")); obj = new GeometryObj(this,m_PointModel, DrawLevel.Forer, DetailLevel.Detailed, x, y, 0, 0, 0, 0, new Vector3(2, 2, 2),true,true); if (!IsFiltered) DXControl.GeoObjects.Add(obj); SetObjectForRow(locationRow, obj); } return obj; }
private GeometryObj AddArea(DataRow areaRow) { if (areaRow[DB.COL_AREA_X] == DBNull.Value || areaRow[DB.COL_AREA_Y] == DBNull.Value) return null; float x = (float)Convert.ToDouble(areaRow[DB.COL_AREA_X]); float y = (float)Convert.ToDouble(areaRow[DB.COL_AREA_Y]); float width = areaRow[DB.COL_AREA_Z] == DBNull.Value ? 0 : (float)Convert.ToDouble(areaRow[DB.COL_AREA_Z]); float height = areaRow[DB.COL_AREA_R] == DBNull.Value ? 0 : (float)Convert.ToDouble(areaRow[DB.COL_AREA_R]); GeometryObj obj = null; if (x > 0 || y > 0) { Model m_PointModel; if ((string)areaRow[DB.COL_AREA_AREATYPE] == Const.AREA_SQUARE) { DOL.Tools.Mapping.DX.Meshes.Plane plane = new DOL.Tools.Mapping.DX.Meshes.Plane(Common.Device, width, height, false); m_PointModel = new Model(plane, Textures.AreaSquare); } else { DOL.Tools.Mapping.DX.Meshes.Plane plane = new DOL.Tools.Mapping.DX.Meshes.Plane(Common.Device, height, height, true); m_PointModel = new Model(plane, Textures.AreaCircle); } obj = new GeometryObj(this, m_PointModel, DrawLevel.Backer, DetailLevel.Nondetailed, x, y, 0, 0, 0, 0, new Vector3(1, 1, 1), true,false); if (!IsFiltered) DXControl.GeoObjects.Add(obj); SetObjectForRow(areaRow, obj); } return obj; }
private GeometryObj AddMob(DataRow mobRow) { if (mobRow[DB.COL_NPC_X] == DBNull.Value || mobRow[DB.COL_NPC_Y] == DBNull.Value) return null; float x = (float)Convert.ToDouble(mobRow[DB.COL_NPC_X]); float y = (float)Convert.ToDouble(mobRow[DB.COL_NPC_Y]); float heading = Utils.HeadingToRadians(Convert.ToInt32(mobRow[DB.COL_NPC_HEADING])); GeometryObj obj = null; if (x > 0 || y > 0) { Model m_PointModel; if ((byte)mobRow[DB.COL_NPC_REALM] == (byte)eRealm.None) { m_PointModel = new Model(Plane, Textures.Mob); } else { m_PointModel = new Model(Plane, Textures.NPC); } obj = new GeometryObj(this,m_PointModel, DrawLevel.Forer, DetailLevel.Detailed, x, y, 0, 0, 0, heading, new Vector3(1, 1, 1),true,true); if (!IsFiltered) DXControl.GeoObjects.Add(obj); SetObjectForRow(mobRow, obj); } return obj; }