private ulong CreateInteraction(long type, long id, Vector3 position, int dimension, int range) { Interaction interaction = new Interaction((ulong)type, (ulong)id, position, dimension, (uint)range); AltInteractions.AddInteraction(interaction); interactions.Add($"{type}_{id}", interaction); return(interaction.Id); }
public async Task OnShutdown() { foreach (var interaction in _interactions) { AltInteractions.RemoveInteraction(interaction); } _interactions.Clear(); await Task.CompletedTask; }
private void RemoveInteraction(long type, long id) { Interaction interaction = GetInteraction(type, id); if (interaction == null) { return; } AltInteractions.RemoveInteraction(interaction); interactions.Remove($"{type}_{id}"); }
public void AddTest() { var position = GetRandomVector3(); var entity = new Interaction(1, 1, position, 0, 1); AltInteractions.AddInteraction(entity); var task = AltInteractions.FindInteractions(position, 0); task.Wait(); var interactions = task.Result; Assert.AreEqual(1, interactions.Length); Assert.AreEqual(entity, interactions[0]); }
public async Task OnStartup() { var data = File.ReadAllText(Path.Combine(Directory.GetCurrentDirectory(), "data", "dumps", "objectslocations", "worldAtms.json")); var allAtms = JsonConvert.DeserializeObject <List <WorldAtmObject> >(data); foreach (var atm in allAtms) { var interaction = new AtmInteraction((ulong)_interactions.Count, atm.Position, 0, 2); _interactions.Add(interaction); AltInteractions.AddInteraction(interaction); } await Task.CompletedTask; }
private void RegisterInteractionEvent(string name) { if (registeredEvents.ContainsKey(name)) { return; } Action <IPlayer, object> action = new Action <IPlayer, object>(new Action <IPlayer, object>(async(player, value) => { IInteraction[] interactions = await AltInteractions.FindInteractions(player.Position, player.Dimension); Alt.Emit(name, player, new Interactions(interactions), value); })); Alt.OnClient(name, new Action <IPlayer, object>(action)); registeredEvents.Add(name, action); }
public override void OnStart() { AltInteractions.Init(); Alt.Export("registerInteractionEvent", new Action <string>(RegisterInteractionEvent)); Alt.Export("unregisterInteractionEvent", new Action <string>(UnregisterInteractionEvent)); Alt.Export("createInteraction", new Func <long, long, Vector3, int, int, ulong>(CreateInteraction)); Alt.Export("setInteractionPosition", new Action <long, long, Vector3>(SetInteractionPosition)); Alt.Export("getInteractionPosition", new Func <long, long, Vector3>(GetInteractionPosition)); Alt.Export("setInteractionRange", new Action <long, long, int>(SetInteractionRange)); Alt.Export("getInteractionRange", new Func <long, long, uint>(GetInteractionRange)); Alt.Export("setInteractionDimension", new Action <long, long, int>(SetInteractionDimension)); Alt.Export("getInteractionDimension", new Func <long, long, int>(GetInteractionDimension)); Alt.Export("doesInteractionExist", new Func <long, long, bool>(DoesInteractionExist)); Alt.Export("removeInteraction", new Action <long, long>(RemoveInteraction)); }
public async Task OnStartup() { AltInteractions.Init(); await Task.CompletedTask; }
public async Task OnShutdown() { AltInteractions.Dispose(); await Task.CompletedTask; }
private void OnInteractionsTriggered(ServerPlayer player) { AltInteractions.TriggerInteractions(player); }
public override void OnStop() { AltInteractions.Dispose(); }
public void Setup() { AltInteractions.Init(); }
public void Cleanup() { AltInteractions.Dispose(); }