RefreshSingle() 공개 메소드

public RefreshSingle ( int player, int location, int sequence, int flag = 0x781fff ) : void
player int
location int
sequence int
flag int
리턴 void
예제 #1
0
        private void OnMove(CoreMessage msg)
        {
            byte[] raw = msg.Reader.ReadBytes(16);
            int    pc  = raw[4];
            int    pl  = raw[5];
            int    cc  = raw[8];
            int    cl  = raw[9];
            int    cs  = raw[10];
            int    cp  = raw[11];

            SendToPlayer(msg, cc);
            GamePacketWriter packet = GamePacketFactory.Create(msg.Message);

            packet.Write(raw);
            if (!Convert.ToBoolean((cl & ((int)CardLocation.Grave + (int)CardLocation.Overlay))) && Convert.ToBoolean((cl & ((int)CardLocation.Deck + (int)CardLocation.Hand))) ||
                Convert.ToBoolean((cp & (int)CardPosition.FaceDown)))
            {
                packet.SetPosition(2);
                packet.Write(0);
            }
            Game.SendToAllBut(packet, cc);

            if (cl != 0 && (cl & 0x80) == 0 && (cl != pl || pc != cc))
            {
                Game.RefreshSingle(cc, cl, cs);
            }
        }
예제 #2
0
        private void OnPosChange(CoreMessage msg)
        {
            byte[] raw = msg.Reader.ReadBytes(9);
            SendToAll(msg);

            int cc = raw[4];
            int cl = raw[5];
            int cs = raw[6];
            int pp = raw[7];
            int cp = raw[8];

            if ((pp & (int)CardPosition.FaceDown) != 0 && (cp & (int)CardPosition.FaceUp) != 0)
            {
                Game.RefreshSingle(cc, cl, cs);
            }
        }
예제 #3
0
 private void OnFlipSummoning(CoreMessage msg)
 {
     byte[] raw = msg.Reader.ReadBytes(8);
     Game.RefreshSingle(raw[4], raw[5], raw[6]);
     SendToAll(msg);
 }