Ejemplo n.º 1
0
    public void Activate(List <FieldModel.SlotInfo> slot_infos)
    {
        Deactivate();
        SetSlotInfos(slot_infos);
        Coop_Model_RegisterACK registerAck = MonoBehaviourSingleton <CoopNetworkManager> .I.registerAck;

        if (registerAck != null)
        {
            InitStage(registerAck.ids, registerAck.stgids, registerAck.stgidxs, registerAck.stghosts);
            InitClients(registerAck.ids, registerAck.stgids, registerAck.stgidxs, registerAck.stghosts);
            SetOwnerFirstClear(registerAck.of);
        }
        SetStatus(ROOM_STATUS.STAGE);
        MonoBehaviourSingleton <CoopManager> .I.coopMyClient.StageStart();

        if (isOwnerFirstClear)
        {
            CoopClient coopClient = clients.FindPartyOwner();
            if (coopClient == null)
            {
                Logd("Activate... party owner not found.");
                MonoBehaviourSingleton <CoopNetworkManager> .I.Close(1000, "Bye!", null);
            }
        }
    }
Ejemplo n.º 2
0
    private Coop_Model_ACK RecvRegister(Coop_Model_Register model)
    {
        if (!MonoBehaviourSingleton <UserInfoManager> .IsValid())
        {
            return(null);
        }
        Coop_Model_RegisterACK coop_Model_RegisterACK = new Coop_Model_RegisterACK();

        coop_Model_RegisterACK.ack      = model.u;
        coop_Model_RegisterACK.positive = true;
        coop_Model_RegisterACK.sid      = MonoBehaviourSingleton <CoopManager> .I.GetSelfID();

        coop_Model_RegisterACK.of = false;
        coop_Model_RegisterACK.ids.Add(MonoBehaviourSingleton <UserInfoManager> .I.userInfo.id);
        coop_Model_RegisterACK.stgids.Add(1);
        coop_Model_RegisterACK.stgidxs.Add(0);
        coop_Model_RegisterACK.stghosts.Add(true);
        return(coop_Model_RegisterACK);
    }
    public void Regist(ConnectData conn_data, Action <bool> call_back)
    {
        Coop_Model_Register coop_Model_Register = new Coop_Model_Register();

        coop_Model_Register.roomId = conn_data.roomId;
        coop_Model_Register.token  = conn_data.token;
        Logd("Regist. roomId={0}, token={1}", conn_data.roomId, conn_data.token);
        registerAck = null;
        SendServer(coop_Model_Register, true, delegate(Coop_Model_ACK ack)
        {
            bool obj    = true;
            registerAck = (ack as Coop_Model_RegisterACK);
            if (ack == null || !ack.positive)
            {
                obj = false;
                MonoBehaviourSingleton <KtbWebSocket> .I.Close(1000, "Bye!");
            }
            if (call_back != null)
            {
                call_back(obj);
            }
            return(true);
        }, null);
    }
 public void Clear()
 {
     sendId      = 0;
     registerAck = null;
     recvPromisePacketSequenceNoTable.Clear();
 }