public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); m_whichCarpet = (CarpetType)reader.ReadInt(); }
public CarpetAddon( CarpetType type, int width, int height ) : base() { m_Type = type; m_Width = width; m_Height = height; UpdateComponents(); }
public CarpetAddon(CarpetType type, int width, int height) : base() { m_Type = type; m_Width = width; m_Height = height; UpdateComponents(); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadEncodedInt(); m_Type = (CarpetType)reader.ReadEncodedInt(); m_Width = reader.ReadInt(); m_Height = reader.ReadInt(); }
public static CarpetInfo GetInfo(CarpetType type) { int index = (int)type; if (index < 0 || index >= m_Infos.Length) { index = 0; } return(m_Infos[index]); }
public ResizableRugAddon(Rectangle2D rect, CarpetType whichCarpet) { m_whichCarpet = whichCarpet; for (int x = 0; x < rect.Width; x++) { for (int y = 0; y < rect.Height; y++) { if (y == 0 && x != 0 && x != rect.Width - 1) { AddComponent(new AddonComponent(RugPieceId(whichCarpet, RugPiece.Top)), x, y, 0); } if (y == rect.Height - 1 && x != 0 && x != rect.Width - 1) { AddComponent(new AddonComponent(RugPieceId(whichCarpet, RugPiece.Bottom)), x, y, 0); } if (x == 0 && y != 0 && y != rect.Height - 1) { AddComponent(new AddonComponent(RugPieceId(whichCarpet, RugPiece.Left)), x, y, 0); } if (x == rect.Width - 1 && y != 0 && y != rect.Height - 1) { AddComponent(new AddonComponent(RugPieceId(whichCarpet, RugPiece.Right)), x, y, 0); } if (y == 0 && x == 0) { AddComponent(new AddonComponent(RugPieceId(whichCarpet, RugPiece.TopLeft)), x, y, 0); } if (y == 0 && x == rect.Width - 1) { AddComponent(new AddonComponent(RugPieceId(whichCarpet, RugPiece.TopRight)), x, y, 0); } if (y == rect.Height - 1 && x == 0) { AddComponent(new AddonComponent(RugPieceId(whichCarpet, RugPiece.BottomLeft)), x, y, 0); } if (y == rect.Height - 1 && x == rect.Width - 1) { AddComponent(new AddonComponent(RugPieceId(whichCarpet, RugPiece.BottomRight)), x, y, 0); } if (y != 0 && x != 0 && x != rect.Width - 1 && y != rect.Height - 1) { AddComponent(new AddonComponent(RugPieceId(whichCarpet, RugPiece.Center)), x, y, 0); } } } }
private static string GetDisplayName(CarpetType whichCarpet) { switch (whichCarpet) { case CarpetType.Plain1: case CarpetType.Plain2: case CarpetType.Red1: case CarpetType.Red2: case CarpetType.Red3: case CarpetType.Blue1: case CarpetType.Blue2: case CarpetType.Blue3: case CarpetType.Fancy1: case CarpetType.Fancy2: case CarpetType.Fancy3: case CarpetType.Fancy4: case CarpetType.Fancy5: default: return(string.Format("Rug ({0})", whichCarpet.ToString())); } }
public CarpetAddon(CarpetType type, int width, int height) : this((int)type, width, height) { }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadEncodedInt(); m_Type = (CarpetType)reader.ReadEncodedInt(); m_Width = reader.ReadInt(); m_Height = reader.ReadInt(); }
public CarpetAddonDeed( CarpetType type, int width, int height ) { m_Type = type; m_Width = width; m_Height = height; }
public static CarpetInfo GetInfo( CarpetType type ) { int index = (int)type; if ( index < 0 || index >= m_Infos.Length ) index = 0; return m_Infos[index]; }
public CarpetAddon( CarpetType type, int width, int height ) : this( (int)type, width, height ) { }
public ResizableRugDeed(CarpetType whichCarpet) { Name = GetDisplayName(whichCarpet); m_whichCarpet = whichCarpet; }
private int RugPieceId(CarpetType whichCarpet, RugPiece whichPiece) { switch (whichCarpet) { case CarpetType.Plain1: switch (whichPiece) { case RugPiece.Top: return(0xAAA); case RugPiece.Bottom: return(0xAAC); case RugPiece.Left: return(0xAAD); case RugPiece.Right: return(0xAAB); case RugPiece.TopLeft: return(0xAAE); case RugPiece.TopRight: return(0xAAF); case RugPiece.BottomLeft: return(0xAB1); case RugPiece.BottomRight: return(0xAB0); default: return(0xAA9); } case CarpetType.Plain2: switch (whichPiece) { case RugPiece.Top: return(0xAB4); case RugPiece.Bottom: return(0xAB6); case RugPiece.Left: return(0xAB7); case RugPiece.Right: return(0xAB5); case RugPiece.TopLeft: return(0xAB8); case RugPiece.TopRight: return(0xAB9); case RugPiece.BottomLeft: return(0xABB); case RugPiece.BottomRight: return(0xABA); default: return(0xAB3); } case CarpetType.Red1: switch (whichPiece) { case RugPiece.Top: return(0xACE); case RugPiece.Bottom: return(0xAD0); case RugPiece.Left: return(0xACD); case RugPiece.Right: return(0xACF); case RugPiece.TopLeft: return(0xACA); case RugPiece.TopRight: return(0xACC); case RugPiece.BottomLeft: return(0xAcB); case RugPiece.BottomRight: return(0xAC9); default: return(0xAC8); } case CarpetType.Red2: switch (whichPiece) { case RugPiece.Top: return(0xACE); case RugPiece.Bottom: return(0xAD0); case RugPiece.Left: return(0xACD); case RugPiece.Right: return(0xACF); case RugPiece.TopLeft: return(0xACA); case RugPiece.TopRight: return(0xACC); case RugPiece.BottomLeft: return(0xAcB); case RugPiece.BottomRight: return(0xAC9); default: return(0xAC6); } case CarpetType.Red3: switch (whichPiece) { case RugPiece.Top: return(0xACE); case RugPiece.Bottom: return(0xAD0); case RugPiece.Left: return(0xACD); case RugPiece.Right: return(0xACF); case RugPiece.TopLeft: return(0xACA); case RugPiece.TopRight: return(0xACC); case RugPiece.BottomLeft: return(0xAcB); case RugPiece.BottomRight: return(0xAC9); default: return(0xAC7); } case CarpetType.Blue1: switch (whichPiece) { case RugPiece.Top: return(0xAF7); case RugPiece.Bottom: return(0xAF9); case RugPiece.Left: return(0xAF6); case RugPiece.Right: return(0xAF8); case RugPiece.TopLeft: return(0xAC3); case RugPiece.TopRight: return(0xAC5); case RugPiece.BottomLeft: return(0xAC4); case RugPiece.BottomRight: return(0xAC2); default: return(0xABE); } case CarpetType.Blue2: switch (whichPiece) { case RugPiece.Top: return(0xAF7); case RugPiece.Bottom: return(0xAF9); case RugPiece.Left: return(0xAF6); case RugPiece.Right: return(0xAF8); case RugPiece.TopLeft: return(0xAC3); case RugPiece.TopRight: return(0xAC5); case RugPiece.BottomLeft: return(0xAC4); case RugPiece.BottomRight: return(0xAC2); default: return(0xABD); } case CarpetType.Blue3: switch (whichPiece) { case RugPiece.Top: return(0xAF7); case RugPiece.Bottom: return(0xAF9); case RugPiece.Left: return(0xAF6); case RugPiece.Right: return(0xAF8); case RugPiece.TopLeft: return(0xAC3); case RugPiece.TopRight: return(0xAC5); case RugPiece.BottomLeft: return(0xAC4); case RugPiece.BottomRight: return(0xAC2); default: return(0xABF); } case CarpetType.Fancy1: switch (whichPiece) { case RugPiece.Top: return(0xAD7); case RugPiece.Bottom: return(0xAD9); case RugPiece.Left: return(0xAD6); case RugPiece.Right: return(0xAD8); case RugPiece.TopLeft: return(0xAD3); case RugPiece.TopRight: return(0xAD5); case RugPiece.BottomLeft: return(0xAD4); case RugPiece.BottomRight: return(0xAD2); default: return(0xAD1); } case CarpetType.Fancy2: switch (whichPiece) { case RugPiece.Top: return(0xAE0); case RugPiece.Bottom: return(0xAE2); case RugPiece.Left: return(0xADF); case RugPiece.Right: return(0xAE1); case RugPiece.TopLeft: return(0xADC); case RugPiece.TopRight: return(0xADE); case RugPiece.BottomLeft: return(0xADD); case RugPiece.BottomRight: return(0xADB); default: return(0xADA); } case CarpetType.Fancy3: switch (whichPiece) { case RugPiece.Top: return(0xAE8); case RugPiece.Bottom: return(0xAEA); case RugPiece.Left: return(0xAE7); case RugPiece.Right: return(0xAE9); case RugPiece.TopLeft: return(0xAE4); case RugPiece.TopRight: return(0xAE6); case RugPiece.BottomLeft: return(0xAE5); case RugPiece.BottomRight: return(0xAE3); default: return(0xAEB); } case CarpetType.Fancy4: switch (whichPiece) { case RugPiece.Top: return(0xAF3); case RugPiece.Bottom: return(0xAF5); case RugPiece.Left: return(0xAF2); case RugPiece.Right: return(0xAF4); case RugPiece.TopLeft: return(0xAEF); case RugPiece.TopRight: return(0xAF1); case RugPiece.BottomLeft: return(0xAF0); case RugPiece.BottomRight: return(0xAEE); default: return(0xAEC); } case CarpetType.Fancy5: switch (whichPiece) { case RugPiece.Top: return(0xAF3); case RugPiece.Bottom: return(0xAF5); case RugPiece.Left: return(0xAF2); case RugPiece.Right: return(0xAF4); case RugPiece.TopLeft: return(0xAEF); case RugPiece.TopRight: return(0xAF1); case RugPiece.BottomLeft: return(0xAF0); case RugPiece.BottomRight: return(0xAEE); default: return(0xAED); } default: return(1); } }
public CarpetAddonDeed(CarpetType type, int width, int height) { m_Type = type; m_Width = width; m_Height = height; }
public override void load(XElement node) { string strVal = ""; look_id = node.Attribute("lookid").GetUInt16(); if (node.Attribute("server_lookid").GetUInt16() != 0) { look_id = node.Attribute("server_lookid").GetUInt16(); } foreach (XElement child_node in node.Elements()) { if ("carpet".Equals(child_node.Name.LocalName)) { int alignment; strVal = child_node.Attribute("align").GetString(); if (!"".Equals(strVal)) { alignment = AutoBorder.EdgeNameToEdge(strVal); if (alignment == BorderType.BORDER_NONE) { if ("center".Equals(strVal)) { alignment = BorderType.CARPET_CENTER; } else { Messages.AddWarning("Invalid alignment of carpet node"); continue; } } } else { Messages.AddWarning("Could not read alignment tag of carpet node"); continue; } bool use_local_id = true; foreach (XElement subchild_node in child_node.Elements()) { if ("item".Equals(subchild_node.Name.LocalName)) { use_local_id = false; int id = subchild_node.Attribute("id").GetInt32(); int chance = subchild_node.Attribute("chance").GetInt32(); if (id == 0) { Messages.AddWarning("Could not read id tag of item node"); continue; } if (chance == 0) { Messages.AddWarning("Could not read chance tag of item node"); continue; } ItemType it = Global.items.items[id]; if (it == null) { Messages.AddWarning("There is no itemtype with id " + id); continue; } if ((it.brush != null) && (it.brush != this)) { Messages.AddWarning("itemId " + id + "already has a brush"); continue; } it.IsCarpet = true; it.brush = this; carpet_items[alignment].total_chance += chance; CarpetType t = new CarpetType(); t.chance = chance; t.id = (ushort)id; carpet_items[alignment].items.Add(t); } } if (use_local_id) { int id = child_node.Attribute("id").GetInt32(); if (id == 0) { Messages.AddWarning("Could not read id tag of item node"); continue; } ItemType it = Global.items.items[id]; if (it == null) { Messages.AddWarning("There is no itemtype with id " + id); continue; } if ((it.brush != null) && (it.brush != this)) { Messages.AddWarning("itemId " + id + "already has a brush"); continue; } it.IsCarpet = true; it.brush = this; carpet_items[alignment].total_chance += 1; CarpetType t = new CarpetType(); t.chance = 1; t.id = (ushort)id; carpet_items[alignment].items.Add(t); } } } }