// 서버에 접속된 이후에 처리할 루프
    // 마우스 입력이 들어오면 ENTER_GAME_ROOM_REQ 프로토콜을 요청하고
    // 중복 요청을 방지하기 위해서 현재 코루틴을 중지 시킨다.
    IEnumerator after_connected()
    {
        // CBattleRoom의 게임오버 상태에서 마우스 입력을 통해 메인 화면으로 넘어오도록 되어 있는데,
        // 한 프레임 내에서 이 코루틴이 실행될 경우 아직 마우스 입력이 남아있는것으로 판단되어
        // 메인 화면으로 돌아오자 마자 ENTER_GAME_ROOM_REQ패킷을 보내는 일이 발생한다.
        // 따라서 강제로 한 프레임을 건너뛰어 다음 프레임부터 코루틴의 내용이 수행될 수 있도록 한다.
        yield return(new WaitForEndOfFrame());

        while (true)
        {
            if (this.user_state == USER_STATE.CONNECTED)
            {
                if (Input.GetMouseButtonDown(0))
                {
                    this.user_state = USER_STATE.WAITING_MATCHING;

                    CPacket msg = CPacket.create((short)PROTOCOL.ENTER_GAME_ROOM_REQ);
                    this.network_manager.send(msg);

                    StopCoroutine("after_connected");
                }
            }

            yield return(0);
        }
    }
Example #2
0
    void Awake()
    {
        this.user_state      = USER_STATE.NOT_CONNECTED;
        this.network_manager = GameObject.FindObjectOfType <CNetworkManager>();
        this.user_state      = USER_STATE.NOT_CONNECTED;

        transform.FindChild("button_start").GetComponent <Button>().onClick.AddListener(this.on_play);
    }
Example #3
0
 ///// <summary>
 ///// 서버에 접속이 완료되면 호출됨.
 ///// </summary>
 public void on_connected()
 {
     this.user_state = USER_STATE.CONNECTED;
     LoadingImage.SetActive(false);
     StartCoroutine("after_connected");
     CPacketSender.ID_CHANGE_REQ_SEND(
         PlayerPrefs.GetString("id", "noname"),
         PlayerPrefs.GetInt("level", 1));
 }
Example #4
0
    // Use this for initialization
    void Start()
    {
        this.user_state  = USER_STATE.NOT_CONNECTED;
        this.bg          = Resources.Load("images/title_blue") as Texture;
        this.battle_room = GameObject.Find("BattleRoom").GetComponent <CBattleRoom>();
        this.battle_room.gameObject.SetActive(false);

        this.network_manager = GameObject.Find("NetworkManager").GetComponent <CNetworkManager>();

        this.user_state = USER_STATE.NOT_CONNECTED;
        enter();
    }
Example #5
0
    public void Enter()
    {
        this.network_manager.messageReceiver = this;

        if (!this.network_manager.is_connected())
        {
            this.userState = USER_STATE.CONNECTED;
            this.network_manager.connect();
        }
        else
        {
            on_connected();
        }
    }
    public void enter()
    {
        StopCoroutine("after_connected");

        this.network_manager.message_receiver = this;

        if (!this.network_manager.is_connected())
        {
            this.user_state = USER_STATE.CONNECTED;
            this.network_manager.connect();
        }
        else
        {
            on_connected();
        }
    }
Example #7
0
    public bool MatchingRequest()
    {
        Debug.Log("MatchingRequest");
        if (userState.Equals(USER_STATE.WAITING_MATCHING) || userState.Equals(USER_STATE.NOT_CONNECTED))
        {
            return(false);
        }
        CPacket msg = CPacket.create((short)PROTOCOL.ENTER_GAME_ROOM_REQ);

        for (int i = 0; i < Constants.BUILDING_PER_DECK; i++)
        {
            Debug.Log("Deck transfering: " + DeckManager.instance.NowDeck[i].CardType);
            msg.push((byte)DeckManager.instance.NowDeck[i].CardType);
        }
        network_manager.send(msg);
        userState = USER_STATE.WAITING_MATCHING;
        return(true);
    }
    public void ChangeUserState(USER_STATE state)
    {
        userState = state;

        switch (userState)
        {
        case USER_STATE.IDLE:
            lineMan.RemoveMousePointFromLine();
            mouseCursor.GetComponent <SpriteRenderer>().enabled = false;
            CheckLevelComplete();
            break;

        case USER_STATE.DRAWING:
            lineMan.AddMousePointToLine();
            mouseCursor.GetComponent <SpriteRenderer>().enabled = true;

            //mouseCursor.SetActive(true);
            break;
        }
    }
Example #9
0
    void on_status_changed(NETWORK_EVENT status)
    {
        switch (status)
        {
        case NETWORK_EVENT.connected:
        {
            CLogManager.log("on connected");
            this.received_msg += "on connected\n";
            user_state         = USER_STATE.CONNECTED;
            break;
        }

        case NETWORK_EVENT.disconnected:
        {
            CLogManager.log("disconnected");
            this.received_msg += "disconnected\n";
            user_state         = USER_STATE.NOT_CONNECTED;
            break;
        }
        }
    }
Example #10
0
    IEnumerator after_connected()
    {
        yield return(new WaitForEndOfFrame());

        while (true)
        {
            if (this.user_state == USER_STATE.CONNECTED)
            {
                if (Input.GetMouseButtonDown(0))
                {
                    this.user_state = USER_STATE.WAITING_MATCHING;

                    CPacket msg = CPacket.create((short)PROTOCOL.ENTER_GAME_ROOM_REQ);
                    this.network_manager.send(msg);

                    StopCoroutine("after_connected");
                }
            }

            yield return(0);
        }
    }
Example #11
0
    //Texture waiting_img;

    //  public UnityEngine.UI.Text ResultCode;
    //  public GameObject gResultCode;
    void OnEnable()
    {
        network_manager = gameObject.AddComponent <CNetworkManager>();
        this.user_state = USER_STATE.NOT_CONNECTED;
        OnServerEnter();
    }
Example #12
0
 public bool StateIs(USER_STATE test)
 {
     return StateTest(this.state, test);
 }
Example #13
0
 public static bool StateTest(USER_STATE state, USER_STATE test)
 {
     return ((state & test) != 0);
 }
Example #14
0
 public void on_connected()
 {
     this.userState = USER_STATE.CONNECTED;
 }
Example #15
0
    // 서버에 접속이 완료되면 호출됨
    public void on_connected()
    {
        this.user_state = USER_STATE.CONNECTED;

        StartCoroutine("after_connected");
    }
Example #16
0
 public static bool StateTest(USER_STATE state, USER_STATE test)
 {
     return((state & test) != 0);
 }
Example #17
0
 private void Start()
 {
     this.userState = USER_STATE.NOT_CONNECTED;
 }
Example #18
0
 public bool StateIs(USER_STATE test)
 {
     return(StateTest(this.state, test));
 }
 void OnEnable()
 {
     network_manager = gameObject.AddComponent <CNetworkManager>();
     //network_manager.SaveServer = true;
     this.user_state = USER_STATE.NOT_CONNECTED;
 }