private bool CustomProcessClick(ScenePickArgs eventArgs) { switch (eventArgs.mObjectType) { case ScenePickObjectType.Terrain: case ScenePickObjectType.Floor: case ScenePickObjectType.RoadStreet: case ScenePickObjectType.RoadSidewalk: case ScenePickObjectType.WaterPond: case ScenePickObjectType.WaterSea: case ScenePickObjectType.WaterPool: case ScenePickObjectType.WaterFountain: if ((Bin.PlacementHousehold == null) && (Bin.PlacementLot == null)) { return(GameObjectEx.OnPick(Terrain.Singleton, eventArgs.mMouseEvent, eventArgs.AsGameObjectHit())); } break; case ScenePickObjectType.Object: case ScenePickObjectType.Sim: case ScenePickObjectType.Wall: ObjectGuid guid = ObjectGuid.InvalidObjectGuid; if ((eventArgs.mObjectType == ScenePickObjectType.Object) || (eventArgs.mObjectType == ScenePickObjectType.Sim)) { guid = new ObjectGuid(eventArgs.mObjectId); } else if (eventArgs.mObjectType == ScenePickObjectType.Wall) { guid = LotManager.GetLotObjectGuid(eventArgs.mObjectId); } IScriptProxy proxy = Simulator.GetProxy(guid); if (proxy != null) { IObjectUI target = proxy.Target as IObjectUI; if (target != null) { Lot lot = target as Lot; if (lot != null) { return(OnPickLot(lot, eventArgs.mMouseEvent, eventArgs.AsGameObjectHit())); } else { GameObject obj = target as GameObject; if (obj != null) { return(GameObjectEx.OnPick(obj, eventArgs.mMouseEvent, eventArgs.AsGameObjectHit())); } } } } break; } return(false); }
private bool CustomProcessClick(ScenePickArgs eventArgs) { switch (eventArgs.mObjectType) { case ScenePickObjectType.Terrain: case ScenePickObjectType.Floor: case ScenePickObjectType.RoadStreet: case ScenePickObjectType.RoadSidewalk: case ScenePickObjectType.WaterPond: case ScenePickObjectType.WaterSea: case ScenePickObjectType.WaterPool: case ScenePickObjectType.WaterFountain: if ((Bin.PlacementHousehold == null) && (Bin.PlacementLot == null)) { return GameObjectEx.OnPick(Terrain.Singleton, eventArgs.mMouseEvent, eventArgs.AsGameObjectHit()); } break; case ScenePickObjectType.Object: case ScenePickObjectType.Sim: case ScenePickObjectType.Wall: ObjectGuid guid = ObjectGuid.InvalidObjectGuid; if ((eventArgs.mObjectType == ScenePickObjectType.Object) || (eventArgs.mObjectType == ScenePickObjectType.Sim)) { guid = new ObjectGuid(eventArgs.mObjectId); } else if (eventArgs.mObjectType == ScenePickObjectType.Wall) { guid = LotManager.GetLotObjectGuid(eventArgs.mObjectId); } IScriptProxy proxy = Simulator.GetProxy(guid); if (proxy != null) { IObjectUI target = proxy.Target as IObjectUI; if (target != null) { Lot lot = target as Lot; if (lot != null) { return OnPickLot(lot, eventArgs.mMouseEvent, eventArgs.AsGameObjectHit()); } else { GameObject obj = target as GameObject; if (obj != null) { return GameObjectEx.OnPick(obj, eventArgs.mMouseEvent, eventArgs.AsGameObjectHit()); } } } } break; } return false; }
public static string SceneWindow_Hover(IScriptProxy o, ScenePickArgs args) { DoorSettings settings = GoHere.Settings.GetDoorSettings(o.ObjectId, false); if (settings == null) { return(string.Empty); } string tooltip = string.Empty; if (settings.ActiveFilters.Count > 0) { string critera = FilterHelper.GetFilterAsLocalizedCriteria(settings.ActiveFilters); if (critera.Length > 3) { tooltip = GoHere.Localize("DoorCriteria:ToolTip") + " (" + GoHere.Localize("DoorFilterType:" + settings.mType.ToString()) + ")" + Common.NewLine + critera; } } if (settings.mDoorOpen > -1 && settings.mDoorClose > -1) { if (tooltip != string.Empty) { tooltip = tooltip + Common.NewLine; } tooltip = tooltip + GoHere.Localize("OpenCloseTime:MenuName") + ": " + settings.mDoorOpen.ToString() + " - " + settings.mDoorClose.ToString(); } if (settings.mDoorCost > 0) { if (tooltip != string.Empty) { tooltip = tooltip + Common.NewLine; } tooltip = tooltip + GoHere.Localize("DoorCost:MenuName") + ": " + settings.mDoorCost.ToString(); } if (settings.mIsOneWayDoor) { if (tooltip != string.Empty) { tooltip = tooltip + Common.NewLine; } tooltip = tooltip + GoHere.Localize("OneWayDoor:MenuName"); } return(tooltip); }
public override void ProcessClick(ScenePickArgs eventArgs) { try { Sims3.Gameplay.UI.PieMenu.ClearInteractions(); if (!CustomProcessClick(eventArgs)) { ProcessClick(eventArgs, false); } } catch (Exception e) { Common.Exception("Type: " + eventArgs.mObjectType, e); } }
public override void ProcessClick(ScenePickArgs eventArgs) { try { Sims3.Gameplay.UI.PieMenu.ClearInteractions(); if (!CustomProcessClick(eventArgs)) { ProcessClick(eventArgs, false); } } catch (Exception e) { Common.Exception("Type: " + eventArgs.mObjectType, e); } }
public override void ProcessClick(ScenePickArgs eventArgs) { try { if (((eventArgs.mObjectType != ScenePickObjectType.None) && !WasMouseDragged(eventArgs)) && ((eventArgs.mMouseEvent.MouseKey != MouseKeys.kMouseRight) || ((eventArgs.mMouseEvent.Modifiers & Modifiers.kModifierMaskControl) == Modifiers.kModifierMaskNone))) { bool flag = false; if ((eventArgs.mObjectType == ScenePickObjectType.Object) || (eventArgs.mObjectType == ScenePickObjectType.Sim)) { ObjectGuid objectId = new ObjectGuid(eventArgs.mObjectId); IScriptProxy proxy = Simulator.GetProxy(objectId); if (proxy != null) { IObjectUI target = proxy.Target as IObjectUI; if (target != null) { Vehicle vehicle = target as Vehicle; if (vehicle != null) { flag = OnSelect(vehicle, eventArgs.mMouseEvent); } else if (target is Sim) { flag = OnSelect(target as Sim, eventArgs.mMouseEvent); } else { flag = target.OnSelect(eventArgs.mMouseEvent); } } } } if (!flag) { CameraController.RequestLerpToTarget(eventArgs.mDisplayPos, 1.5f, false); } } } catch (Exception e) { Common.Exception("ProcessClick", e); } }
public override void ProcessClick(ScenePickArgs eventArgs) { try { if (((eventArgs.mObjectType != ScenePickObjectType.None) && !WasMouseDragged(eventArgs)) && ((eventArgs.mMouseEvent.MouseKey != MouseKeys.kMouseRight) || ((eventArgs.mMouseEvent.Modifiers & Modifiers.kModifierMaskControl) == Modifiers.kModifierMaskNone))) { bool flag = false; if ((eventArgs.mObjectType == ScenePickObjectType.Object) || (eventArgs.mObjectType == ScenePickObjectType.Sim)) { ObjectGuid objectId = new ObjectGuid(eventArgs.mObjectId); IScriptProxy proxy = Simulator.GetProxy(objectId); if (proxy != null) { IObjectUI target = proxy.Target as IObjectUI; if (target != null) { Vehicle vehicle = target as Vehicle; if (vehicle != null) { flag = OnSelect(vehicle, eventArgs.mMouseEvent); } else if (target is Sim) { flag = OnSelect(target as Sim, eventArgs.mMouseEvent); } else { flag = target.OnSelect(eventArgs.mMouseEvent); } } } } if (!flag) { CameraController.RequestLerpToTarget(eventArgs.mDisplayPos, 1.5f, false); } } } catch (Exception e) { Common.Exception("ProcessClick", e); } }
public static bool SceneWindow_Hover(WindowBase w, ref ScenePickArgs args) { if (Sims3.Gameplay.Gameflow.CurrentGameSpeed == Sims3.Gameplay.Gameflow.GameSpeed.Pause && !Sims3.Gameplay.GameStates.IsBuildBuyLikeState) { return(false); } if (!UIUtils.IsOkayToStartModalDialog(true)) { return(false); } if (args.mObjectType == ScenePickObjectType.Object) { if (args.mObjectId == sLastObjectId && sCurrentTip != null) { RestartAlarm(); return(true); } else { sLastObjectId = args.mObjectId; HideCurrentTooltip(); } if (sCurrentTip != null) { return(false); } IScriptProxy proxy = Simulator.GetProxy(new ObjectGuid(args.mObjectId)); if (proxy != null && proxy.Target != null) { Type type = proxy.Target.GetType(); if (type == null) { return(false); } Type lastType = null; int loop = 0; while (type != typeof(GameObject)) { if (loop > 6) { break; } lastType = type; type = type.BaseType; if (type == typeof(CommonDoor)) { break; } loop++; } type = lastType; if (!sListeners.ContainsKey(type)) { return(false); } Vector2 vector = UIManager.GetCursorPosition(); WindowBase baseWin = UIManager.GetWindowFromPoint(vector); string content = string.Empty; foreach (MethodInfo info in sListeners[type]) { object[] parameters = new object[] { proxy, args }; content += (string)info.Invoke(null, parameters); } if (content.Length > 3) { Vector2 mousePosition = new Vector2(0f, 0f); mousePosition = baseWin.Parent != null?baseWin.Parent.ScreenToWindow(vector) : baseWin.ScreenToWindow(vector); SetAlarm(); sCurrentTip = CreateTooltip(content, mousePosition, baseWin); sTipObject = args.mObjectId; } } } return(true); }
public static bool SceneWindow_Hover(WindowBase w, ref ScenePickArgs args) { if (Sims3.Gameplay.Gameflow.CurrentGameSpeed == Sims3.Gameplay.Gameflow.GameSpeed.Pause && !Sims3.Gameplay.GameStates.IsBuildBuyLikeState) { return false; } if (!UIUtils.IsOkayToStartModalDialog(true)) { return false; } if (args.mObjectType == ScenePickObjectType.Object) { if (args.mObjectId == sLastObjectId && sCurrentTip != null) { RestartAlarm(); return true; } else { sLastObjectId = args.mObjectId; HideCurrentTooltip(); } if (sCurrentTip != null) { return false; } IScriptProxy proxy = Simulator.GetProxy(new ObjectGuid(args.mObjectId)); if (proxy != null && proxy.Target != null) { Type type = proxy.Target.GetType(); if (type == null) { return false; } Type lastType = null; int loop = 0; while (type != typeof(GameObject)) { if (loop > 6) { break; } lastType = type; type = type.BaseType; if (type == typeof(CommonDoor)) { break; } loop++; } type = lastType; if (!sListeners.ContainsKey(type)) { return false; } Vector2 vector = UIManager.GetCursorPosition(); WindowBase baseWin = UIManager.GetWindowFromPoint(vector); string content = string.Empty; foreach (MethodInfo info in sListeners[type]) { object[] parameters = new object[] { proxy, args }; content += (string)info.Invoke(null, parameters); } if (content.Length > 3) { Vector2 mousePosition = new Vector2(0f, 0f); mousePosition = baseWin.Parent != null ? baseWin.Parent.ScreenToWindow(vector) : baseWin.ScreenToWindow(vector); SetAlarm(); sCurrentTip = CreateTooltip(content, mousePosition, baseWin); sTipObject = args.mObjectId; } } } return true; }
public bool LotHasValidInteractions(ulong lotID, ScenePickArgs eventArgs) { return mHudModel.LotHasValidInteractions(lotID, eventArgs); }
public void ForwardGameplayClickEvent(ScenePickArgs eventArgs) { mHudModel.ForwardGameplayClickEvent(eventArgs); }
public bool CurrentSimHasValidInteractionsOn(ObjectGuid objGuid, ScenePickArgs eventArgs) { return mHudModel.CurrentSimHasValidInteractionsOn(objGuid, eventArgs); }
public static string SceneWindow_Hover(IScriptProxy o, ScenePickArgs args) { DoorSettings settings = GoHere.Settings.GetDoorSettings(o.ObjectId, false); if (settings == null) return string.Empty; string tooltip = string.Empty; if (settings.ActiveFilters.Count > 0) { string critera = FilterHelper.GetFilterAsLocalizedCriteria(settings.ActiveFilters); if (critera.Length > 3) { tooltip = GoHere.Localize("DoorCriteria:ToolTip") + " (" + GoHere.Localize("DoorFilterType:" + settings.mType.ToString()) + ")" + Common.NewLine + critera; } } if (settings.mDoorOpen > -1 && settings.mDoorClose > -1) { if (tooltip != string.Empty) { tooltip = tooltip + Common.NewLine; } tooltip = tooltip + GoHere.Localize("OpenCloseTime:MenuName") + ": " + settings.mDoorOpen.ToString() + " - " + settings.mDoorClose.ToString(); } if (settings.mDoorCost > 0) { if (tooltip != string.Empty) { tooltip = tooltip + Common.NewLine; } tooltip = tooltip + GoHere.Localize("DoorCost:MenuName") + ": " + settings.mDoorCost.ToString(); } return tooltip; }