我使用
dnSpy在dnspy中打开Assembly-CSharp.dll文件。
文件位于Moonlighter/Moonlighter_Data/Managed
跳过启动画面过场动画
GameManager ->Start()
删除所有与_startSequenceMovie和SplashScreen相关的内容
主菜单面板->开始()
删除if语句中的所有内容。
MainMenuPanel->Update()
删除这个。OnAnyKeyPressed();
替换为:
this.PlayOpenAnimation();
this.StopPressKeyReminderAnimation();
MainMenuPanel.OnOpeningMainMenuDoorsDelegate onOpeningMainMenuDoorsEvent = MainMenuPanel.OnOpeningMainMenuDoorsEvent;
if (onOpeningMainMenuDoorsEvent != null)
{
onOpeningMainMenuDoorsEvent();
}
向光标指向处发起攻击:
添加光标:
职业 ->启用
添加:
Cursor.visible = true;
Cursor.lockState = CursorLockMode.Confined;
禁用光标:
职业->停用
Cursor.visible = disable;
主攻击 + 副攻击
HeroMerchantController ->Update()
替换为 this.inputDirection = this.ParseInputToDirection(this.inputDevice.LeftStick.X, this.inputDevice.LeftStick.Y);
与
if ( (Input.GetMouseButtonDown(0) || Input.GetMouseButtonDown(1)) && this.heroMerchant.currentMode == HeroMerchant.HeroMerchantMode.DungeonMode&& this.canAttack)
{
Vector2 finalPos = (Camera.main.ScreenToWorldPoint(Input.mousePosition) - base.transform.position).normalized * 10f;
this.inputDirection = this.UpdateDirection(finalPos.x, finalPos.y);
}
否则
{
this.inputDirection = this.ParseInputToDirection(this.inputDevice.LeftStick.X, this.inputDevice.LeftStick.Y);
}
HeroMerchantController-> UpdateDirection()
用以下内容替换整个部分:
float finX;
float finY;
if ((Input.GetMouseButtonDown(0) || Input.GetMouseButton(0) || Input.GetMouseButton(1) || Input.GetMouseButtonDown(1)) && this.heroMerchant.currentMode == HeroMerchant.HeroMerchantMode.DungeonMode&& this.canAttack)
{
Vector2 vector = (Camera.main.ScreenToWorldPoint(Input.mousePosition) - base.transform.position).normalized * 10f;
finX = vector.x;
finY = vector.y;
}
否则
{
finX = X;
finY = Y;
}
if (finX == 0f && finY == 0f)
{
返回this.heroDirection;
}
if (finX < 0f)
{
如果(finY < 0f)
{
if (Mathf.Abs(finX) > Mathf.Abs(finY))
{
this.SetDirection(HeroMerchantController.Direction.Left);
return HeroMerchantController.Direction.Left;
}
this.SetDirection(HeroMerchantController.Direction.Front);
return HeroMerchantController.Direction.Front;
}
否则
{
if (Mathf.Abs(finX) > Mathf.Abs(finY))
{
this.SetDirection(HeroMerchantController.Direction.Left);
返回HeroMerchantController.Direction.Left;
}
this.SetDirection(HeroMerchantController.Direction.Back);
返回HeroMerchantController.Direction.Back;
}
}
else if (finY < 0f)
{
if (Mathf.Abs(finX) > Mathf.Abs(finY))
{
this.SetDirection(HeroMerchantController.Direction.Right);
return HeroMerchantController.Direction.Right;
}
this.SetDirection(HeroMerchantController.Direction.Front);
返回英雄商人控制器.方向.前;
}
否则
{
if (Mathf.Abs(finX) > Mathf.Abs(finY))
{
this.SetDirection(HeroMerchantController.Direction.Right);
return HeroMerchantController.Direction.Right;
}
this.SetDirection(HeroMerchantController.Direction.Back);
返回HeroMerchantController.Direction.Back;
}
面向鼠标光标切换:
英雄商人控制器。
创建布尔值:FacingMouseCursorToggle
创建一个按钮开关:
public bool MouseCursorToggle()
{
if (Input.GetKeyDown("whichever Key"))
{
如果(this.FacingMouseCursorToggle)
{
this.FacingMouseCursorToggle = false;
}
否则
{
this.FacingMouseCursorToggle = true;
}
}
返回此.FacingMouseCursorToggle;
}
HeroMerchantController->更新()
找到ParseInputToDirection并替换为:
if ( ( this.MouseCursorToggle()) && this.heroMerchant.currentMode == HeroMerchant.HeroMerchantMode.DungeonMode)
{
Vector2 vector = (Camera.main.ScreenToWorldPoint(Input.mousePosition) - base.transform.position).normalized * 10f;
this.inputDirection = this.UpdateDirection(vector.x, vector.y);
}
否则
{
this.inputDirection = this.ParseInputToDirection(this.inputDevice.LeftStick.X, this.inputDevice.LeftStick.Y);
}
更快的字幕
按Ctrl+f查找OptionsManager.Get("GAME", "TextSpeed", 1);
LabelTextScroll->TextScroll()
提升速度。
DialogGUIWIthButton->显示对话框
this._speed
CitizenDialog->ShowDialog()
更改持续时间。
自动打字器->写入()
变更持续时间
装饰购买面板->详情()
变更持续时间
DecorativePanel ->显示升级数值()
变更时长
MultipleOptionsDialog -> ShowDialog
变更编号
NotebookPanel->DetaillItem
更改持续时间
TutorialDialog->ShowDialog
改变this._speed;
挂坠成本倍率
HeroMerchant->GetPendantCost()
返回你的号码;
纹章费用倍率
HeroMerchant ->GetEmblemCost()
返回你的号码;
提高地下城掉落率
物品掉落->掉落物品()
将此掉落概率乘以任何数值。
每次掉落最大掉落数
ItemDrop->DropItem()
将数字改为this.maxDropRate;
死亡时禁用掉落所有物品:
HeroMerchantInventory->DropAllNotSafeItem()
将所有代码替换为return;
DungeonResultsPanel->PlayAnimation()
在 this.SetWillResult(); 之后,添加 this._willDied = false;
城镇公告板投资成本倍数
TownBoardStaffPanel->GetCostOfSelectedEntry()
将返回值与任意值相乘。
城镇公告板商店费用倍率
TownBoardShopPanel->GetCost()
将返回值乘以任意值。
铁匠铺/药水配方费用倍率:
配方->获取总成本()
乘以任意数值。
附魔费用倍率
附魔配方 -> 初始化
插入:
this.labourCost = (int)((float)this.labourCost * 任意成本);
对手成本倍数
RivalPanel->GetCurrentPrice()
将num乘以任何值。
小贩成本倍率
HawkerPanel-> OnAButtonPressed,ItemSelector_OnSelectedSlotChange,OnAcceptCraft
int num = 改为任意数值。
设置道具流行度
ItemPriceManager->设置流行度
物品价格管理器->获取热门度
两者都添加:
itemPriceInfo.popularity = ItemPriceInfo.Popularity.中性;
返回itemPriceInfo.popularity;
更改最大堆叠数:
物品堆叠->最大堆叠
将返回数字改为任意值。
DLC 女巫倍率
Moonlighter.DLC.Shop ->设置面板信息/顾客数量更新时/显示购买确认对话框/接受制作时
设置 劳动金币/史莱姆
DLC讨价还价倍数
月族商人之旅:流浪者地牢→城镇→讨价还价者→计算最终金币价格
将返回的num4改为任意值;
DLC工人倍率
月光族DLC·流浪者地牢·城镇->工人->计算最终金币价格
将返回数字4更改为任意值;
DLC讨价还价费用倍率
启用议价
将 itemForVisitorQuantity、mimimumMod、insultMod、inititalClamp、minRandomClamp、maxRandomClamp 按任意值相乘。
DLC蓝图史莱姆费用倍率:
Moonlighter.DLC.WandererDungeon->WandererShopperPanel->ItemSelector_OnSelectedItemChange() & OnAcceptCraft()
将wandererBlueprintItemMaster.slimeCost改为任意值
DLC TrickWeapon 史莱姆消耗倍率:
月光行者DLC·流浪者地牢->流浪者商店面板->获取当前楼层费用
返回任意整数;
面板:
通过将其加入白名单来获取鼠标点击注册:
GuiManager ->OnINControlInputProccessed()
bool wasReleased <- 添加 Input.GetMouseDown(0) 和 Input.GetMouseDown(1)
添加此项可让选择器始终从右侧开始,从而激活菜单右侧:
宝箱/展示柜/英雄/促销箱 物品栏面板->启用()
在 base.Enable() 之后
this.firstSelectedGameObject = this.xSlot[0].gameObject;
英雄装备面板
HeroInventoryPanel - 添加重写布尔方法 OnAButtonReleased()
public override bool OnAButtonReleased()
{
if (base.OnAButtonReleased())
{
if (InventoryPanel.currentSelectedSlot != null && InventoryPanel.currentSelectedSlot.GetComponent<EquipmentInventorySlotGUI>() != null)
{
List<EquipmentInventorySlotGUI> list = this.weaponSlot;
list.Add(this.amulet1Slot);
list.Add(this.amulet2Slot);
list.Add(this.bodySlot);
list.Add(this.bootsSlot);
list.Add(this.headSlot);
list.Add(this.potionSlot);
EquipmentInventorySlotGUI slot = InventoryPanel.currentSelectedSlot.GetComponent<EquipmentInventorySlotGUI>();
float num = float.MaxValue;
Vector3 鼠标位置 = 输入.鼠标位置;
float distance = Mathf.Abs(this.bodySlot.transform.position.x - this.potionSlot.transform.position.x) / 2f;
如果((Input.GetMouseButtonDown(0) || Input.GetMouseButtonDown(1)) && mousePosition.x > this.headSlot.transform.position.x - distance)
{
for (int i = 0; i < list.Count; i++)
{
float sqrMagnitude = (list[i].transform.position - mousePosition).sqrMagnitude;
if (sqrMagnitude < num)
{
num = sqrMagnitude;
slot = list[i];
}
}
if (!InventorySlotGUI.isAutoConsuming && InventorySlotGUI.swapItem)
{
InventorySlotGUI.PickOrSwap(slot);
}
else if (Input.GetMouseButtonDown(0))
{
InventorySlotGUI.PickItem(slot, false);
}
else if (Input.GetMouseButtonDown(1))
{
InventorySlotGUI.PickItem(slot, true);
}
}
}
return true;
}
返回 false;
}
销售箱面板
SalesBoxInventoryPanel - 添加覆盖布尔方法 OnAButtonReleased()
public override bool OnAButtonReleased()
{
if (base.OnAButtonReleased())
{
if (InventoryPanel.currentSelectedSlot != null && InventoryPanel.currentSelectedSlot.GetComponent<ChestSlotGUI>() != null)
{
List<ChestSlotGUI> list = this.chestSlots;
ChestSlotGUI slot = InventoryPanel.currentSelectedSlot.GetComponent<ChestSlotGUI>();
float num = float.MaxValue;
Vector3 mousePosition = Input.mousePosition;
float distance = Mathf.Abs(this.chestSlots[1].transform.position.x - this.chestSlots[0].transform.position.x) / 2f;
如果((输入.获取鼠标按键按下(0)或输入.获取鼠标按键按下(1))且鼠标位置.x大于此.箱子格子[0].变换.位置.x - 距离)
{
for (int i = 0; i < list.Count; i++)
{
float sqrMagnitude = (list[i].transform.position - mousePosition).sqrMagnitude;
if (sqrMagnitude < num)
{
num = sqrMagnitude;
slot = list[i];
}
}
if (!InventorySlotGUI.isAutoConsuming && InventorySlotGUI.swapItem)
{
InventorySlotGUI.PickOrSwap(slot);
}
else if (Input.GetMouseButtonDown(0))
{
InventorySlotGUI.PickItem(slot, false);
}
else if (Input.GetMouseButtonDown(1))
{
InventorySlotGUI.PickItem(slot, true);
}
}
}
return true;
}
返回假;
}
展示面板
ShowcaseInventoryPanel - 添加覆盖布尔方法 OnAButtonReleased()
public override bool OnAButtonReleased()
{
if (base.OnAButtonReleased())
{
if (InventoryPanel.currentSelectedSlot != null && InventoryPanel.currentSelectedSlot.GetComponent<ShowcaseSlotGUI>() != null)
{
List<ShowcaseSlotGUI> list = this.showcaseSlots;
ShowcaseSlotGUI slot = InventoryPanel.currentSelectedSlot.GetComponent<ShowcaseSlotGUI>();
float num = float.MaxValue;
Vector3 mousePosition = Input.mousePosition;
float distance = 0f;
if (this.showcaseSlots.Count > 1)
{
distance = Mathf.Abs(this.showcaseSlots[0].transform.position.x - this.showcaseSlots[1].transform.position.x) / 3f;
}
如果(按下鼠标左键或右键)且鼠标位置X大于展示槽0的变换位置X减去间距
{
for (int i = 0; i < list.Count; i++)
{
float sqrMagnitude = (list[i].transform.position - mousePosition).sqrMagnitude;
如果 (sqrMagnitude < num)
{
num = sqrMagnitude;
slot = list[i];
}
}
if (!InventorySlotGUI.isAutoConsuming && InventorySlotGUI.swapItem)
{
InventorySlotGUI.PickOrSwap(slot);
}
否则如果(输入.获取鼠标按钮按下(0))
{
InventorySlotGUI.PickItem(slot, false);
}
else if (Input.GetMouseButtonDown(1))
{
InventorySlotGUI.PickItem(slot, true);
}
}
}
return true;
}
return false;
}
宝箱面板
ChestInventoryPanel - 添加覆写布尔方法 OnAButtonReleased()
public override bool OnAButtonReleased()
{
if (base.OnAButtonReleased())
{
如果(InventoryPanel.currentSelectedSlot != null 且 InventoryPanel.currentSelectedSlot.GetComponent<ChestSlotGUI>() != null 且(输入.获取鼠标按键按下(0)|| 输入.获取鼠标按键按下(1)))
{
List<ChestSlotGUI> list = this.chestSlots;
ChestSlotGUI slot = InventoryPanel.currentSelectedSlot.GetComponent<ChestSlotGUI>();
float num = float.MaxValue;
Vector3 mousePosition = Input.mousePosition;
float distance = (list[1].transform.position.x - list[0].transform.position.x) / 2f;
if (mousePosition.x > list[0].transform.position.x - distance && mousePosition.y < list[0].transform.position.y + distance)
{
if (mousePosition.y > list[21].transform.position.y - distance)
{
for (int i = 0; i < list.Count; i++)
{
float sqrMagnitude = (list[i].transform.position - mousePosition).sqrMagnitude;
if (sqrMagnitude < num)
{
num = sqrMagnitude;
slot = list[i];
}
}
if (!InventorySlotGUI.isAutoConsuming && InventorySlotGUI.swapItem)
{
InventorySlotGUI.PickOrSwap(slot);
}
else if (Input.GetMouseButtonDown(0))
{
InventorySlotGUI.PickItem(slot, false);
}
else if (Input.GetMouseButtonDown(1))
{
InventorySlotGUI.PickItem(slot, true);
}
}
否则如果(鼠标位置.x < 列表[24].变换.位置.x - 距离)
{
int chestSum = this.currentOppenedChest.Size - 28;
如果(this.offset + 28 <= chestSum)
{
this.offset += 28;
this.SetChestSlots(this.currentOppenedChest, this.offset);
}
}
else if (mousePosition.x > list[24].transform.position.x + distance && this.offset >= 28)
{
this.offset -= 28;
this.SetChestSlots(this.currentOppenedChest, this.offset);
}
}
}
返回真;
}
返回假;
}
物品栏面板
InventoryPanel ->OnAButtonReleased()
加入:
if (InventoryPanel.currentSelectedSlot != null && InventoryPanel.currentSelectedSlot.GetComponent<InventorySlotGUI>() != null)
{
List<InventorySlotGUI> list = this.slots;
float num = (list[1].transform.position.x - list[0].transform.position.x) / 2f;
InventorySlotGUI inventorySlotGUI = InventoryPanel.currentSelectedSlot.GetComponent<InventorySlotGUI>();
float num2 = float.MaxValue;
Vector3 mousePosition = Input.mousePosition;
如果((Input.GetMouseButtonDown(0) || Input.GetMouseButtonDown(1)) && mousePosition.x < list[4].transform.position.x + num)
{
if (mousePosition.y < list[0].transform.position.y + num && mousePosition.y > list[list.Count - 1].transform.position.y - num)
{
for (int i = 0; i < list.Count; i++)
{
float sqrMagnitude = (list[i].transform.position - mousePosition).sqrMagnitude;
if (sqrMagnitude < num2)
{
num2 = sqrMagnitude;
inventorySlotGUI = list[i];
}
}
UtilityInventorySlot utilityInventorySlot = inventorySlotGUI as UtilityInventorySlot;
if (utilityInventorySlot && utilityInventorySlot.canPick && !InventorySlotGUI.isAutoConsuming)
{
UtilityItem utility = utilityInventorySlot.utility;
if (utility != UtilityItem.Mirror)
{
if (utility - UtilityItem.Pendant <= 1)
{
utilityInventorySlot.UseUtilityItem();
}
}
否则如果(utilityInventorySlot.canPick)
{
InventorySlotGUI.StartAutoConsuming(inventorySlotGUI);
}
}
else if (!InventorySlotGUI.isAutoConsuming && InventorySlotGUI.swapItem)
{
InventorySlotGUI.PickOrSwap(inventorySlotGUI);
}
否则如果(输入.获取鼠标按下(0))
{
InventorySlotGUI.PickItem(inventorySlotGUI, false);
}
else if (Input.GetMouseButtonDown(1))
{
InventorySlotGUI.PickItem(inventorySlotGUI, true);
}
}
else if (mousePosition.y < list[list.Count - 1].transform.position.y - num)
{
List<UtilityInventorySlot> listU = this.utilitySlots;
UtilityInventorySlot whichOne = listU[0];
float num3 = float.MaxValue;
for (int j = 0; j < listU.Count; j++)
{
float sqrMagnitude2 = (listU[j].transform.position - mousePosition).sqrMagnitude;
if (sqrMagnitude2 < num3)
{
num3 = sqrMagnitude2;
whichOne = listU[j];
}
}
if (whichOne && whichOne.canPick && !InventorySlotGUI.isAutoConsuming)
{
if (whichOne.utility != UtilityItem.Mirror)
{
if (whichOne.utility - UtilityItem.Pendant <= 1)
{
whichOne.UseUtilityItem();
}
}
else if (whichOne.canPick)
{
whichOne.GetComponent<Selectable>().Select();
}
}
}
}
否则如果(!(输入.获取鼠标按键按下(0) && !(输入.获取鼠标按键按下(1))
{
在OG代码中复制/粘贴。
}
主菜单:
主菜单面板 -> 更新() 添加
List<GameObject> list = this.mainMenuButtons;
Vector3 mousePosition = Input.mousePosition;
float distance = Mathf.Abs(list[0].transform.position.y - list[1].transform.position.y) / 2f;
if (Input.GetMouseButtonDown(0) && this._open && !this._lastSelectableWhenLostFocus && mousePosition.y < list[0].transform.position.y + distance)
{
List<GameObject> list = this.mainMenuButtons;
GameObject whichButton = this.mainMenuButtons[0];
float num = float.MaxValue;
Vector3 mousePosition = Input.mousePosition;
for (int i = 0; i < list.Count; i++)
{
float sqrMagnitude = (list[i].transform.position - mousePosition).sqrMagnitude;
if (sqrMagnitude < num)
{
num = sqrMagnitude;
whichButton = list[i];
}
}
whichButton.GetComponent<Selectable>().Select();
EventSystem currentEventSystem = EventSystem.current;
if (currentEventSystem)
{
按钮 button;
if (currentEventSystem.currentSelectedGameObject.TryGetComponent<Button>(out button))
{
DOVirtual.DelayedCall(0.1f, delegate
{
button.OnSubmit(new BaseEventData(currentEventSystem));
}, true);
}
}
}
选项标签页面板:
OptionPanel -> Update() 添加:
Vector3 mousePosition = Input.mousePosition;
float distance = (this.tabs[1].transform.position.x - this.tabs[0].transform.position.x) / 5f;
if (Input.GetMouseButtonDown(0) && this.isFocused && mousePosition.y >= this.tabs[0].transform.position.y - distance)
{
List<RectTransform> 列表 = 此选项卡列表;
float num = float.MaxValue;
int ogTab = this._tab;
for (int i = 0; i < list.Count; i++)
{
float sqrMagnitude = (list[i].transform.position - mousePosition).sqrMagnitude;
if (sqrMagnitude < num)
{
num = sqrMagnitude;
this._tab = i;
}
}
如果(ogTab > this._tab)
{
int difference = ogTab - this._tab;
this.tabContents[ogTab].Deselect();
this._lbCanvas.DOKill(false);
this._rbCanvas.DOKill(false);
this._lbCanvas.DOFade(0f, this.animationStepDuration * 0.5f).SetUpdate(true);
this._rbCanvas.DOFade(0f, this.animationStepDuration * 0.5f).SetUpdate(true);
ogTab -= difference;
while (!this.tabs[ogTab].gameObject.activeInHierarchy)
{
ogTab -= difference;
}
如果(this._tab > 0)
{
this._lbCanvas.DOFade(1f, this.animationStepDuration * 0.5f).SetDelay(this.animationStepDuration).SetUpdate(true);
}
this._rbCanvas.DOFade(1f, this.animationStepDuration * 0.5f).SetDelay(this.animationStepDuration).SetUpdate(true);
this.rectLine.DOAnchorPosX(this.tabs[this._tab].anchoredPosition.x - 0f, this.animationStepDuration, false).SetEase(this.lineAnimationCurve).SetUpdate(true);
this.tabContents[this._tab].Select(this.animationStepDuration);
返回;
}
if (ogTab < this._tab)
{
int difference2 = this._tab - ogTab;
this.tabContents[ogTab].Deselect();
this._lbCanvas.DOKill(false);
this._rbCanvas.DOKill(false);
this._lbCanvas.DOFade(0f, this.animationStepDuration * 0.5f).SetUpdate(true);
this._rbCanvas.DOFade(0f, this.animationStepDuration * 0.5f).SetUpdate(true);
ogTab += difference2;
while (!this.tabs[ogTab].gameObject.activeInHierarchy)
{
ogTab += difference2;
}
this._lbCanvas.DOFade(1f, this.animationStepDuration * 0.5f).SetDelay(this.animationStepDuration).SetUpdate(true);
if (this._tab < this.tabs.Count - 1)
{
this._rbCanvas.DOFade(1f, this.animationStepDuration * 0.5f).SetDelay(this.animationStepDuration).SetUpdate(true);
}
this.rectLine.DOAnchorPosX(this.tabs[this._tab].anchoredPosition.x - 0f, this.animationStepDuration, false).SetEase(this.lineAnimationCurve).SetUpdate(true);
this.tabContents[this._tab].Select(this.animationStepDuration);
}
}
笔记本面板
记事本面板 - 添加重写布尔方法 OnAButtonReleased()
public override bool OnAButtonReleased()
{
if (Input.GetMouseButtonDown(0))
{
float num = (this.notebookSlots[0].transform.position.y - this.notebookSlots[1].transform.position.y) / 2f;
Vector3 mousePosition = Input.mousePosition;
if (mousePosition.y > this.notebookTabs[0].transform.position.y)
{
int num2 = 0;
float num3 = float.MaxValue;
int num4 = this.tabIndex;
List<NotebookTabHandler> list = this.notebookTabs;
for (int i = 0; i < list.Count; i++)
{
float sqrMagnitude = (list[i].transform.position - mousePosition).sqrMagnitude;
if (sqrMagnitude < num3)
{
num3 = sqrMagnitude;
num2 = i;
}
}
if (num4 != num2)
{
this.RefreshTabSelection(num2 - num4);
}
}
if (mousePosition.x > this.notebookSlots[0].transform.position.x + num * 4f && mousePosition.x < this.notebookSlots[0].transform.position.x + num * 6f)
{
if (mousePosition.y > this.notebookSlots[1].transform.position.y + num && mousePosition.y < this.notebookSlots[0].transform.position.y + num)
{
this.MovePageUp();
}
else if (mousePosition.y < this.notebookSlots[3].transform.position.y - num && mousePosition.y > this.notebookSlots[4].transform.position.y - num)
{
this.MovePageDown();
}
}
else if (mousePosition.x < this.notebookSlots[0].transform.position.x + num)
{
if (mousePosition.y > this.notebookSlots[0].transform.position.y + num)
{
EventSystem.current.SetSelectedGameObject(this.gameObjectFilter);
return true;
}
float num5 = float.MaxValue;
NotebookSlotGUI notebookSlotGUI = this.notebookSlots[0];
List<NotebookSlotGUI> list2 = this.notebookSlots;
for (int j = 0; j < list2.Count; j++)
{
float sqrMagnitude2 = (list2[j].transform.position - mousePosition).sqrMagnitude;
if (sqrMagnitude2 < num5)
{
num5 = sqrMagnitude2;
notebookSlotGUI = list2[j];
}
}
EventSystem.current.SetSelectedGameObject(notebookSlotGUI.gameObject);
}
return true;
}
返回假;
}
日历面板
CalendarPanel - 添加覆盖布尔方法 OnAButtonReleased()
public override bool OnAButtonReleased()
{
float num = (this.monthPanel.days[1].transform.position.x - this.monthPanel.days[0].transform.position.x) / 2f;
Vector3 mousePosition = Input.mousePosition;
List<DayInventorySlotGUI> days = this.monthPanel.days;
if (Input.GetMouseButtonDown(0))
{
if (mousePosition.y < days[0].transform.position.y + num && mousePosition.x < days[6].transform.position.x + num)
{
DayInventorySlotGUI dayInventorySlotGUI = this.monthPanel.days[0];
float num2 = float.MaxValue;
for (int i = 0; i < days.Count; i++)
{
float sqrMagnitude = (days[i].transform.position - mousePosition).sqrMagnitude;
if (sqrMagnitude < num2)
{
num2 = sqrMagnitude;
dayInventorySlotGUI = days[i];
}
}
dayInventorySlotGUI.GetComponent<Selectable>().Select();
this.dayInfoPanel.Init(dayInventorySlotGUI);
}
否则如果(鼠标位置.y > 天数[0].变换位置.y + 数字 且 鼠标位置.x < 天数[0].变换位置.x - 数字)
{
this.ShowPreviousMonth();
}
否则如果(鼠标位置.y > 天数[0].变换位置.y + 数值 且 鼠标位置.x > 天数[6].变换位置.x + 数值)
{
this.ShowNextMonth();
}
return true;
}
返回假;
}
愿望单面板:
WishlistPanel - 添加覆盖布尔方法 OnAButtonReleased()
public override bool OnAButtonReleased()
{
if (Input.GetMouseButtonDown(0))
{
float num = (this.wishlistSlots[0].transform.position.y - this.wishlistSlots[1].transform.position.y) / 2f;
Vector3 mousePosition = Input.mousePosition;
如果(鼠标位置.x > 此.wishlistSlots[0].transform.position.x + num * 4f 且 鼠标位置.x < 此.wishlistSlots[0].transform.position.x + num * 6f)
{
if (mousePosition.y > this.wishlistSlots[1].transform.position.y + num && mousePosition.y < this.wishlistSlots[0].transform.position.y + num)
{
this.MovePageUp();
}
否则如果(鼠标位置Y小于此心愿单槽位[3]的变换位置Y减去数值,且鼠标位置Y大于此心愿单槽位[4]的变换位置Y减去数值)
{
this.MovePageDown();
}
}
else if (mousePosition.x < this.wishlistSlots[0].transform.position.x + num)
{
float num2 = float.MaxValue;
NotebookSlotGUI notebookSlotGUI = this.wishlistSlots[0];
List<NotebookSlotGUI> list = this.wishlistSlots;
for (int i = 0; i < list.Count; i++)
{
float sqrMagnitude = (list[i].transform.position - mousePosition).sqrMagnitude;
if (sqrMagnitude < num2)
{
num2 = sqrMagnitude;
notebookSlotGUI = list[i];
}
}
EventSystem.current.SetSelectedGameObject(notebookSlotGUI.gameObject);
}
return true;
}
返回假;
}
暂停菜单
暂停面板 - 添加重写布尔方法 OnAButtonReleased()
public override bool OnAButtonReleased()
{
if (base.OnAButtonReleased() && Input.GetMouseButtonDown(0))
{
List<Button> list = this.buttons;
Button whichSlot = list[0];
float num = float.MaxValue;
Vector3 mousePosition = Input.mousePosition;
float distance = Mathf.Abs(list[0].transform.position.y - list[1].transform.position.y) / 2f;
if (mousePosition.y < list[0].transform.position.y + distance)
{
for (int i = 0; i < list.Count; i++)
{
float sqrMagnitude = (list[i].transform.position - mousePosition).sqrMagnitude;
如果(平方距离 < 数值)
{
num = sqrMagnitude;
whichSlot = list[i];
}
}
whichSlot.GetComponent<Selectable>().Select();
EventSystem currentEventSystem = EventSystem.current;
if (currentEventSystem)
{
按钮 按钮;
if (currentEventSystem.currentSelectedGameObject.TryGetComponent<Button>(out button))
{
DOVirtual.DelayedCall(0.1f, delegate
{
button.OnSubmit(新增BaseEventData(currentEventSystem));
}, true);
}
}
}
return true;
}
返回假;
}
铁匠铺面板
BlackSmithPanel - 添加覆盖布尔方法 OnAButtonReleased()
public override bool OnAButtonReleased()
{
List<InventorySlotGUI> slots = this.itemSelector.slots;
slots.Add(this.itemSelector.upNonFamilySlot);
slots.Add(this.itemSelector.downNonFamilySlot);
int v = 0;
float num = Mathf.Abs(slots[2].transform.position.x - slots[1].transform.position.x) / 2f;
float num2 = float.MaxValue;
Vector3 mousePosition = Input.mousePosition;
if (Input.GetMouseButtonDown(0) && !this._crafting && !this._shoperConfirmationPanel.IsActive() && !this._isAdvising)
{
if (mousePosition.y < slots[2].transform.position.y + num * 2.1f && mousePosition.x > slots[0].transform.position.x)
{
for (int i = 0; i < slots.Count; i++)
{
float x = mousePosition.x - num;
float y = mousePosition.y - num * 0.1f;
if (this.itemSelector.IsSpecialPage())
{
x = mousePosition.x - num;
y = mousePosition.y;
}
Vector3 b = new Vector3(x, y);
float sqrMagnitude = (slots[i].transform.position - b).sqrMagnitude;
if (sqrMagnitude < num2)
{
num2 = sqrMagnitude;
v = i;
}
}
if (this.itemSelector.IsSpecialPage() && v == slots.Count - 1)
{
this.itemSelector.SelectSlot(-1);
}
否则如果(this.itemSelector.IsSpecialPage() && v == slots.Count - 2)
{
this.itemSelector.SelectSlot(-2);
}
否则
{
this.itemSelector.SelectSlot(v);
}
}
else if (mousePosition.y < slots[2].transform.position.y + num * 2f && mousePosition.y > slots[2].transform.position.y - num && mousePosition.x < slots[0].transform.position.x - num)
{
this.itemSelector.MovePageUp();
}
else if (mousePosition.y < slots[2].transform.position.y + num * 2f && mousePosition.y < slots[2].transform.position.y - num && mousePosition.x < slots[0].transform.position.x - num)
{
this.itemSelector.MovePageDown();
}
否则如果(鼠标位置.y > 插槽[2].变换.位置.y + 数字 * 2f)
{
if (mousePosition.x > slots[0].transform.position.x && mousePosition.x < slots[0].transform.position.x + num * 1.5f)
{
this.itemSelector.SelectTab(0);
}
else if (mousePosition.x > slots[0].transform.position.x + num * 1.5f && mousePosition.x < slots[0].transform.position.x + num * 3.1f)
{
this.itemSelector.SelectTab(1);
}
否则如果(鼠标位置.x 大于 槽位[0].变换.位置.x + 数量 * 3.1f 且 鼠标位置.x 小于 槽位[0].变换.位置.x + 数量 * 4.7f)
{
this.itemSelector.SelectTab(2);
}
否则如果(鼠标位置.x > 槽位[0].变换.位置.x + 数字 * 4.7f 且 鼠标位置.x < 槽位[0].变换.位置.x + 数字 * 6.3f)
{
this.itemSelector.SelectTab(3);
}
else if (mousePosition.x > slots[0].transform.position.x + num * 6.3f && mousePosition.x < slots[0].transform.position.x + num * 7.9f)
{
this.itemSelector.SelectTab(4);
}
否则如果(鼠标位置.x 大于 槽位[0].变换.位置.x + 数字 * 7.9f 且 鼠标位置.x 小于 槽位[0].变换.位置.x + 数字 * 9.5f)
{
this.itemSelector.SelectTab(5);
}
}
return true;
}
返回 假;
}
女巫面板 药水与附魔
WitchPanel - 添加覆写布尔方法 OnAButtonReleased()
public override bool OnAButtonReleased()
{
if (Input.GetMouseButtonDown(0))
{
if (this._inPotionsPanel)
{
this.panelWitchPotions.OnAButtonPressed();
}
否则
{
this.panelWitchEnchantments.OnAButtonPressed();
}
return true;
}
return false;
}
魔药炼制面板
添加到:WitchPanel.OnAButtonPressed()
List<InventorySlotGUI> 列表 = this.itemSelector.slots;
int whichSlot = 0;
float distance = Mathf.Abs(list[0].transform.position.x - list[1].transform.position.x) / 2f;
float tum = float.MaxValue;
Vector3 mousePosition = Input.mousePosition;
if (Input.GetMouseButtonDown(0) && !this._crafting && !this.isConfirmationOpen && !this.isQuantityOpen)
{
if (mousePosition.y < list[0].transform.position.y + distance * 2f && mousePosition.x > list[0].transform.position.x - distance)
{
for (int i = 0; i < list.Count; i++)
{
float sqrMagnitude = (list[i].transform.position - mousePosition).sqrMagnitude;
if (sqrMagnitude < tum)
{
tum = sqrMagnitude;
whichSlot = i;
}
}
this.itemSelector.SelectSlot(whichSlot);
返回;
}
if (mousePosition.y < list[0].transform.position.y + distance * 2f && mousePosition.y > list[0].transform.position.y - distance && mousePosition.x < list[0].transform.position.x - distance)
{
this.itemSelector.DragPageUp();
返回;
}
如果(鼠标位置.y < 列表[0].变换.位置.y + 距离 * 2f 且 鼠标位置.y < 列表[0].变换.位置.y - 距离 且 鼠标位置.x < 列表[0].变换.位置.x - 距离)
{
this.itemSelector.DragPageDown();
}
return;
}
女巫附魔面板
添加到女巫药水面板 -> 按下A按钮时()
List<InventorySlotGUI> slots = this.itemSelector.slots;
int v = 0;
float num = Mathf.Abs(slots[0].transform.position.x - slots[1].transform.position.x) / 2f;
float num2 = float.MaxValue;
Vector3 mousePosition = Input.mousePosition;
if (Input.GetMouseButtonDown(0) && !this._enchanting && !this._shoperConfirmationPanel.IsActive())
{
if (mousePosition.y < slots[0].transform.position.y + num && mousePosition.x > slots[0].transform.position.x - num)
{
for (int i = 0; i < slots.Count; i++)
{
float sqrMagnitude = (slots[i].transform.position - mousePosition).sqrMagnitude;
if (sqrMagnitude < num2)
{
num2 = sqrMagnitude;
v = i;
}
}
this.itemSelector.SelectSlot(v);
返回;
}
如果(鼠标位置Y < 槽位[0].变换位置.Y + 数值 * 2f 且 鼠标位置Y > 槽位[0].变换位置.Y - 数值 且 鼠标位置X < 槽位[0].变换位置.X - 数值)
{
this.itemSelector.DragPageUp();
返回;
}
if (mousePosition.y < slots[0].transform.position.y + num * 2f && mousePosition.y < slots[0].transform.position.y - num && mousePosition.x < slots[0].transform.position.x - num)
{
this.itemSelector.DragPageDown();
返回;
}
如果 (mousePosition.y > slots[0].transform.position.y + num * 2.5f)
{
如果(鼠标位置.x > 槽位[0].变换.位置.x - 数值 * 3f && 鼠标位置.x < 槽位[0].变换.位置.x - 数值 * 1.6f)
{
this.itemSelector.SelectTab(0);
return;
}
if (mousePosition.x > slots[0].transform.position.x - num * 1.6f && mousePosition.x < slots[0].transform.position.x + num * 0.8f)
{
this.itemSelector.SelectTab(1);
返回;
}
if (mousePosition.x > slots[0].transform.position.x + num * 0.8f && mousePosition.x < slots[0].transform.position.x + num * 2.4f)
{
this.itemSelector.SelectTab(2);
return;
}
if (mousePosition.x > slots[0].transform.position.x + num * 2.4f && mousePosition.x < slots[0].transform.position.x + num * 4f)
{
this.itemSelector.SelectTab(3);
返回;
}
if (mousePosition.x > slots[0].transform.position.x + num * 4f && mousePosition.x < slots[0].transform.position.x + num * 5.6f)
{
this.itemSelector.SelectTab(4);
返回;
}
if (mousePosition.x > slots[0].transform.position.x + num * 5.6f && mousePosition.x < slots[0].transform.position.x + num * 7.2f)
{
this.itemSelector.SelectTab(5);
返回;
}
}
返回;
}
对手面板
对手面板:- 添加重写布尔方法 OnAButtonReleased()
public override bool OnAButtonReleased()
{
List<InventorySlotGUI> slots = this.itemSelector.slots;
int v = 0;
float num = Mathf.Abs(slots[0].transform.position.x - slots[1].transform.position.x) / 2f;
float num2 = float.MaxValue;
Vector3 mousePosition = Input.mousePosition;
if (Input.GetMouseButtonDown(0) && !this._shoperConfirmationPanel.IsActive())
{
if (mousePosition.y < slots[0].transform.position.y + num && mousePosition.x > slots[0].transform.position.x - num)
{
for (int i = 0; i < slots.Count; i++)
{
float sqrMagnitude = (slots[i].transform.position - mousePosition).sqrMagnitude;
如果(sqrMagnitude < num2)
{
num2 = sqrMagnitude;
v = i;
}
}
this.itemSelector.SelectSlot(v);
}
else if (mousePosition.y < slots[0].transform.position.y + num * 2.1f && mousePosition.y > slots[0].transform.position.y && mousePosition.x < slots[0].transform.position.x - num * 1.5f && mousePosition.x > slots[0].transform.position.x - num * 2.5f)
{
this.itemSelector.DragPageUp();
}
else if (mousePosition.y < slots[0].transform.position.y + num * 2.1f && mousePosition.y < slots[0].transform.position.y - num && mousePosition.x < slots[0].transform.position.x - num * 1.5f && mousePosition.x > slots[0].transform.position.x - num * 2.5f)
{
this.itemSelector.DragPageDown();
}
else if (mousePosition.y > slots[0].transform.position.y + num * 2.5f)
{
if (mousePosition.x > slots[0].transform.position.x - num * 3f && mousePosition.x < slots[0].transform.position.x - num * 1.6f)
{
this.itemSelector.SelectTab(0);
}
否则如果(鼠标位置.x > 槽位[0].变换.位置.x - 数值 * 1.6f 且 鼠标位置.x < 槽位[0].变换.位置.x + 数值 * 0.8f)
{
this.itemSelector.SelectTab(1);
}
否则如果(鼠标位置.x > 槽位[0].变换.位置.x + 数字 * 0.8f 且 鼠标位置.x < 槽位[0].变换.位置.x + 数字 * 2.4f)
{
this.itemSelector.SelectTab(2);
}
else if (mousePosition.x > slots[0].transform.position.x + num * 2.4f && mousePosition.x < slots[0].transform.position.x + num * 4f)
{
this.itemSelector.SelectTab(3);
}
else if (mousePosition.x > slots[0].transform.position.x + num * 4f && mousePosition.x < slots[0].transform.position.x + num * 5.6f)
{
this.itemSelector.SelectTab(4);
}
否则如果(鼠标位置.x > 槽位[0].变换位置.x + 数值 * 5.6f 且 鼠标位置.x < 槽位[0].变换位置.x + 数值 * 7.2f)
{
this.itemSelector.SelectTab(5);
}
}
返回真;
}
return false;
}
豪克面板:
Hawker面板 - 添加覆盖布尔方法 OnAButtonReleased()
public override bool OnAButtonReleased()
{
List<InventorySlotGUI> slots = this.itemSelector.slots;
int v = 0;
float num = Mathf.Abs(slots[0].transform.position.x - slots[1].transform.position.x) / 2f;
浮点数 num2 = float.MaxValue;
Vector3 mousePosition = Input.mousePosition;
if (Input.GetMouseButtonDown(0) && !this._shoperConfirmationPanel.IsActive())
{
if (mousePosition.y < slots[0].transform.position.y + num && mousePosition.x > slots[0].transform.position.x - num)
{
for (int i = 0; i < slots.Count; i++)
{
float sqrMagnitude = (slots[i].transform.position - mousePosition).sqrMagnitude;
如果 (sqrMagnitude < num2)
{
num2 = sqrMagnitude;
v = i;
}
}
this.itemSelector.SelectSlot(v);
}
否则如果(鼠标位置.y > 槽位[0].变换位置.y + 数值 * 2.1f)
{
if (mousePosition.x > slots[0].transform.position.x - num && mousePosition.x < slots[0].transform.position.x + num / 2f)
{
this.itemSelector.SelectTab(0);
}
否则如果(鼠标位置.x > 槽位[0].变换.位置.x + 数字 / 2f && 鼠标位置.x < 槽位[0].变换.位置.x + 数字 * 1.6f)
{
this.itemSelector.SelectTab(1);
}
否则如果(鼠标位置.x > 槽位[0].变换.位置.x + 数字 * 1.6f 且 鼠标位置.x < 槽位[0].变换.位置.x + 数字 * 3.2f)
{
this.itemSelector.SelectTab(2);
}
否则如果(鼠标位置.x > 插槽[0].变换.位置.x + 数字 * 3.2f 且 鼠标位置.x < 插槽[0].变换.位置.x + 数字 * 4.8f)
{
this.itemSelector.SelectTab(3);
}
否则如果(鼠标位置.x > 槽位[0].变换.位置.x + 数字 * 4.8f 且 鼠标位置.x < 槽位[0].变换.位置.x + 数字 * 6.4f)
{
this.itemSelector.SelectTab(4);
}
}
返回真;
}
return false;
}
魔宠面板
FamiliarsPanel - 添加重写布尔方法 OnAButtonReleased()
public override bool OnAButtonReleased()
{
List<FamiliarSlotGUI> slots = this.familiarSlots;
int v = 0;
float num = Mathf.Abs(slots[0].transform.position.x - slots[1].transform.position.x) / 2f;
float num2 = float.MaxValue;
Vector3 mousePosition = Input.mousePosition;
if (Input.GetMouseButtonDown(0))
{
if (mousePosition.y < slots[0].transform.position.y + num && mousePosition.x > slots[0].transform.position.x - num / 2f)
{
for (int i = 0; i < slots.Count; i++)
{
float sqrMagnitude = (slots[i].transform.position - mousePosition).sqrMagnitude;
if (sqrMagnitude < num2)
{
num2 = sqrMagnitude;
v = i;
}
}
this.familiarSlots[v].GetComponent<Selectable>().Select();
}
else if (mousePosition.y > slots[0].transform.position.y + num * 1.2f && mousePosition.x < slots[0].transform.position.x - num)
{
this.MoveToPreviousPage();
}
else if (mousePosition.y > slots[0].transform.position.y + num * 1.2f && mousePosition.x > slots[2].transform.position.x + num)
{
this.MoveToNextPage();
}
return true;
}
return false;
}
装饰面板
装饰面板 - 添加重写布尔方法 OnAButtonReleased()
public override bool OnAButtonReleased()
{
List<InventorySlotGUI> slots = this.decorativeSlots;
int v = 0;
float num = Mathf.Abs(slots[0].transform.position.x - slots[1].transform.position.x) / 2f;
float num2 = float.MaxValue;
Vector3 mousePosition = Input.mousePosition;
if (Input.GetMouseButtonDown(0))
{
if (mousePosition.y < slots[0].transform.position.y + num && mousePosition.x > slots[0].transform.position.x - num / 2f)
{
for (int i = 0; i < slots.Count; i++)
{
float sqrMagnitude = (slots[i].transform.position - mousePosition).sqrMagnitude;
如果 (sqrMagnitude < num2)
{
num2 = sqrMagnitude;
v = i;
}
}
this.decorativeSlots[v].GetComponent<Selectable>().Select();
}
否则
{
if (mousePosition.y > slots[0].transform.position.y + num && mousePosition.x < slots[0].transform.position.x - num / 2f)
{
this._page = Mathf.Max(this._page - 1, 0);
this.SetPage(this._page);
}
如果(鼠标位置.y > 槽位[0].变换位置.y + 数字 && 鼠标位置.x > 槽位[2].变换位置.x + 数字 / 2f)
{
this._page = Mathf.Min(this._page + 1, this._maxPage);
this.SetPage(this._page);
}
}
return true;
}
返回假;
}
城镇公告板面板
TownBoardPanel - 添加重写布尔方法 OnAButtonReleased()
public override bool OnAButtonReleased()
{
if (!Input.GetMouseButtonDown(0))
{
返回错误;
}
if (!this.animator.GetBool("EnchantmentOpen"))
{
List<TownBoardStaffPanel.TownBoardStaffEntry> list4 = this.staffPanel.entries;
float num4 = float.MaxValue;
TownBoardStaffPanel.TownBoardStaffEntry whichOne2 = list4[0];
Vector3 mousePosition4 = Input.mousePosition;
for (int i = 0; i < list4.Count; i++)
{
float sqrMagnitude4 = (list4[i].slot.transform.position - mousePosition4).sqrMagnitude;
if (sqrMagnitude4 < num4)
{
num4 = sqrMagnitude4;
whichOne2 = list4[i];
}
}
whichOne2.slot.GetComponent<Selectable>().Select();
返回真;
}
List<TownBoardShopPanel.TownBoardShopEntry> list5 = this.shopPanel.shopEntries;
list5.AddRange(this.shopPanel.salesBoxEntries);
list5.AddRange(this.shopPanel.cashMachineEntries);
list5.AddRange(this.shopPanel.bedEntries);
list5.AddRange(this.shopPanel.bedChestEntries);
float num5 = float.MaxValue;
int whichOne3 = 0;
Vector3 mousePosition5 = Input.mousePosition;
for (int j = 0; j < list5.Count; j++)
{
float sqrMagnitude5 = (list5[j].slot.transform.position - mousePosition5).sqrMagnitude;
if (sqrMagnitude5 < num5)
{
num5 = sqrMagnitude5;
whichOne3 = j;
}
}
if (whichOne3 < 4)
{
this.shopPanel.shopEntries[whichOne3].slot.GetComponent<Selectable>().Select();
return true;
}
if (whichOne3 >= 4 && whichOne3 < 7)
{
this.shopPanel.salesBoxEntries[whichOne3 - 4].slot.GetComponent<Selectable>().Select();
return true;
}
if (whichOne3 >= 7 && whichOne3 < 10)
{
this.shopPanel.cashMachineEntries[whichOne3 - 7].slot.GetComponent<Selectable>().Select();
返回真;
}
if (whichOne3 >= 10 && whichOne3 < 13)
{
this.shopPanel.bedEntries[whichOne3 - 10].slot.GetComponent<Selectable>().Select();
return true;
}
如果(whichOne3 >= 13)
{
this.shopPanel.bedChestEntries[whichOne3 - 13].slot.GetComponent<Selectable>().Select();
}
返回真值;
}
DLC 讨价还价商贩面板
WandererHagglerPanel - 添加覆盖方法 OnAButtonReleased() 的布尔返回值
public override bool OnAButtonReleased()
{
List<InventorySlotGUI> slots = this.itemSelector.slots;
int v = 0;
float num = Mathf.Abs(slots[0].transform.position.x - slots[1].transform.position.x) / 2f;
float num2 = float.MaxValue;
Vector3 mousePosition = Input.mousePosition;
if (Input.GetMouseButtonDown(0) && !this._shoperConfirmationPanel.IsActive())
{
if (mousePosition.y < slots[0].transform.position.y + num && mousePosition.x > slots[0].transform.position.x - num)
{
for (int i = 0; i < slots.Count; i++)
{
float sqrMagnitude = (slots[i].transform.position - mousePosition).sqrMagnitude;
if (sqrMagnitude < num2)
{
num2 = sqrMagnitude;
v = i;
}
}
this.itemSelector.SelectSlot(v);
}
否则如果(鼠标位置.y < 槽位[0].变换位置.y + 数量 * 2.1f 且 鼠标位置.y > 槽位[0].变换位置.y 且 鼠标位置.x < 槽位[0].变换位置.x - 数量 * 1.5f 且 鼠标位置.x > 槽位[0].变换位置.x - 数量 * 2.5f)
{
this.itemSelector.DragPageUp();
}
否则如果(鼠标位置.y < 槽位[0].变换.位置.y + 数值 * 2.1f 且 鼠标位置.y < 槽位[0].变换.位置.y - 数值 且 鼠标位置.x < 槽位[0].变换.位置.x - 数值 * 1.5f 且 鼠标位置.x > 槽位[0].变换.位置.x - 数值 * 2.5f)
{
this.itemSelector.DragPageDown();
}
return true;
}
返回假;
}
DLC蓝图面板
Moonlighter.DLC.WandererDungeon->WandererShopperPanel. - 添加重写布尔方法 OnAButtonReleased()
public override bool OnAButtonReleased()
{
List<InventorySlotGUI> slots = this.itemSelector.slots;
int v = 0;
float num = Mathf.Abs(slots[0].transform.position.x - slots[1].transform.position.x) / 2f;
float num2 = float.MaxValue;
Vector3 mousePosition = Input.mousePosition;
if (Input.GetMouseButtonDown(0))
{
if (mousePosition.y < slots[0].transform.position.y + num && mousePosition.x > slots[0].transform.position.x - num)
{
for (int i = 0; i < slots.Count; i++)
{
float sqrMagnitude = (slots[i].transform.position - mousePosition).sqrMagnitude;
if (sqrMagnitude < num2)
{
num2 = sqrMagnitude;
v = i;
}
}
this.itemSelector.SelectSlot(v);
}
否则如果(鼠标位置Y坐标小于槽位[0]的变换位置Y坐标加数值乘以2.1,且鼠标位置Y坐标大于槽位[0]的变换位置Y坐标,且鼠标位置X坐标小于槽位[0]的变换位置X坐标减数值乘以1.5,且鼠标位置X坐标大于槽位[0]的变换位置X坐标减数值乘以2.5)
{
this.itemSelector.DragPageUp();
}
否则如果(鼠标位置.y 小于 栏位[0].变换.位置.y + 数值 * 2.1f 且 鼠标位置.y 小于 栏位[0].变换.位置.y - 数值 且 鼠标位置.x 小于 栏位[0].变换.位置.x - 数值 * 1.5f 且 鼠标位置.x 大于 栏位[0].变换.位置.x - 数值 * 2.5f)
{
this.itemSelector.DragPageDown();
}
返回真;
}
返回错误;
}
DLC升降机检修面板
Moonlighter.DLC.WandererDungeon->WandererDungeonLiftAccessPanel - 添加覆盖布尔方法 OnAButtonReleased()
public override bool OnAButtonReleased()
{
List<WandererDungeonLiftAccessPanel_FloorElement> 槽位 = 此.楼层;
List<int> unlockedFloors = this._accessReference.unlockedFloors;
int v = 0;
float num2 = float.MaxValue;
Vector3 mousePosition = Input.mousePosition;
if (Input.GetMouseButtonDown(0))
{
for (int i = 0; i < slots.Count; i++)
{
if (unlockedFloors.Contains(slots[i].floor))
{
float sqrMagnitude = (slots[i].transform.position - mousePosition).sqrMagnitude;
if (sqrMagnitude < num2)
{
num2 = sqrMagnitude;
v = i;
}
}
}
this.floors[v].GetComponent<Selectable>().Select();
return true;
}
返回 false;
}