void Start() { if (instance != null) { return; } instance = this; int gridCount = gridSize * gridSize; for (int i = 0; i < gridCount; i++) { gridItems.Add(new CraftingComponent()); } // Listen for messages from the server NetworkAPI.RegisterExtensionMessageHandler("CraftingGridMsg", HandleCraftingGridResponse); NetworkAPI.RegisterExtensionMessageHandler("CraftingMsg", HandleCraftingMessage); NetworkAPI.RegisterExtensionMessageHandler("BlueprintMsg", HandleBlueprintMessage); NetworkAPI.RegisterExtensionMessageHandler("resource_drops", HandleResourceDropsMessage); NetworkAPI.RegisterExtensionMessageHandler("resource_state", HandleResourceStateMessage); NetworkAPI.RegisterExtensionMessageHandler("start_harvest_task", HandleStartHarvestTask); NetworkAPI.RegisterExtensionMessageHandler("harvest_task_interrupted", HandleInterruptHarvestTask); // Listen for inventory changes AtavismEventSystem.RegisterEvent("INVENTORY_UPDATE", this); }
public HomePageViewModel(MainPageViewModel mainPageViewModel) { this.mainPageViewModel = mainPageViewModel; EstablishmentClickedCommand = new RelayCommand((object args) => EstablishmentClicked(args)); NetworkAPI = new NetworkAPI(); InitializeHomePage(); }
public void CraftItemBook(int recipeID, int count) { try { AtavismLogger.LogInfoMessage("Got Message CraftItemBook"); Dictionary <string, object> props = new Dictionary <string, object>(); //properties["CraftType"] = craftType; LinkedList <object> items = new LinkedList <object>(); LinkedList <object> itemCounts = new LinkedList <object>(); props.Add("count", count); props.Add("gridSize", gridSize); props.Add("components", items); props.Add("componentCounts", itemCounts); props.Add("RecipeId", recipeID); props.Add("stationType", stationType.ToString()); if (recipeItem != null) { props.Add("recipeItemID", recipeItem.templateId); } else { props.Add("recipeItemID", -1); } props.Add("coordEffect", coordEffect); NetworkAPI.SendExtensionMessage(ClientAPI.GetPlayerOid(), false, "crafting.CRAFT_ITEM", props); // Debug.LogError("CraftItemBook End"); } catch (System.Exception e) { AtavismLogger.LogError("Got Exeption " + e.Message); } AtavismLogger.LogInfoMessage("CraftItemBook End"); }
public void SendGroupChatMessage(string message) { Dictionary <string, object> props = new Dictionary <string, object>(); props.Add("message", message); NetworkAPI.SendExtensionMessage(ClientAPI.GetPlayerOid(), false, "ao.GROUP_CHAT", props); }
public void RecipesPropertyHandler(object sender, ObjectPropertyChangeEventArgs args) { if (args.Oid != ClientAPI.GetPlayerOid()) { return; } LinkedList <object> recipes_prop = (LinkedList <object>)ClientAPI.GetPlayerObject().GetProperty("recipes"); Debug.Log("Got player recipes property change: " + recipes_prop); //LinkedList<string> recipeIDs = new LinkedList<string>(); int numRecipes = 0; Dictionary <string, object> props = new Dictionary <string, object>(); foreach (string recipeString in recipes_prop) { // Get items bool haveBlueprint = false; int recipeID = int.Parse(recipeString); foreach (Blueprint bp in blueprints) { if (bp.recipeID == recipeID) { haveBlueprint = true; } } if (!haveBlueprint) { props.Add("recipe" + numRecipes, recipeID); numRecipes++; } } props.Add("numRecipes", numRecipes); NetworkAPI.SendExtensionMessage(ClientAPI.GetPlayerOid(), false, "crafting.GET_BLUEPRINTS", props); }
private async Task ShowPromotionAsync() { NetworkAPI networkAPI = new NetworkAPI(); Establishment establishment = await networkAPI.GetEstablishmentById(Promotion.Establishment.EstablishmentId); mainPageViewModel.NavigateTo(new EstablishmentDetailViewModel(establishment, mainPageViewModel)); }
public void CraftItem() { // Debug.LogError("CraftItem"); Dictionary <string, object> props = new Dictionary <string, object>(); //properties["CraftType"] = craftType; LinkedList <object> items = new LinkedList <object>(); LinkedList <object> itemCounts = new LinkedList <object>(); for (int i = 0; i < gridItems.Count; i++) { if (gridItems[i].item != null) { items.AddLast(gridItems[i].item.ItemId.ToLong()); itemCounts.AddLast(gridItems[i].count); } } props.Add("gridSize", gridSize); props.Add("components", items); props.Add("componentCounts", itemCounts); props.Add("RecipeId", recipeID); props.Add("stationType", stationType.ToString()); if (recipeItem != null) { props.Add("recipeItemID", recipeItem.templateId); } else { props.Add("recipeItemID", -1); } props.Add("coordEffect", coordEffect); NetworkAPI.SendExtensionMessage(ClientAPI.GetPlayerOid(), false, "crafting.CRAFT_ITEM", props); }
public async void SubscriptionToastAsync(MainPageViewModel mainPageViewModel) { MainPage = mainPageViewModel; NetworkAPI networkAPI = new NetworkAPI(); User user = await networkAPI.GetUser(); if (user.UserId != -2) { //eerst initialiseren anders null indien file niet bestaat List <Establishment> subs = new List <Establishment>(); subs = await networkAPI.GetSubscriptions(); if (subs.Count != 0) { try { bool isEqual = await networkAPI.CheckSubbedDifferenceByJSONAsync(subs); if (!isEqual) { //als veranderd, dan toast tonen en wegschrijven van nieue subs ToastNotificationManager.CreateToastNotifier().Show(new Toast().createToast("Stapp", "Er zijn nieuwe promoties of evenementen toegevoegd, klik hier om ze te bekijken!")); await networkAPI.SaveSubscribedEstablishemtsAsync(subs); } } catch { await networkAPI.SaveSubscribedEstablishemtsAsync(subs); } } } }
public void SetAction(int bar, int slot, Activatable action, bool movingSlot, int sourceBar, int sourceSlot) { string actionString = ""; if (action is AtavismAbility) { AtavismAbility ability = (AtavismAbility)action; actionString = "a" + ability.id; } else if (action is AtavismInventoryItem) { AtavismInventoryItem item = (AtavismInventoryItem)action; actionString = "i" + item.templateId; } //NetworkAPI.SendTargetedCommand(ClientAPI.GetPlayerOid(), "/updateActionBar " + slot + " " + actionString); Dictionary <string, object> props = new Dictionary <string, object>(); props.Add("bar", bar); props.Add("slot", slot); props.Add("action", actionString); props.Add("movingSlot", movingSlot); props.Add("sourceBar", sourceBar); props.Add("sourceSlot", sourceSlot); NetworkAPI.SendExtensionMessage(ClientAPI.GetPlayerOid(), false, "combat.UPDATE_ACTIONBAR", props); }
public void DeleteMail(MailEntry mail) { Dictionary <string, object> props = new Dictionary <string, object>(); props.Add("mailID", mail.mailId); NetworkAPI.SendExtensionMessage(ClientAPI.GetPlayerOid(), false, "inventory.DELETE_MAIL", props); }
private void OnDestroy() { NetworkAPI.RemoveExtensionMessageHandler("Arena_List", _HandleArenaList); NetworkAPI.RemoveExtensionMessageHandler("Arena_stat_update", _HandleArenaStatUpdate); NetworkAPI.RemoveExtensionMessageHandler("arena_setup", _HandleArenaSetup); NetworkAPI.RemoveExtensionMessageHandler("arena_end", HandleArenaEndMessage); }
private void OnDestroy() { NetworkAPI.RemoveExtensionMessageHandler("ao.TRADE_START", HandleTradeStart); NetworkAPI.RemoveExtensionMessageHandler("ao.TRADE_START_REQ_PARTNER", HandleTradeRequest); NetworkAPI.RemoveExtensionMessageHandler("ao.TRADE_OFFER_UPDATE", HandleTradeOfferUpdate); NetworkAPI.RemoveExtensionMessageHandler("ao.TRADE_COMPLETE", HandleTradeComplete); }
// Use this for initialization void Start() { if (instance != null) { return; } instance = this; myOffers = new List <AtavismInventoryItem>(); for (int i = 0; i < tradeSlotCount; i++) { myOffers.Add(null); } theirOffers = new List <AtavismInventoryItem>(); for (int i = 0; i < tradeSlotCount; i++) { theirOffers.Add(null); } myCurrencyOffers = new Dictionary <string, int>(); theirCurrencyOffers = new List <CurrencyDisplay>(); NetworkAPI.RegisterExtensionMessageHandler("ao.TRADE_START", HandleTradeStart); NetworkAPI.RegisterExtensionMessageHandler("ao.TRADE_START_REQ_PARTNER", HandleTradeRequest); NetworkAPI.RegisterExtensionMessageHandler("ao.TRADE_OFFER_UPDATE", HandleTradeOfferUpdate); NetworkAPI.RegisterExtensionMessageHandler("ao.TRADE_COMPLETE", HandleTradeComplete); }
public void CreateGuild(string guildName) { Dictionary <string, object> props = new Dictionary <string, object>(); props.Add("guildName", guildName); NetworkAPI.SendExtensionMessage(ClientAPI.GetPlayerOid(), false, "guild.createGuild", props); }
/// <summary> /// Function send message remove plyer from group to server /// </summary> /// <param name="oid"></param> public void RemoveGroupMember(OID oid) { Dictionary <string, object> props = new Dictionary <string, object>(); props.Add("target", oid); NetworkAPI.SendExtensionMessage(ClientAPI.GetPlayerOid(), false, "ao.GROUP_REMOVE_MEMBER", props); }
/// <summary> /// Function send message promote leader group to server /// </summary> /// <param name="oid"></param> public void PromoteToLeader(OID oid) { Dictionary <string, object> props = new Dictionary <string, object>(); props.Add("target", oid); NetworkAPI.SendExtensionMessage(ClientAPI.GetPlayerOid(), false, "ao.GROUP_PROMOTE_LEADER", props); }
public override void Init(MyObjectBuilder_SessionComponent sessionComponent) { NetworkAPI.LogNetworkTraffic = false; Tools.DebugMode = true; IsNotificationInitialized = MyAPIGateway.Utilities.IsDedicated; if (!NetworkAPI.IsInitialized) { NetworkAPI.Init(ModId, ModName, ModKeyword); } NetSettings = new NetSync <Settings>(this, TransferType.ServerToClient, Settings.Static); NetSettings.ValueChangedByNetwork += UpdateSettings; //NetSettings.BeforeFetchRequestResponse += SettingsRequest; if (!MyAPIGateway.Session.IsServer) { NetworkAPI.Instance.RegisterChatCommand("load", (args) => NetworkAPI.Instance.SendCommand("load")); } else { NetworkAPI.Instance.RegisterNetworkCommand("load", ServerCallback_Load); NetworkAPI.Instance.RegisterChatCommand("load", (args) => { Settings.Load(); NetSettings.Value = Settings.Static; }); } Settings.Load(); NetSettings.Value = Settings.Static; }
public override void Init(MyObjectBuilder_SessionComponent sessionComponent) { if (!NetworkAPI.IsInitialized) { NetworkAPI.Init(ComId, ModName, CommandKeyword); } Network.RegisterChatCommand(string.Empty, Chat_Help); Network.RegisterChatCommand("help", Chat_Help); Network.RegisterChatCommand("hud", Chat_Hud); Network.RegisterChatCommand("config", Chat_Config); Network.RegisterChatCommand("debug", Chat_Debug); if (Network.NetworkType == NetworkTypes.Client) { Network.RegisterNetworkCommand(null, ClientCallback_Update); Network.RegisterChatCommand("update", (args) => { Network.SendCommand("update"); }); Network.RegisterChatCommand("load", (args) => { Network.SendCommand("load"); }); } else { Network.RegisterNetworkCommand("update", ServerCallback_Update); Network.RegisterNetworkCommand("load", ServerCallback_Load); Network.RegisterChatCommand("load", (args) => { cfg = Settings.Load(); }); } MyLog.Default.Info("[RelativeTopSpeed] Starting."); MyAPIGateway.Entities.OnEntityAdd += AddGrid; MyAPIGateway.Entities.OnEntityRemove += RemoveGrid; cfg = Settings.Load(); }
public override void Init(MyObjectBuilder_SessionComponent sessionComponent) { NetworkAPI.LogNetworkTraffic = true; if (!NetworkAPI.IsInitialized) { NetworkAPI.Init(ModId, ModName); } if (MyAPIGateway.Multiplayer.IsServer) { SettingsUpdated = true; Config = Settings.Load(); Network.RegisterNetworkCommand(Command_Store, Store_Server); Network.RegisterNetworkCommand(Command_Place, Place_Server); Network.RegisterNetworkCommand(Command_Settings, Settings_Server); Network.RegisterNetworkCommand(Command_Preview, Preview_Server); } else { Config = Settings.GetDefaults(); Network.RegisterNetworkCommand(Command_Settings, Settings_Client); Network.RegisterNetworkCommand(Command_Error, Error_Client); Network.RegisterNetworkCommand(Command_Preview, Preview_Client); } }
public void ImproveBuildObject() { if (selectedObject == null) { return; } if (itemsForUpgradeMustBeInserted && (itemsPlacedToUpgrade.Count == 0 || selectedObject.ItemReqs.Count > itemsPlacedToUpgrade.Count)) { return; } Dictionary <string, object> props = new Dictionary <string, object>(); props.Add("claimID", activeClaim.id); props.Add("objectID", selectedObject.ID); props.Add("itemsCount", itemsPlacedToUpgrade.Count); for (int i = 0; i < itemsPlacedToUpgrade.Count; i++) { props.Add("itemID" + i, itemsPlacedToUpgrade[i].templateId); props.Add("itemOID" + i, itemsPlacedToUpgrade[i].ItemId); props.Add("count" + i, itemsPlacedToUpgrade[i].Count); } NetworkAPI.SendExtensionMessage(ClientAPI.GetPlayerOid(), false, "voxel.UPGRADE_BUILDING_OBJECT", props); Debug.Log("Sending " + itemsPlacedToUpgrade.Count + " items"); }
void Start() { if (instance != null) { return; } instance = this; tempSkillDataStorage = new GameObject("TemporarySkillData"); DontDestroyOnLoad(tempSkillDataStorage); skills = new Dictionary <int, Skill>(); Object[] skillPrefabs = Resources.LoadAll("Content/Skills"); foreach (Object skillPrefab in skillPrefabs) { GameObject go = (GameObject)skillPrefab; Skill skillData = go.GetComponent <Skill>(); if (skillData != null && skillData.id > 0 && !skills.ContainsKey(skillData.id)) { skills.Add(skillData.id, skillData); } } // Register for skills message NetworkAPI.RegisterExtensionMessageHandler("skills", HandleSkillUpdate); }
/// <summary> /// Function send message request group invitation to server /// </summary> /// <param name="targetOid"></param> public void SendInviteRequestMessage(OID targetOid) { Dictionary <string, object> props = new Dictionary <string, object>(); props.Add("target", targetOid); NetworkAPI.SendExtensionMessage(ClientAPI.GetPlayerOid(), false, "ao.GROUP_INVITE", props); }
void LocatePosition() { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if (Physics.Raycast(ray, out hit, 1000, ~ignoreLayers)) { if (hit.collider.GetComponent <ClickToMoveTargetableObject>()) { GameObject tempTarget = hit.collider.gameObject; float distanceToStop = tempTarget.GetComponent <ClickToMoveTargetableObject>().distanceToStopAt; if (Vector3.Distance(target.position, hit.transform.position) > distanceToStop + 0.25f) { return; } } clickedTarget = null; distanceToStopAt = 0; ClientAPI.SetTarget(-1); NetworkAPI.SendAttackMessage(ClientAPI.GetTargetOid(), "strike", false); if (hit.collider.tag != "Player" && hit.collider.tag != "Enemy" && IsInLayerMask(hit.collider.gameObject, layerMask) || clickedTarget != null) { position = hit.point; } } }
public void Pass() { Dictionary <string, object> props = new Dictionary <string, object>(); props.Add("roll", 0); props.Add("loottarget", mob); NetworkAPI.SendExtensionMessage(ClientAPI.GetPlayerOid(), false, "inventory.LOOT_ROLL", props); }
public void RequestClaimObjectInfo(int claimObjectID) { Dictionary <string, object> props = new Dictionary <string, object>(); props.Add("claimID", activeClaim.id); props.Add("objectID", claimObjectID); NetworkAPI.SendExtensionMessage(ClientAPI.GetPlayerOid(), false, "voxel.GET_CLAIM_OBJECT_INFO", props); }
public void PurchaseClaim() { Dictionary <string, object> props = new Dictionary <string, object>(); props.Add("claimID", activeClaim.id); NetworkAPI.SendExtensionMessage(ClientAPI.GetPlayerOid(), false, "voxel.PURCHASE_CLAIM", props); //ClientAPI.Write("Sent purchase claim message"); }
void ClientReady() { // Register for abilities property ClientAPI.WorldManager.RegisterObjectPropertyChangeHandler("abilities", AbilitiesPropertyHandler); ClientAPI.WorldManager.RegisterObjectPropertyChangeHandler("effects", EffectsPropertyHandler); NetworkAPI.RegisterExtensionMessageHandler("cooldown", HandleCooldown); }
public void RemoveBuff(AtavismEffect effect, int pos) { Dictionary <string, object> props = new Dictionary <string, object>(); props.Add("effectID", effect.id); props.Add("pos", pos); NetworkAPI.SendExtensionMessage(ClientAPI.GetPlayerOid(), false, "ao.REMOVE_BUFF", props); }
public void GetAuctionList() { AtavismLogger.LogDebugMessage("GetAuctionList Start"); Dictionary <string, object> props = new Dictionary <string, object>(); NetworkAPI.SendExtensionMessage(0, false, "auction.list", props); AtavismLogger.LogDebugMessage("GetAuctionList End"); }
void ClientReady() { NetworkAPI.RegisterExtensionMessageHandler("combat_event", HandleCombatEvent); NetworkAPI.RegisterExtensionMessageHandler("Duel_Challenge", HandleDuelChallenge); NetworkAPI.RegisterExtensionMessageHandler("Duel_Challenge_End", HandleDuelChallengeEnd); AtavismClient.Instance.WorldManager.RegisterObjectPropertyChangeHandler("state", HandleState); }
// Use this for initialization void Start() { if (instance != null) { return; } instance = this; MessageDispatcher.Instance.RegisterHandler(WorldMessageType.Extension, HandleExtensionMessage); }