新版本MoveBuilding依旧用不了
Closed this issue · 3 comments
DSLM commented
关闭所有其他mod依旧用不了,具体情况是右键移动时地块地图会突然上移,结束后图像下移回去;然后移动到哪儿鼠标都是显示移动的建筑物的信息;移动目标是练功房
根据(http://nga.178.com/read.php?tid=16056581)此贴回复,大概是我一个人的问题?
HY-Leung commented
地图突然上移或下移的情况,我没有遇过。可能是解晰度问题。
基于电脑反应太慢,在搬移多次之后,
有机会形成资料错误,这第三方插件难于解决。
希望日后官方会加入类似的功能而不用MOD进行。
提示:
由于不想破坏游戏性,只接受搬动建筑到其他建筑相邻的空地。
使用右键Drag&Drop到的空地,
在放开手前,留意目标图示(空地)有没有略为放大,
如果放大了表示该物件有反应,可以慢慢放下。
如果一直没有放大,可能是系统的资料已经错乱,最好重新载入。
sth4nothing commented
拖动到目标后异常:
[MoveBuilding] Enter dropablePlace: PlaceImageBack,1097,336,82
[MoveBuilding] Leave dropablePlace : PlaceImageBack,1097,336,82
[MoveBuilding] Enter dropablePlace: PlaceImageBack,1097,336,82
[MoveBuilding] Move building from PlaceImageBack,1097,336,69
[MoveBuilding] To place PlaceImageBack,1097,336,82
KeyNotFoundException: The given key was not present in the dictionary.
at System.Collections.Generic.Dictionary`2[System.Int32,System.Collections.Generic.Dictionary`2[System.Int32,System.Collections.Generic.Dictionary`2[System.Int32,System.Int32]]].get_Item (Int32 key) [0x000a8] in /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Collections.Generic/Dictionary.cs:151
at MoveBuilding.DraggingObject.OnEndDrag (UnityEngine.EventSystems.PointerEventData eventData) [0x00000] in <filename unknown>:0
at UnityEngine.EventSystems.ExecuteEvents.Execute (IEndDragHandler handler, UnityEngine.EventSystems.BaseEventData eventData) [0x00008] in C:\buildslave\unity\build\Extensions\guisystem\UnityEngine.UI\EventSystem\ExecuteEvents.cs:78
at UnityEngine.EventSystems.ExecuteEvents.Execute[IEndDragHandler] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.EventFunction`1 functor) [0x00073] in C:\buildslave\unity\build\Extensions\guisystem\UnityEngine.UI\EventSystem\ExecuteEvents.cs:261
UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1) (at C:\buildslave\unity\build\Extensions\guisystem\UnityEngine.UI\EventSystem\ExecuteEvents.cs:265)
UnityEngine.EventSystems.StandaloneInputModule:ProcessMousePress(MouseButtonEventData) (at C:\buildslave\unity\build\Extensions\guisystem\UnityEngine.UI\EventSystem\InputModules\StandaloneInputModule.cs:625)
UnityEngine.EventSystems.StandaloneInputModule:ProcessMouseEvent(Int32) (at C:\buildslave\unity\build\Extensions\guisystem\UnityEngine.UI\EventSystem\InputModules\StandaloneInputModule.cs:517)
UnityEngine.EventSystems.StandaloneInputModule:ProcessMouseEvent() (at C:\buildslave\unity\build\Extensions\guisystem\UnityEngine.UI\EventSystem\InputModules\StandaloneInputModule.cs:490)
UnityEngine.EventSystems.StandaloneInputModule:Process() (at C:\buildslave\unity\build\Extensions\guisystem\UnityEngine.UI\EventSystem\InputModules\StandaloneInputModule.cs:254)
UnityEngine.EventSystems.EventSystem:Update() (at C:\buildslave\unity\build\Extensions\guisystem\UnityEngine.UI\EventSystem\EventSystem.cs:377)
(Filename: /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Collections.Generic/Dictionary.cs Line: 151)
拖动的物体的UI结构
HomeMapPlace,1097,336,69 | RectTransform, CanvasRenderer, Image, HomeBuilding
HomeMapBack | RectTransform, CanvasRenderer, Image
PlaceImageBack,1097,336,69 | RectTransform, PointerEnter
PlaceImage | RectTransform, CanvasRenderer, Image
PlaceHpBar | RectTransform, CanvasRenderer, Image
PlaceLevelBack | RectTransform, CanvasRenderer, Image
PlaceLevelText | RectTransform, CanvasRenderer, Text, Outline, SetFont
TimeText | RectTransform, CanvasRenderer, Text, Outline, SetFont
TimeIcon | RectTransform, CanvasRenderer, Image
BuildingText | RectTransform, CanvasRenderer, Text, Outline, SetFont
MakeIcon | RectTransform, CanvasRenderer, Image
MakeTimeText | RectTransform, CanvasRenderer, Text, Outline, SetFont
ActorIcon | RectTransform, CanvasRenderer, Image
PctIcon | RectTransform, CanvasRenderer, Image
PctText | RectTransform, CanvasRenderer, Text, Outline, SetFont
NewMassageIcon | RectTransform, CanvasRenderer, Image
NewMassageText | RectTransform, CanvasRenderer, Text, Outline, SetFont
PlaceNameText | RectTransform, CanvasRenderer, Text, Outline, SetFont
BuildingButton | RectTransform, CanvasRenderer, Image, Button, PointerClick, DraggingObject
目标的UI结构
HomeMapPlace,1097,336,82 | RectTransform, CanvasRenderer, Image, HomeBuilding
HomeMapBack | RectTransform, CanvasRenderer, Image
PlaceImageBack,1097,336,82 | RectTransform, PointerEnter
PlaceImage | RectTransform, CanvasRenderer, Image
PlaceHpBar | RectTransform, CanvasRenderer, Image
PlaceLevelBack | RectTransform, CanvasRenderer, Image
PlaceLevelText | RectTransform, CanvasRenderer, Text, Outline, SetFont
TimeText | RectTransform, CanvasRenderer, Text, Outline, SetFont
TimeIcon | RectTransform, CanvasRenderer, Image
BuildingText | RectTransform, CanvasRenderer, Text, Outline, SetFont
MakeIcon | RectTransform, CanvasRenderer, Image
MakeTimeText | RectTransform, CanvasRenderer, Text, Outline, SetFont
ActorIcon | RectTransform, CanvasRenderer, Image
PctIcon | RectTransform, CanvasRenderer, Image
PctText | RectTransform, CanvasRenderer, Text, Outline, SetFont
NewMassageIcon | RectTransform, CanvasRenderer, Image
NewMassageText | RectTransform, CanvasRenderer, Text, Outline, SetFont
PlaceNameText | RectTransform, CanvasRenderer, Text, Outline, SetFont
BuildingButton | RectTransform, CanvasRenderer, Image, Button, PointerClick, DropablePlace
应该是这段代码错误:
if (DateFile.instance.actorsWorkingDate[partId][placeId].ContainsKey(buildingIndex))
{
DateFile.instance.actorsWorkingDate[partId][placeId][buildingIndex2] = DateFile.instance.actorsWorkingDate[partId][placeId][buildingIndex];
DateFile.instance.actorsWorkingDate[partId][placeId].Remove(buildingIndex);
}
初步推测是没有检测actorsWorkingDate的索引
确认就是这个bug。已提交修复。
HY-Leung commented
这确有可能出现红字,谢谢修复。