示例#1
0
        public void RemoveUser(Session session)
        {
            Packet.MsgSvrCli_DestroyObject_Ntf ntf = new Packet.MsgSvrCli_DestroyObject_Ntf();
            ntf.objectIds.Add(session.bar.id);
            ntf.objectIds.Add(session.ball.id);

            session.room = null;
            session.bar.transform.SetParent(null);
            session.ball.transform.SetParent(null);

            GameObject.Destroy(session.bar.gameObject);
            GameObject.Destroy(session.ball.gameObject);

            sessions.Remove(session);

            foreach (Session s in sessions)
            {
                s.Send(ntf);
            }

            if (0 == sessions.Count)
            {
                GameObject.Destroy(gameObject);
            }
        }
示例#2
0
 public void OnRecv_DestroyObject_Ntf(Packet.MsgSvrCli_DestroyObject_Ntf ntf)
 {
     StartCoroutine(PacketDelay((float)Network.NetworkDelay / 1000, () =>
     {
         foreach (uint id in ntf.objectIds)
         {
             GameObject go = null;
             if (true == objects.TryGetValue(id, out go))
             {
                 GameObject.Destroy(go);
                 objects.Remove(id);
             }
         }
     }));
 }