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 tEDisplayDoll.Position =
new Point16(x, y);
74 return tEDisplayDoll.
ID;
85 return Place(x, y - 2);
88 public static void Kill(
int x,
int y)
100 public static int Find(
int x,
int y)
129 writer.Write(bitsByte);
130 writer.Write(bitsByte2);
131 for (
int i = 0; i < 8; i++)
136 writer.Write((
short)item.netID);
137 writer.Write(item.prefix);
138 writer.Write((
short)item.stack);
141 for (
int j = 0; j < 8; j++)
146 writer.Write((
short)item2.
netID);
147 writer.Write(item2.
prefix);
148 writer.Write((
short)item2.
stack);
157 for (
int i = 0; i < 8; i++)
168 for (
int j = 0; j < 8; j++)
195 num -= tileSafely.frameX / 18 % 2;
196 num2 -= tileSafely.frameY / 18 % 3;
198 for (
int i = num; i < num + 2; i++)
200 for (
int j = num2; j < num2 + 3; j++)
218 if (
Main.
tile[callX, callY].frameX / 72 != 1)
226 WorldGen.destroyObject =
true;
227 for (
int k = num; k < num + 2; k++)
229 for (
int l = num2; l < num2 + 3; l++)
237 WorldGen.destroyObject =
false;
240 public void Draw(
int tileLeftX,
int tileTopY)
243 for (
int i = 0; i < 8; i++)
248 dollPlayer.direction = -1;
249 dollPlayer.Male =
true;
251 if (tileSafely.
frameX % 72 == 36)
253 dollPlayer.direction = 1;
255 if (tileSafely.
frameX / 72 == 1)
257 dollPlayer.Male =
false;
259 dollPlayer.isDisplayDollOrInanimate =
true;
267 dollPlayer.position = position;
290 if (
Main.
tile[num, num2].frameX % 36 != 0)
294 num2 -=
Main.
tile[num, num2].frameY / 18;
295 int num3 =
Find(num, num2);
320 Item item = inv[slot];
321 if (item.IsAir || item.favorited)
368 Main.inventoryScale = 0.72f;
376 int num = inventoryContextTarget;
377 for (
int i = 0; i < slotsToShowLine; i++)
379 for (
int j = 0; j < 2; j++)
382 int num3 = (int)((
float)Main.instance.invBottom + ((float)j + offsetY) * 56f *
Main.
inventoryScale);
386 num = inventoryContextTarget;
395 player.mouseInterface =
true;
405 Item item = inv[slot];
408 Main.cursorOverride = 9;
411 if (!item.IsAir && (context == 23 || context == 24 || context == 25) &&
Main.
player[
Main.
myPlayer].ItemSpace(inv[slot]).CanTakeItemToPersonalInventory)
413 Main.cursorOverride = 8;
427 Item item = inv[slot];
454 if (item.maxStack > 1)
458 if (item.headSlot <= 0 && item.bodySlot <= 0 && item.legSlot <= 0)
460 return item.accessory;
465 private bool TryFitting(
Item[] inv,
int context = 0,
int slot = 0,
bool justCheck =
false)
467 Item item = inv[slot];
469 if (item.headSlot > 0)
473 if (item.bodySlot > 0)
477 if (item.legSlot > 0)
501 for (
int i = 3; i < 8; i++)
510 for (
int j = 3; j < 8; j++)
522 if (flag && num > -1)
541 item =
_dyes[itemIndex];
543 writer.Write((ushort)item.netID);
544 writer.Write((ushort)item.stack);
545 writer.Write(item.prefix);
552 int prefixWeWant = reader.
ReadByte();
556 item =
_dyes[itemIndex];
558 item.SetDefaults(defaults);
560 item.Prefix(prefixWeWant);
581 if (shirtFrame >= 0 && shirtFrame <
Item.
bodyType.Length)
585 if (legFrame >= 0 && legFrame <
Item.
legType.Length)
595 if (
Main.
tile[num, num2].frameX % 36 != 0)
599 num2 -=
Main.
tile[num, num2].frameY / 18;
600 int num3 =
Find(num, num2);
610 for (
int i = 0; i < 8; i++)
623 for (
int i = 0; i < items.Length; i++)
628 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 int PackShader(int localShaderIndex, ShaderConfiguration shaderType)
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
override void RegisterTileEntityID(int assignedID)
override bool OverrideItemSlotLeftClick(Item[] inv, int context=0, int slot=0)
bool TryFitting(Item[] inv, int context=0, int slot=0, bool justCheck=false)
void SetInventoryFromMannequin(int headFrame, int shirtFrame, int legFrame)
void Draw(int tileLeftX, int tileTopY)
static void Framing_CheckTile(int callX, int callY)
static void OnPlayerInteraction(Player player, int clickX, int clickY)
void ReadItem(int itemIndex, BinaryReader reader, bool dye)
const int entityTileHeight
override bool IsTileValidForEntity(int x, int y)
override bool OverrideItemSlotHover(Item[] inv, int context=0, int slot=0)
override bool TryGetItemGamepadOverrideInstructions(Item[] inv, int context, int slot, out string instruction)
override string ToString()
static bool IsBreakable(int clickX, int clickY)
override TileEntity GenerateInstance()
override void OnPlayerUpdate(Player player)
override void OnInventoryDraw(Player player, SpriteBatch spriteBatch)
static int Place(int x, int y)
static bool FitsDisplayDoll(Item item)
const int entityTileWidth
override void ReadExtraData(BinaryReader reader, bool networkSend)
override void NetPlaceEntityAttempt(int x, int y)
static int Hook_AfterPlacement(int x, int y, int type=470, int style=0, int direction=1, int alternate=0)
override string GetItemGamepadInstructions(int slot=0)
void DrawInner(Player player, SpriteBatch spriteBatch)
static int Find(int x, int y)
void DrawSlotPairSet(Player player, SpriteBatch spriteBatch, int slotsToShowLine, int slotsArrayOffset, float offsetX, float offsetY, int inventoryContextTarget)
void WriteItem(int itemIndex, BinaryWriter writer, bool dye)
static int accessoryTargetSlot
static void Kill(int x, int y)
override void WriteExtraData(BinaryWriter writer, bool networkSend)
void netDefaults(int type)
bool Prefix(int prefixWeWant)
void SetDefaults(int Type=0)
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()
void UpdateSocialShadow()
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 bool AccCheck(Item[] itemCollection, Item item, int slot)
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