private GlobalTargetInfo CurrentTargetUnderMouse() { GlobalTargetInfo result; if (!this.IsTargeting) { result = GlobalTargetInfo.Invalid; } else { List <WorldObject> list = GenWorldUI.WorldObjectsUnderMouse(UI.MousePositionOnUI); if (list.Any <WorldObject>()) { result = list[0]; } else if (this.canTargetTiles) { int num = GenWorld.MouseTile(false); if (num >= 0) { result = new GlobalTargetInfo(num); } else { result = GlobalTargetInfo.Invalid; } } else { result = GlobalTargetInfo.Invalid; } } return(result); }
public static int MouseTile(bool snapToExpandableWorldObjects = false) { int result; if (snapToExpandableWorldObjects) { if (GenWorld.cachedFrame_snap == Time.frameCount) { result = GenWorld.cachedTile_snap; } else { GenWorld.cachedTile_snap = GenWorld.TileAt(UI.MousePositionOnUI, true); GenWorld.cachedFrame_snap = Time.frameCount; result = GenWorld.cachedTile_snap; } } else if (GenWorld.cachedFrame_noSnap == Time.frameCount) { result = GenWorld.cachedTile_noSnap; } else { GenWorld.cachedTile_noSnap = GenWorld.TileAt(UI.MousePositionOnUI, false); GenWorld.cachedFrame_noSnap = Time.frameCount; result = GenWorld.cachedTile_noSnap; } return(result); }
public static int MouseTile(bool snapToExpandableWorldObjects = false) { if (GenWorld.cachedFrame == Time.frameCount) { return(GenWorld.cachedTile); } GenWorld.cachedTile = GenWorld.TileAt(UI.MousePositionOnUI, snapToExpandableWorldObjects); GenWorld.cachedFrame = Time.frameCount; return(GenWorld.cachedTile); }
private GlobalTargetInfo CurrentTargetUnderMouse() { if (!IsTargeting) { return(GlobalTargetInfo.Invalid); } List <WorldObject> list = GenWorldUI.WorldObjectsUnderMouse(UI.MousePositionOnUI); if (list.Any()) { return(list[0]); } if (canTargetTiles) { int num = GenWorld.MouseTile(); if (num >= 0) { return(new GlobalTargetInfo(num)); } return(GlobalTargetInfo.Invalid); } return(GlobalTargetInfo.Invalid); }