private void Start() { mySelector = SelectionHandler.GetUsedSelector(); if (associatedTaskEditMenu != null) associatedTaskEditMenu.SetActiveRecursivelyExt(false); }
private void RegisterUnitToOrdob_Aux(Unit u) { var tve = AddTreeViewElement(u); var binder = new MultiEventObserver(); BindSelectionEvent(binder, (sender, args) => { //Debug.Log("Triggered by direct selection status change."); if (sender is Unit) { tve.ActualOnPointerDown(null); } }, u); tve.BindPressEvent(binder, (sender, args) => { //Debug.Log("Triggered by direct button status change (click)"); if (args is SimpleEventArgs) { if ((bool)(args as SimpleEventArgs).args[0]) { SelectionHandler.GetUsedSelector().SelectEntity(u); } else { SelectionHandler.GetUsedSelector().DeselectEntity(u); } } }); trackedUnitsTVEs.Add(tve); }
private void OnPointerClickDelegate(PointerEventData data) { if (!paused) { if (isEditing) { if (UIHandler.EventSystemPointedGameObjects().Count > 1) { ExitPlacementUIMode(); ConfirmPositioning(false); DestroyThis(); } else { AddTargetMarker(FirePositionMarker.CreateFirePositionMarker(GetWorldPosition(), 10f)); if (!Input.GetKey(KeyCode.LeftShift)) { ExitPlacementUIMode(); ConfirmPositioning(true); } } } else { if (expanded) { SelectionHandler.GetUsedSelector().DeselectEntity(this); expanded = false; //Contract(); } else { SelectionHandler.GetUsedSelector().SelectEntity(this); expanded = true; //Expand(); } } } }
private void UITaskMarkerCreationAndTaskBuilding<T>(List<ISelectable> selected) where T : TaskMarker { if (selected.Count > 0) { //if (_taskSubject == null) // _taskSubject = PrepareAndGetSubjectFromSelected(selected); T taskMarker = TaskMarker.CreateInstanceAtScreenPosition<T>(UIHandler.GetPointedScreenPosition()); taskMarker.InitBinderForTask(associatedTaskEditMenu); taskMarker.EnterPlacementUIMode(); taskMarker.OnExitPlacementUIMode.SubscribeEventHandlerMethod("spawnerbuttondeactivate",// += SpawnerButtonDeactivate; () => { on = false; taskMarker.OnExitPlacementUIMode.UnsubscribeEventHandlerMethod("spawnerbuttondeactivate"); }); taskMarker.OnPlacementConfirmation.SubscribeEventHandlerMethod("onplacementconfirmationcallback", (b) => { if (b) { if (_actorGroup == null) _actorGroup = UnitGroup.PrepareAndCreateGroupFromSelected(selected); TaskPlan2 taskPlan = taskMarker.InsertAssociatedTaskIntoPlan(_actorGroup, _lastPlacedTaskMarkerWrapper?.Value); if (!taskPlan.IsPlanBeingExecuted()) taskPlan.StartPlanExecution(); if (Input.GetKey(KeyCode.LeftShift)) { /*if (_lastPlacedTaskMarkerWrapper == null) { var tm = ITaskSubject.GetPlans().FirstOrDefault()?.GetCurrentTaskInPlan()?.GetTaskMarker(); if (tm != null) _lastPlacedTaskMarkerWrapper = new MapMarkerWrapper<TaskMarker>(tm); } else { _lastPlacedTaskMarkerWrapper = new MapMarkerWrapper<TaskMarker>(taskMarker); }*/ _lastPlacedTaskMarkerWrapper = new MapMarkerWrapper<TaskMarker>(taskMarker); OnButtonActivationOrNot(true); } else { _actorGroup = null; _lastPlacedTaskMarkerWrapper = null; } } else { _actorGroup = null; _lastPlacedTaskMarkerWrapper = null; taskMarker.OnPlacementConfirmation.UnsubscribeEventHandlerMethod("onplacementconfirmationcallback"); //editedTaskPlan = null; } }); SelectionHandler.GetUsedSelector().SelectEntity(taskMarker); } }
private Selector GetUsedSelector() { return(SelectionHandler.GetUsedSelector()); }
private void Start() { mySelector = SelectionHandler.GetUsedSelector(); }
protected Selector GetUsedSelector() { return(SelectionHandler.GetUsedSelector()); }