Exemple #1
0
        public override void SyncPlayer(int toWho, int fromWho, bool newPlayer)
        {
            if (Main.netMode == NetmodeID.MultiplayerClient)
            {
                if (newPlayer)
                {
                    IntrinsicsSyncProtocol.SyncFromMe();
                    IntrinsicsSyncProtocol.SyncToMe();
                }
            }

            /*else if( Main.netMode == 2 ) {
             *      if( toWho == -1 && fromWho == this.player.whoAmI ) {
             *              this.OnConnectServer();
             *      }
             * }*/
        }
        ////////////////

        public void ClearIntrinsics(bool sync)
        {
            this.IntrinsicAccItem.Clear();
            this.IntrinsicArmItem.Clear();
            this.IntrinsicBuffItem.Clear();
            this.IntrinsicItemUids.Clear();
            this.IntrinsicToggle.Clear();

            if (sync && Main.netMode == 1)
            {
                if (this.player.whoAmI == Main.myPlayer)
                {
                    IntrinsicsSyncProtocol.SyncFromMe();
                }
                else
                {
                    IntrinsicsSyncProtocol.SyncFromOther(this.player.whoAmI);
                }
            }
        }
        public bool ToggleIntrinsic(int itemType)
        {
            if (!this.IntrinsicToggle.ContainsKey(itemType))
            {
                return(false);
            }

            this.IntrinsicToggle[itemType] = !this.IntrinsicToggle[itemType];

            if (Main.netMode == 1)
            {
                if (this.player.whoAmI == Main.myPlayer)
                {
                    IntrinsicsSyncProtocol.SyncFromMe();
                }
                else
                {
                    IntrinsicsSyncProtocol.SyncFromOther(this.player.whoAmI);
                }
            }

            return(this.IntrinsicToggle[itemType]);
        }
        ////////////////////

        public void ApplyIntrinsic(string itemUid, bool isEnabled)
        {
            this.IntrinsicItemUids.Add(itemUid);

            int itemId = ItemID.TypeFromUniqueKey(itemUid);

            if (itemId != 0)
            {
                Item item = this.LoadIntrinsicItem(itemId);

                Color rareColor;
                if (ItemRarityAttributeHelpers.RarityColor.TryGetValue(item.rare, out rareColor))
                {
                    string colorHex = rareColor.Hex3();

                    Main.NewText("The deal is made. Imparting [c/" + colorHex + ":" + item.HoverName + "]...");
                }
                else
                {
                    Main.NewText("The deal is made. Imparting " + item.HoverName + "...");
                }
            }

            this.IntrinsicToggle[itemId] = isEnabled;

            if (Main.netMode == 1)
            {
                if (this.player.whoAmI == Main.myPlayer)
                {
                    IntrinsicsSyncProtocol.SyncFromMe();
                }
                else
                {
                    IntrinsicsSyncProtocol.SyncFromOther(this.player.whoAmI);
                }
            }
        }
Exemple #5
0
 private void OnConnectClient()
 {
     IntrinsicsSyncProtocol.SyncFromMe();
 }