public void StartJumpToPosition(Vector3 pos, int skillID = -1) { var eventInstance = new ItemGeneric { ItemId = nebulaObject.Id, ItemType = nebulaObject.Type, CustomEventCode = (byte)CustomEventCode.JumpToPosition, EventData = new Hashtable { { (int)SPC.Position, pos.ToArray() }, { (int)SPC.Skill, skillID } } }; var eventData = new EventData((byte)EventCode.ItemGeneric, eventInstance); SendParameters sendParameters = new SendParameters { Unreliable = false, ChannelId = Settings.ItemEventChannel }; if (skillID == -1) { ReceiveEvent(eventData, sendParameters); } else { if (nebulaObject.IsPlayer()) { SendEventData(EventReceiver.OwnerAndSubscriber, eventData, sendParameters); } else { SendEventData(EventReceiver.ItemSubscriber, eventData, sendParameters); } } }
public void SendHeal(EventReceiver receiver, Hashtable healProperties) { if (!nebulaObject) { return; } if (receiver == EventReceiver.OwnerAndSubscriber || receiver == EventReceiver.ItemOwner) { if (nebulaObject.getItemType() != ItemType.Avatar) { receiver = EventReceiver.ItemSubscriber; } } healProperties.Add((int)SPC.ShotID, healID); healID++; if (healID == int.MaxValue) { healID = 1; } var eventInstance = new ItemGeneric { ItemId = nebulaObject.Id, ItemType = nebulaObject.Type, CustomEventCode = (byte)CustomEventCode.Heal, EventData = healProperties }; SendParameters sendParameters = new SendParameters { ChannelId = Settings.ItemEventChannel, Unreliable = false }; var eventData = new EventData((byte)EventCode.ItemGeneric, eventInstance); SendEventData(receiver, eventData, sendParameters); }
/// <summary> /// Send to subscribers event about interactable state of activator /// </summary> /// <param name="interactable">Current interactable activator state</param> public void SendActivatorEvent(bool interactable) { if (!nebulaObject) { return; } var eventInstance = new ItemGeneric { ItemId = nebulaObject.Id, ItemType = nebulaObject.Type, CustomEventCode = (byte)CustomEventCode.Activator, EventData = new Hashtable { { (int)SPC.Interactable, interactable } } }; SendParameters sendParameters = new SendParameters { ChannelId = Settings.ItemEventChannel, Unreliable = false }; var eventData = new EventData((byte)EventCode.ItemGeneric, eventInstance); var msg = new ItemEventMessage(nebulaObject as Item, eventData, sendParameters); (nebulaObject as Item).EventChannel.Publish(msg); }
public static ItemGeneric GetNearestItem(Vector2 position, float radius) { var items = GetNearbyItems(position, radius); if (items.Count == 0) { return(null); } Func <ItemGeneric, float> getRad = (item) => ((Vector2)item.transform.position - position).sqrMagnitude; ItemGeneric nearest = items[0]; float minDist = getRad(nearest); for (int i = 1; i < items.Count; i++) { var item = items[i]; float dist = getRad(item); if (dist < minDist) { //replace nearest nearest = item; minDist = dist; } } return(nearest); }
public void EventOnSkillsUpdated() { if (mSkills == null) { mSkills = GetComponent <PlayerSkills>(); } if (mCharacter == null) { } var eventInstance = new ItemGeneric { ItemId = nebulaObject.Id, ItemType = (byte)ItemType.Avatar, CustomEventCode = (byte)CustomEventCode.SkillsUpdated, EventData = mSkills.GetInfo(), GameReferenceId = nebulaObject.Id, CharacterId = mCharacter.characterId }; var eData = new EventData((byte)EventCode.ItemGeneric, eventInstance); SendParameters sendParameters = new SendParameters { Unreliable = false, ChannelId = Settings.ItemEventChannel }; this.Peer.SendEvent(eData, sendParameters); }
/// <summary> /// sends when player ship model updated /// </summary> public void EventOnShipModelUpdated() { if (mShip == null || mShip.shipModel == null) { return; } Hashtable eventData = new Hashtable(); //get array of all model slots state eventData.Add((int)SPC.Info, mShip.shipModel.GetInfo()); var eventInstance = new ItemGeneric { ItemId = string.Empty, ItemType = ItemType.Avatar.toByte(), CustomEventCode = (byte)CustomEventCode.ShipModelUpdated, EventData = eventData, GameReferenceId = nebulaObject.Id, CharacterId = mCharacter.characterId }; var eData = new EventData((byte)EventCode.ItemGeneric, eventInstance); SendParameters sendParameters = new SendParameters { Unreliable = false, ChannelId = Settings.ItemEventChannel }; this.Peer.SendEvent(eData, sendParameters); }
private async Task DoSelectedLink(ItemGeneric item) { Analytics.TrackEvent("Acceso al link sobre acoso escolar - ONG " + item.Title); await NavigationService.NavigateToAsync <WebViewModel>(new LinkWebView() { Title = item.Title, Url = item.UrlShare }); }
public override async Task InitializeAsync(object navigationData) { if (navigationData != null) { this.SelectedLink = navigationData as ItemGeneric; this.FileStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("Bully.Document." + this.SelectedLink.File); Title = SelectedLink.Title; MessagingCenter.Send <GenericPdfViewModel, ItemGeneric>(this, "LoadPdf", this.SelectedLink); Analytics.TrackEvent("Leer pdf" + SelectedLink.Title); } }
public void ReceiveTeleportJump(Hashtable status) { var evt = new ItemGeneric { ItemId = nebulaObject.Id, ItemType = nebulaObject.Type, CustomEventCode = (byte)CustomEventCode.TeleportJump, EventData = status }; var evtData = new EventData((byte)EventCode.ItemGeneric, evt); SendParameters sendParameters = new SendParameters { Unreliable = true, ChannelId = Settings.ItemEventChannel }; ReceiveEvent(evtData, sendParameters); }
public void SendSubZoneUpdate(EventReceiver receiver, int subZone) { var eventInstance = new ItemGeneric { ItemId = nebulaObject.Id, ItemType = nebulaObject.Type, CustomEventCode = (byte)CustomEventCode.UpdateSubZone, EventData = subZone }; SendParameters sendParameters = new SendParameters { ChannelId = Settings.ItemEventChannel, Unreliable = false }; var eventData = new EventData((byte)EventCode.ItemGeneric, eventInstance); SendEventData(receiver, eventData, sendParameters); }
public void ReceiveUpdateCombatStats() { var evt = new ItemGeneric { ItemId = nebulaObject.Id, ItemType = nebulaObject.Type, CustomEventCode = (byte)CustomEventCode.UpdateCombatStats, EventData = GetComponent <MmoActor>().ActionExecutor.GetCombatParams() }; var evtData = new EventData((byte)EventCode.ItemGeneric, evt); SendParameters sendParameters = new SendParameters { Unreliable = true, ChannelId = Settings.ItemEventChannel }; ReceiveEvent(evtData, sendParameters); }
public void SendKilled(EventReceiver receiver) { var eventInstance = new ItemGeneric { ItemId = nebulaObject.Id, ItemType = nebulaObject.Type, CustomEventCode = (byte)CustomEventCode.WasKilled, EventData = new Hashtable() }; SendParameters sendParameters = new SendParameters { ChannelId = Settings.ItemEventChannel, Unreliable = false }; var eventData = new EventData((byte)EventCode.ItemGeneric, eventInstance); SendEventData(receiver, eventData, sendParameters); }
public void ReceiveQuestConditionUpdate(Hashtable hash) { var eventInstance = new ItemGeneric { ItemId = nebulaObject.Id, ItemType = nebulaObject.Type, CustomEventCode = (byte)CustomEventCode.QuestConditionUpdate, EventData = hash }; SendParameters sendParameters = new SendParameters { Unreliable = false, ChannelId = Settings.ItemEventChannel }; EventData eventData = new EventData((byte)EventCode.ItemGeneric, eventInstance); ReceiveEvent(eventData, sendParameters); }
public void ReceiveCellsUpdated(Hashtable info) { var eventInstance = new ItemGeneric { ItemId = nebulaObject.Id, ItemType = nebulaObject.Type, CustomEventCode = (byte)CustomEventCode.CellsUpdated, EventData = info }; SendParameters sendParameters = new SendParameters { ChannelId = Settings.ItemEventChannel, Unreliable = false }; EventData eventData = new EventData((byte)EventCode.ItemGeneric, eventInstance); ReceiveEvent(eventData, sendParameters); }
/// <summary> /// Send to self player buffs info when they is updated /// </summary> /// <param name="buffHash"></param> public void ReceiveBuffsUpdate(Hashtable buffHash) { if (nebulaObject.IsPlayer()) { ItemGeneric eventInstance = new ItemGeneric { ItemId = nebulaObject.Id, ItemType = nebulaObject.Type, CustomEventCode = (byte)CustomEventCode.BuffsUpdated }; SendParameters sendParameters = new SendParameters { Unreliable = false, ChannelId = Settings.ItemEventChannel }; EventData eventData = new EventData((byte)EventCode.ItemGeneric, eventInstance); ReceiveEvent(eventData, sendParameters); } }
public void SendHealDron(Hashtable info) { var evt = new ItemGeneric { ItemId = nebulaObject.Id, ItemType = nebulaObject.Type, CustomEventCode = (byte)CustomEventCode.HealDron, EventData = info }; var evtData = new EventData((byte)EventCode.ItemGeneric, evt); SendParameters sendParameters = new SendParameters { Unreliable = false, ChannelId = Settings.ItemEventChannel }; SendEventData(EventReceiver.OwnerAndSubscriber, evtData, sendParameters); }
public void ReceivePassiveBonuses(Hashtable info) { var evt = new ItemGeneric { ItemId = nebulaObject.Id, ItemType = nebulaObject.Type, CustomEventCode = (byte)CustomEventCode.PassiveBonusesUpdate, EventData = info }; var evtData = new EventData((byte)EventCode.ItemGeneric, evt); SendParameters sendParameters = new SendParameters { Unreliable = false, ChannelId = Settings.ItemEventChannel }; ReceiveEvent(evtData, sendParameters); }
/// <summary> /// Send event to player about completion of dialog /// </summary> /// <param name="dialogId"></param> public void ReceiveDialogCompleted(string dialogId) { var eventInstance = new ItemGeneric { ItemId = nebulaObject.Id, ItemType = nebulaObject.Type, CustomEventCode = (byte)CustomEventCode.DialogCompleted, EventData = dialogId }; SendParameters sendParameters = new SendParameters { Unreliable = false, ChannelId = Settings.ItemEventChannel }; EventData eventData = new EventData((byte)EventCode.ItemGeneric, eventInstance); ReceiveEvent(eventData, sendParameters); }
public void SendCollectChest(Hashtable hash) { var eventInstance = new ItemGeneric { ItemId = nebulaObject.Id, ItemType = nebulaObject.Type, CustomEventCode = (byte)CustomEventCode.CollectChest, EventData = hash }; SendParameters sendParameters = new SendParameters { ChannelId = Settings.ItemEventChannel, Unreliable = false }; var eventData = new EventData((byte)EventCode.ItemGeneric, eventInstance); SendEventData(EventReceiver.ItemSubscriber, eventData, sendParameters); }
public void FoundLoreRecord(string id) { var eventInstance = new ItemGeneric { ItemId = nebulaObject.Id, ItemType = nebulaObject.Type, CustomEventCode = (byte)CustomEventCode.FoundLoreRecord, EventData = id }; SendParameters sendParameters = new SendParameters { ChannelId = Settings.ItemEventChannel, Unreliable = false }; var eventData = new EventData((byte)EventCode.ItemGeneric, eventInstance); ReceiveEvent(eventData, sendParameters); }
//Here i use ItemServicesChannel = 1 public void ReceiveNewQuests(CustomEventCode code, Hashtable hash) { ItemGeneric eventInstance = new ItemGeneric { ItemId = nebulaObject.Id, ItemType = nebulaObject.Type, CustomEventCode = (byte)code, EventData = hash }; SendParameters sendParameters = new SendParameters { Unreliable = false, ChannelId = Settings.ItemServicesChannel }; EventData eventData = new EventData((byte)EventCode.ItemGeneric, eventInstance); ReceiveEvent(eventData, sendParameters); }
public void SendUnderConstructChanged(bool underConstruct) { var evt = new ItemGeneric { ItemId = nebulaObject.Id, ItemType = nebulaObject.Type, CustomEventCode = (byte)CustomEventCode.UnderConstructChanged, EventData = underConstruct }; SendParameters sendParameters = new SendParameters { ChannelId = Settings.ItemEventChannel, Unreliable = false }; var eventData = new EventData((byte)EventCode.ItemGeneric, evt); SendEventData(EventReceiver.ItemSubscriber, eventData, sendParameters); }
public void TestReceiveEventOnOtherChannel() { ItemGeneric eventInstance = new ItemGeneric { ItemId = nebulaObject.Id, ItemType = nebulaObject.Type, CustomEventCode = (byte)CustomEventCode.TestEventOnOtherChannel, EventData = 0 }; EventData eventData = new EventData((byte)EventCode.ItemGeneric, eventInstance); SendParameters sendParameters = new SendParameters { Unreliable = false, ChannelId = 1 }; GetComponent <MmoActor>()?.Peer?.SendEvent(eventData, sendParameters); }
public void ReceivePlayerMark(Hashtable hash) { var eventInstance = new ItemGeneric { ItemId = nebulaObject.Id, ItemType = nebulaObject.Type, CustomEventCode = (byte)CustomEventCode.ReceivePlayerMark, EventData = hash }; SendParameters sendParameters = new SendParameters { ChannelId = Settings.ItemEventChannel, Unreliable = false }; var eventData = new EventData((byte)EventCode.ItemGeneric, eventInstance); ReceiveEvent(eventData, sendParameters); }
public void SendInvisibilityChanged(EventReceiver receiver, bool invisibleValue) { ItemGeneric eventInstance = new ItemGeneric { ItemId = nebulaObject.Id, ItemType = nebulaObject.Type, CustomEventCode = (byte)CustomEventCode.InvisibilityChanged, EventData = invisibleValue }; SendParameters sendParameters = new SendParameters { ChannelId = Settings.ItemEventChannel, Unreliable = false }; EventData eventData = new EventData((byte)EventCode.ItemGeneric, eventInstance); SendEventData(receiver, eventData, sendParameters); }
public void ResurrectBySkillEffect() { var eventInstance = new ItemGeneric { ItemId = nebulaObject.Id, ItemType = nebulaObject.Type, CustomEventCode = (byte)CustomEventCode.ResurrectByKillEffect, EventData = new Hashtable() }; SendParameters sendParameters = new SendParameters { ChannelId = Settings.ItemEventChannel, Unreliable = false }; var eventData = new EventData((byte)EventCode.ItemGeneric, eventInstance); SendEventData(EventReceiver.OwnerAndSubscriber, eventData, sendParameters); }
public static void SendEventShipDestroyed(this Item item, bool shipDestroyed) { if (item == null) { return; } if (item.Disposed) { return; } if (item.Fiber == null) { return; } //CL.Out(LogFilter.NPC, "SEND ITEM SHIP DESTROYED"); item.Fiber.Enqueue(() => { if (item.Disposed) { CL.Out(LogFilter.NPC, "ITEM DISPOSED, SENDING NOT ALLOWED"); return; } var eventInstance = new ItemGeneric { ItemId = item.Id, ItemType = item.Type, CustomEventCode = CustomEventCode.ItemShipDestroyed.toByte(), EventData = shipDestroyed }; var eventData = new EventData(EventCode.ItemGeneric.toByte(), eventInstance); SendParameters sendParameters = new SendParameters { Unreliable = false, ChannelId = Settings.ItemEventChannel, }; if (item is IMmoItem) { (item as IMmoItem).ReceiveEvent(eventData, sendParameters); } item.EventChannel.Publish(new ItemEventMessage(item, eventData, sendParameters)); }); }
public void ReceiveExp(int exp) { var evt = new ItemGeneric { ItemId = nebulaObject.Id, ItemType = nebulaObject.Type, CustomEventCode = (byte)CustomEventCode.ReceiveExp, EventData = new Hashtable { { (int)SPC.Exp, exp } } }; var evtData = new EventData((byte)EventCode.ItemGeneric, evt); SendParameters sendParameters = new SendParameters { Unreliable = true, ChannelId = Settings.ItemEventChannel }; ReceiveEvent(evtData, sendParameters); }
public override void Update() { base.Update(); var newNearest = ItemGeneric.GetNearestItem(this.transform.position, itemPickupRadius); if (newNearest != itemPickupTarget) { //highlight the item newNearest?.SpriteRenderer.material.SetColor("_HighlightColor", itemHighlightColor); //un highlight the previous item itemPickupTarget?.SpriteRenderer.material.SetColor("_HighlightColor", new Color(0, 0, 0, 0)); //replace the previous item itemPickupTarget = newNearest; } }
public void ReceiveCode(RPCErrorCode code) { var eventInstance = new ItemGeneric { ItemId = nebulaObject.Id, ItemType = nebulaObject.Type, CustomEventCode = (byte)CustomEventCode.ReceiveErrorCode, EventData = new Hashtable { { (int)SPC.ReturnCode, (int)code } } }; SendParameters sendParameters = new SendParameters { Unreliable = false, ChannelId = Settings.ItemEventChannel }; EventData eventData = new EventData((byte)EventCode.ItemGeneric, eventInstance); ReceiveEvent(eventData, sendParameters); }