Ejemplo n.º 1
0
        ////////////////

        public override void SyncPlayer(int toWho, int fromWho, bool newPlayer)
        {
            if (Main.netMode == NetmodeID.Server)
            {
                PlayerDataNetData.SendToClients(this, toWho, fromWho);
            }
            else if (Main.netMode == NetmodeID.MultiplayerClient)
            {
                PlayerDataNetData.SendToServer(this);
            }
        }
Ejemplo n.º 2
0
        /////

        internal void SyncFromNet(PlayerDataNetData payload)
        {
            this.TriggeredCutsceneIDs_Player = new HashSet <CutsceneID>();

            int len = payload.ActivatedCutsceneModNames_Player.Length;

            for (int i = 0; i < len; i++)
            {
                string modName   = payload.ActivatedCutsceneModNames_Player[i];
                string className = payload.ActivatedCutsceneNames_Player[i];

                this.TriggeredCutsceneIDs_Player.Add(new CutsceneID(modName, className));
            }
        }
Ejemplo n.º 3
0
        public override void SendClientChanges(ModPlayer clientPlayer)
        {
            var  myclone    = clientPlayer as CutsceneLibPlayer;
            bool isDesynced = !this.TriggeredCutsceneIDs_Player.SetEquals(myclone.TriggeredCutsceneIDs_Player);

            if (isDesynced)
            {
                if (Main.netMode == NetmodeID.Server)
                {
                    PlayerDataNetData.SendToClients(this, -1, this.player.whoAmI);
                }
                else if (Main.netMode == NetmodeID.MultiplayerClient)
                {
                    PlayerDataNetData.SendToServer(this);                       // server only?
                }
            }
        }