32 for (
int i = 0; i <
_items.Length; i++)
37 for (
int j = 0; j <
_dyes.Length; j++)
42 _dollPlayer.hair = 15;
44 _dollPlayer.skinVariant = 10;
59 int number =
Place(x, y);
63 public static int Place(
int x,
int y)
66 tEHatRack.Position =
new Point16(x, y);
85 return Place(x + -1, y + -3);
88 public static void Kill(
int x,
int y)
100 public static int Find(
int x,
int y)
116 writer.Write(bitsByte);
117 for (
int i = 0; i < 2; i++)
122 writer.Write((
short)item.netID);
123 writer.Write(item.prefix);
124 writer.Write((
short)item.stack);
127 for (
int j = 0; j < 2; j++)
132 writer.Write((
short)item2.
netID);
133 writer.Write(item2.
prefix);
134 writer.Write((
short)item2.
stack);
142 for (
int i = 0; i < 2; i++)
153 for (
int j = 0; j < 2; j++)
180 num -= tileSafely.frameX / 18 % 3;
181 num2 -= tileSafely.frameY / 18 % 4;
183 for (
int i = num; i < num + 3; i++)
185 for (
int j = num2; j < num2 + 4; j++)
204 WorldGen.destroyObject =
true;
205 for (
int k = num; k < num + 3; k++)
207 for (
int l = num2; l < num2 + 4; l++)
215 WorldGen.destroyObject =
false;
218 public void Draw(
int tileLeftX,
int tileTopY)
221 dollPlayer.direction = -1;
222 dollPlayer.Male =
true;
225 dollPlayer.direction = 1;
227 dollPlayer.isDisplayDollOrInanimate =
true;
228 dollPlayer.isHatRackDoll =
true;
233 dollPlayer.invis =
true;
237 Vector2 vector =
new Vector2((
float)tileLeftX + 1.5f, tileTopY + 4) * 16f;
238 dollPlayer.direction *= -1;
240 dollPlayer.position = vector + vector2;
246 dollPlayer.invis =
true;
249 dollPlayer.skipAnimatingValuesInPlayerFrame =
true;
251 dollPlayer.skipAnimatingValuesInPlayerFrame =
false;
252 dollPlayer.direction *= -1;
254 dollPlayer.position = vector + vector2;
275 Item item = inv[slot];
276 if (item.IsAir || item.favorited)
318 num -=
Main.
tile[num, num2].frameX % 54 / 18;
319 num2 -=
Main.
tile[num, num2].frameY / 18;
320 int num3 =
Find(num, num2);
344 Main.inventoryScale = 0.72f;
351 int num = inventoryContextTarget;
352 for (
int i = 0; i < slotsToShowLine; i++)
354 for (
int j = 0; j < 2; j++)
357 int num3 = (int)((
float)Main.instance.invBottom + ((float)j + offsetY) * 56f *
Main.
inventoryScale);
361 num = inventoryContextTarget;
370 player.mouseInterface =
true;
380 Item item = inv[slot];
383 Main.cursorOverride = 9;
386 if (!item.IsAir && (context == 26 || context == 27) &&
Main.
player[
Main.
myPlayer].ItemSpace(inv[slot]).CanTakeItemToPersonalInventory)
388 Main.cursorOverride = 8;
402 Item item = inv[slot];
422 if (item.maxStack > 1)
426 return item.headSlot > 0;
429 private bool TryFitting(
Item[] inv,
int context = 0,
int slot = 0,
bool justCheck =
false)
441 for (
int i = 0; i < 2; i++)
450 for (
int j = 0; j < 2; j++)
475 item =
_dyes[itemIndex];
477 writer.Write((ushort)item.netID);
478 writer.Write((ushort)item.stack);
479 writer.Write(item.prefix);
486 int prefixWeWant = reader.
ReadByte();
490 item =
_dyes[itemIndex];
492 item.SetDefaults(defaults);
494 item.Prefix(prefixWeWant);
510 num -=
Main.
tile[num, num2].frameX % 54 / 18;
511 num2 -=
Main.
tile[num, num2].frameY / 18;
512 int num3 =
Find(num, num2);
522 for (
int i = 0; i < 2; i++)
535 for (
int i = 0; i < items.Length; i++)
540 for (
int i = 0; i < items.Length; i++)
virtual ushort ReadUInt16()
virtual short ReadInt16()
static void PlaySound(int type, Vector2 position, int style=1)
static Dictionary< int, TileEntity > ByID
static void BasicOpenCloseInteraction(Player player, int x, int y, int id)
static Dictionary< Point16, TileEntity > ByPosition
static object EntityCreationLock
static Tile GetTileSafely(Vector2 position)
static Asset< Texture2D > InventoryBack
static bool IsBreakable(int clickX, int clickY)
override bool IsTileValidForEntity(int x, int y)
static int Find(int x, int y)
static int Place(int x, int y)
override void ReadExtraData(BinaryReader reader, bool networkSend)
static int Hook_AfterPlacement(int x, int y, int type=475, int style=0, int direction=1, int alternate=0)
void WriteItem(int itemIndex, BinaryWriter writer, bool dye)
override void WriteExtraData(BinaryWriter writer, bool networkSend)
override void NetPlaceEntityAttempt(int x, int y)
static void Framing_CheckTile(int callX, int callY)
override bool OverrideItemSlotHover(Item[] inv, int context=0, int slot=0)
static void Kill(int x, int y)
override bool TryGetItemGamepadOverrideInstructions(Item[] inv, int context, int slot, out string instruction)
bool TryFitting(Item[] inv, int context=0, int slot=0, bool justCheck=false)
const int entityTileWidth
static bool FitsHatRack(Item item)
override TileEntity GenerateInstance()
override string GetItemGamepadInstructions(int slot=0)
static void OnPlayerInteraction(Player player, int clickX, int clickY)
void DrawInner(Player player, SpriteBatch spriteBatch)
override void OnPlayerUpdate(Player player)
const int entityTileHeight
void ReadItem(int itemIndex, BinaryReader reader, bool dye)
override string ToString()
override bool OverrideItemSlotLeftClick(Item[] inv, int context=0, int slot=0)
override void RegisterTileEntityID(int assignedID)
override void OnInventoryDraw(Player player, SpriteBatch spriteBatch)
void Draw(int tileLeftX, int tileTopY)
void DrawSlotPairSet(Player player, SpriteBatch spriteBatch, int slotsToShowLine, int slotsArrayOffset, float offsetX, float offsetY, int inventoryContextTarget)
void netDefaults(int type)
bool Prefix(int prefixWeWant)
static int NewItem(IEntitySource source, Vector2 pos, Vector2 randomBox, int Type, int Stack=1, bool noBroadcast=false, int prefixGiven=0, bool noGrabDelay=false, bool reverseLookup=false)
static LocalizedText[] misc
static IPlayerRenderer PlayerRenderer
static int cursorOverride
static float inventoryScale
static void SendData(int msgType, int remoteClient=-1, int ignoreClient=-1, NetworkText text=null, int number=0, float number2=0f, float number3=0f, float number4=0f, int number5=0, int number6=0, int number7=0)
static void SendTileSquare(int whoAmi, int tileX, int tileY, int xSize, int ySize, TileChangeType changeType=TileChangeType.None)
void ResetVisibleAccessories()
bool InInteractionRange(int interactX, int interactY, TileReachCheckSettings settings)
Vector2 fullRotationOrigin
PlayerInteractionAnchor tileEntityAnchor
static void FindRecipes(bool canDelayCheck=false)
static void Draw(SpriteBatch spriteBatch, ref Item inv, int context, Vector2 position, Color lightColor=default(Color))
static string GetGamepadInstructions(ref Item inv, int context=0)
static void Handle(ref Item inv, int context=0)
static bool FloatIntersect(float r1StartX, float r1StartY, float r1Width, float r1Height, float r2StartX, float r2StartY, float r2Width, float r2Height)
static bool destroyObject
static void KillTile(int i, int j, bool fail=false, bool effectOnly=false, bool noItem=false)
static bool SolidTileAllowBottomSlope(int i, int j)
static TileReachCheckSettings Simple
static GetItemSettings InventoryEntityToPlayerInventorySettings