Example #1
0
        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);
        }
Example #2
0
 public HomePageViewModel(MainPageViewModel mainPageViewModel)
 {
     this.mainPageViewModel      = mainPageViewModel;
     EstablishmentClickedCommand = new RelayCommand((object args) => EstablishmentClicked(args));
     NetworkAPI = new NetworkAPI();
     InitializeHomePage();
 }
Example #3
0
        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");
        }
Example #4
0
        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);
        }
Example #5
0
        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));
        }
Example #7
0
        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);
        }
Example #8
0
        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);
                    }
                }
            }
        }
Example #9
0
        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);
        }
Example #10
0
        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);
        }
Example #11
0
 private void OnDestroy()
 {
     NetworkAPI.RemoveExtensionMessageHandler("Arena_List", _HandleArenaList);
     NetworkAPI.RemoveExtensionMessageHandler("Arena_stat_update", _HandleArenaStatUpdate);
     NetworkAPI.RemoveExtensionMessageHandler("arena_setup", _HandleArenaSetup);
     NetworkAPI.RemoveExtensionMessageHandler("arena_end", HandleArenaEndMessage);
 }
Example #12
0
 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);
 }
Example #13
0
        // 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);
        }
Example #14
0
        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);
        }
Example #15
0
        /// <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);
        }
Example #16
0
        /// <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);
        }
Example #17
0
        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();
        }
Example #19
0
        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);
            }
        }
Example #20
0
        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");
        }
Example #21
0
        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);
        }
Example #22
0
        /// <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;
                }
            }
        }
Example #24
0
        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);
        }
Example #25
0
        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);
        }
Example #26
0
        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");
        }
Example #27
0
        void ClientReady()
        {
            // Register for abilities property
            ClientAPI.WorldManager.RegisterObjectPropertyChangeHandler("abilities", AbilitiesPropertyHandler);
            ClientAPI.WorldManager.RegisterObjectPropertyChangeHandler("effects", EffectsPropertyHandler);

            NetworkAPI.RegisterExtensionMessageHandler("cooldown", HandleCooldown);
        }
Example #28
0
        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);
        }
Example #29
0
        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");
        }
Example #30
0
        void ClientReady()
        {
            NetworkAPI.RegisterExtensionMessageHandler("combat_event", HandleCombatEvent);
            NetworkAPI.RegisterExtensionMessageHandler("Duel_Challenge", HandleDuelChallenge);
            NetworkAPI.RegisterExtensionMessageHandler("Duel_Challenge_End", HandleDuelChallengeEnd);

            AtavismClient.Instance.WorldManager.RegisterObjectPropertyChangeHandler("state", HandleState);
        }
Example #31
0
    // Use this for initialization
    void Start()
    {
        if (instance != null) {
            return;
        }
        instance = this;

        MessageDispatcher.Instance.RegisterHandler(WorldMessageType.Extension, HandleExtensionMessage);
    }