public bool PerformCanClick() { var canClick = true; OnCanClick(ref canClick); CanClick?.Invoke(this, ref canClick); return(canClick); }
public override void MouseDown(UIMouseEvent evt) { if (!Visible) { return; } _isClicking = true; if (CanClick?.Invoke() ?? true) { base.MouseDown(evt); } }
public override void MouseDown(UIMouseEvent evt) { Player player = Main.LocalPlayer; if (player.itemAnimation == 0 && player.itemTime == 0) { if (CanClick?.Invoke() ?? true) { Utils.Swap(ref item, ref Main.mouseItem); if (item.type == 0 || item.stack < 1) { item = new Item(); } if (Main.mouseItem.IsTheSameAs(item)) { Utils.Swap(ref item.favorited, ref Main.mouseItem.favorited); if (item.stack != item.maxStack && Main.mouseItem.stack != Main.mouseItem.maxStack) { if (Main.mouseItem.stack + item.stack <= Main.mouseItem.maxStack) { item.stack += Main.mouseItem.stack; Main.mouseItem.stack = 0; } else { int giveAmount = Main.mouseItem.maxStack - item.stack; item.stack += giveAmount; Main.mouseItem.stack -= giveAmount; } } } if (Main.mouseItem.type == 0 || Main.mouseItem.stack < 1) { Main.mouseItem = new Item(); } if (Main.mouseItem.type > 0 || item.type > 0) { Recipe.FindRecipes(); Main.PlaySound(SoundID.Grab); } base.MouseDown(evt); } } }