public override void OnMouseDown(Game game_, MouseEventArgs args) { if (game.guistate != GuiState.Inventory) { return; } PointRef scaledMouse = PointRef.Create(args.GetX(), args.GetY()); //material selector if (SelectedMaterialSelectorSlot(scaledMouse) != null) { //int oldActiveMaterial = ActiveMaterial.ActiveMaterial; game.ActiveMaterial = SelectedMaterialSelectorSlot(scaledMouse).value; //if (oldActiveMaterial == ActiveMaterial.ActiveMaterial) { Packet_InventoryPosition p = new Packet_InventoryPosition(); p.Type = Packet_InventoryPositionTypeEnum.MaterialSelector; p.MaterialId = game.ActiveMaterial; controller.InventoryClick(p); } args.SetHandled(true); return; } if (game.guistate != GuiState.Inventory) { return; } //main inventory PointRef cellInPage = SelectedCell(scaledMouse); //grab from inventory if (cellInPage != null) { if (args.GetButton() == MouseButtonEnum.Left) { Packet_InventoryPosition p = new Packet_InventoryPosition(); p.Type = Packet_InventoryPositionTypeEnum.MainArea; p.AreaX = cellInPage.X; p.AreaY = cellInPage.Y + ScrollLine; controller.InventoryClick(p); args.SetHandled(true); return; } else { { Packet_InventoryPosition p = new Packet_InventoryPosition(); p.Type = Packet_InventoryPositionTypeEnum.MainArea; p.AreaX = cellInPage.X; p.AreaY = cellInPage.Y + ScrollLine; controller.InventoryClick(p); } { Packet_InventoryPosition p = new Packet_InventoryPosition(); p.Type = Packet_InventoryPositionTypeEnum.WearPlace; p.WearPlace = WearPlace_.RightHand; p.ActiveMaterial = game.ActiveMaterial; controller.InventoryClick(p); } { Packet_InventoryPosition p = new Packet_InventoryPosition(); p.Type = Packet_InventoryPositionTypeEnum.MainArea; p.AreaX = cellInPage.X; p.AreaY = cellInPage.Y + ScrollLine; controller.InventoryClick(p); } } if (game.guistate == GuiState.Inventory) { args.SetHandled(true); return; } } // //drop items on ground //if (scaledMouse.X < CellsStartX() && scaledMouse.Y < MaterialSelectorStartY()) //{ // int posx = game.SelectedBlockPositionX; // int posy = game.SelectedBlockPositionY; // int posz = game.SelectedBlockPositionZ; // Packet_InventoryPosition p = new Packet_InventoryPosition(); // { // p.Type = Packet_InventoryPositionTypeEnum.Ground; // p.GroundPositionX = posx; // p.GroundPositionY = posy; // p.GroundPositionZ = posz; // } // controller.InventoryClick(p); //} if (SelectedWearPlace(scaledMouse) != null) { Packet_InventoryPosition p = new Packet_InventoryPosition(); p.Type = Packet_InventoryPositionTypeEnum.WearPlace; p.WearPlace = (SelectedWearPlace(scaledMouse).value); p.ActiveMaterial = game.ActiveMaterial; controller.InventoryClick(p); args.SetHandled(true); return; } if (scaledMouse.X >= ScrollUpButtonX() && scaledMouse.X < ScrollUpButtonX() + ScrollButtonSize() && scaledMouse.Y >= ScrollUpButtonY() && scaledMouse.Y < ScrollUpButtonY() + ScrollButtonSize()) { ScrollUp(); ScrollingUpTimeMilliseconds = game.platform.TimeMillisecondsFromStart(); args.SetHandled(true); return; } if (scaledMouse.X >= ScrollDownButtonX() && scaledMouse.X < ScrollDownButtonX() + ScrollButtonSize() && scaledMouse.Y >= ScrollDownButtonY() && scaledMouse.Y < ScrollDownButtonY() + ScrollButtonSize()) { ScrollDown(); ScrollingDownTimeMilliseconds = game.platform.TimeMillisecondsFromStart(); args.SetHandled(true); return; } game.GuiStateBackToGame(); return; }
internal void MouseUp(MouseEventArgs args) { if (args.GetButton() == MouseButtonEnum.Left) { mouseLeft = false; } if (args.GetButton() == MouseButtonEnum.Middle) { mouseMiddle = false; } if (args.GetButton() == MouseButtonEnum.Right) { mouseRight = false; } if (args.GetButton() == MouseButtonEnum.Left) { mouseleftdeclick = true; } if (args.GetButton() == MouseButtonEnum.Right) { mouserightdeclick = true; } for (int i = 0; i < clientmodsCount; i++) { if (clientmods[i] == null) { continue; } clientmods[i].OnMouseUp(this, args); } }
internal void MouseDown(MouseEventArgs args) { if (args.GetButton() == MouseButtonEnum.Left) { mouseLeft = true; } if (args.GetButton() == MouseButtonEnum.Middle) { mouseMiddle = true; } if (args.GetButton() == MouseButtonEnum.Right) { mouseRight = true; } if (args.GetButton() == MouseButtonEnum.Left) { mouseleftclick = true; } if (args.GetButton() == MouseButtonEnum.Right) { mouserightclick = true; } for (int i = 0; i < clientmodsCount; i++) { if (clientmods[i] == null) { continue; } clientmods[i].OnMouseDown(this, args); } if (mousePointerLockShouldBe) { platform.RequestMousePointerLock(); mouseDeltaX = 0; mouseDeltaY = 0; } InvalidVersionAllow(); }