/// <summary> /// Reset this UI back to its defaults. /// </summary> public void OnReset() { //set back to default parent and position transform.SetParent(_defaultParent, false); transform.position = _defaultParent.position; _aspectFitter.aspectMode = AspectRatioFitter.AspectMode.FitInParent; transform.SetAsLastSibling(); if (_dragStartPosition != (Vector2)transform.position) { TrackerEventSender.SendEvent(new TraceEvent("CrewMemberUnpositioned", TrackerAsset.Verb.Interacted, new Dictionary <TrackerContextKey, object> { { TrackerContextKey.CrewMemberName, CrewMember.Name }, { TrackerContextKey.PreviousCrewMemberPosition, _currentPlacement != null ? _currentPlacement.Position : Position.Null } }, GameObjectTracker.TrackedGameObject.Npc)); } if (_currentPlacement != null) { _currentPlacement.RemoveCrew(); _currentPlacement = null; } //hide current position button and remove all listeners _positionImage.enabled = false; _positionButton.onClick.RemoveAllListeners(); //reset position pop-up if it is currently being shown UIManagement.Tutorial.ShareEvent(GetType().Name, MethodBase.GetCurrentMethod().Name, CrewMember.Name); SetSortValue(_sortValue); }
public override void LoadSavedTriangles(SavedTriangle thisT) { base.LoadSavedTriangles(thisT); if (CardList.Count != 15) { throw new BasicBlankException("After loading saved game, must have 15 cards"); } if (PositionUI == null) { return; } PositionUI.RepositionCardsOnUI(); }
/// <summary> /// Place the CrewMember to be in-line with the Position it is now paired with /// </summary> public void Place(PositionUI positionUI, bool swap = false) { if (!swap && _currentPlacement) { _currentPlacement.RemoveCrew(); } var currentPositionCrew = positionUI.CrewMemberUI; var positionTransform = positionUI.RectTransform(); transform.SetParent(null, false); CrewMember.Assign(positionUI.Position); positionUI.LinkCrew(this); //if this CrewMember isn't being placed due to a swap, check if there's a CrewMember in this position and cause a swap if (!swap) { if (currentPositionCrew != null) { if (_currentPlacement != null) { currentPositionCrew.Place(_currentPlacement, true); } else { currentPositionCrew.OnReset(); } } } //set size and position transform.SetParent(positionTransform, false); _aspectFitter.aspectMode = AspectRatioFitter.AspectMode.FitInParent; transform.position = positionTransform.position; transform.RectTransform().anchoredPosition = Vector2.zero; _currentPlacement = positionUI; SetPosition(positionUI.Position); //update current position button UIManagement.Tutorial.ShareEvent(GetType().Name, MethodBase.GetCurrentMethod().Name, CrewMember.Name); SetSortValue(_sortValue); }