public void Cancel() { Movements.Cancel(); Interactives.CancelUse(); Gathers.CancelGather(); Teleportables.Cancel(); }
private void Interact(Vector2 lineOrigin, Vector2 chargePos) { Interactives.Clear(); Bonuses.Clear(); var interactableDetect = Utils.LineCastAll(lineOrigin, chargePos, includeTriggers: true); var interactives = interactableDetect.Where(i => i.transform.CompareTag("Interactive")).ToArray(); foreach (var interactive in interactives) { if (interactive.transform.TryGetComponent(out IActivable activable)) { Interactives.Add(activable); } } var bonuses = interactableDetect.Where(b => b.transform.CompareTag("Bonus")).ToArray(); foreach (var item in bonuses) { if (item.transform.TryGetComponent(out Bonus bonus)) { Bonuses.Add(bonus); } } }
public static void RemoveInteractives(string userId) { if (Interactives != null) { var interactive = Interactives.FirstOrDefault(p => p.FromID == userId); if (interactive != null) { Interactives.Remove(interactive); } } }
private void HandleMapComplementaryInformationsDataMessage(InteractiveUseEndedMessage message, ConnectedHost source) { ElementModel value; if (Interactives.TryGetValue((int)message.elemId, out value)) { value.Enabled = false; } OnUpdated(); }
private void HandleMapComplementaryInformationsDataMessage(StatedMapUpdateMessage message, ConnectedHost source) { foreach (StatedElement element in message.statedElements) { ElementModel value; if (Interactives.TryGetValue(element.elementId, out value)) { value.Update(element); } } OnUpdated(); }
public static void AddInteractive(string userId, string recieveId) { if (Interactives == null) { Interactives = new List <Interactive>(); } if (Interactives.FirstOrDefault(p => p.FromID == userId && p.ReceiveID == recieveId) == null) { var interactive = new Interactive() { FromID = userId, ReceiveID = recieveId }; Interactives.Add(interactive); } }
private void HandleMapComplementaryInformationsDataMessage(StatedElementUpdatedMessage message, ConnectedHost source) { if (Interactives == null) { return; } ElementModel value; if (Interactives.TryGetValue(message.statedElement.elementId, out value)) { value.Update(message.statedElement); } OnUpdated(); }
protected virtual void Dispose(bool disposing) { if (_disposedValue) { return; } if (disposing) { Movements.Dispose(); Interactives.Dispose(); Gathers.Dispose(); Teleportables.Dispose(); } Movements = null; Interactives = null; Gathers = null; Teleportables = null; _disposedValue = true; }
public bool CanStopOnCell(Cell cell) { return(IsCellWalkable(cell) && !Interactives.Any(x => x.Cell == cell)); }
public void Clear() { Movements.Clear(); Interactives.Clear(); Gathers.Clear(); }