public void GiveInteractionOrder(Interactible interactible, Action finishedCallback = null) { CancelCurrentInteractionOrder(); _finishedInteraction = false; _finishedInteractionCallback = finishedCallback; CurrentInteractTarget = interactible; _interactionTime = 0; }
public void CancelCurrentInteractionOrder() { GameManager.Instance.WaypointProvider.ClearWaypointActionsForEntity(this); _finishedInteraction = true; _startedInteraction = false; _finishedInteractionCallback = null; CurrentInteractTarget = null; _interactionTime = 0; }
public void RemoveImpediment(Interactible interactible) { if (!_impedimentEntries.ContainsKey(interactible)) { return; } var entry = _impedimentEntries[interactible]; _impedimentEntries.Remove(interactible); Destroy(entry.gameObject); }
public void AddImpediment(Interactible interactible, bool IsUnique = false) { if (IsUnique) { if (_impedimentEntries.ContainsKey(interactible)) { return; } } var entry = Instantiate(ImpedimentEntryPrefab, ImpedimentsContainer.transform); //entry.transform.localPosition = Vector3.zero; entry.TextElement.text = interactible.GetTooltip(); _impedimentEntries[interactible] = entry; }