Example #1
0
    // ---------------------------------------------------------------- //
    // 통신 처리 함수.

    //
    public void OnReceiveSyncGamePacket(PacketId id, byte[] data)
    {
        Debug.Log("Receive GameSyncPacket.[TitleControl]");

        SyncGamePacket packet = new SyncGamePacket(data);
        SyncGameData   sync   = packet.GetPacket();

        for (int i = 0; i < sync.itemNum; ++i)
        {
            string log = "[CLIENT] Sync item pickedup " +
                         "itemId:" + sync.items[i].itemId +
                         " state:" + sync.items[i].state +
                         " ownerId:" + sync.items[i].ownerId;
            Debug.Log(log);

            ItemManager.ItemState istate = new ItemManager.ItemState();

            // 아이템의 상태를 매니저에 등록.
            istate.item_id = sync.items[i].itemId;
            istate.state   = (ItemController.State)sync.items[i].state;
            istate.owner   = sync.items[i].ownerId;

            if (GlobalParam.get().item_table.ContainsKey(istate.item_id))
            {
                GlobalParam.get().item_table.Remove(istate.item_id);
            }
            GlobalParam.get().item_table.Add(istate.item_id, istate);
        }

        isReceiveSyncGameData = true;
    }
Example #2
0
    public void OnReceiveSyncGamePacket(PacketId id, byte[] data)
    {
        SyncGamePacket packet   = new SyncGamePacket(data);
        SyncGameData   syncGame = packet.GetPacket();

        setSeed(syncGame.randomSeed);
        isPlayer1 = false;
        SceneManager.LoadScene("Hong");
    }
Example #3
0
    //connect 되었을 떄 서버에서 이루어지는 함수
    private void SendGameSyncInfo()
    {
        //랜덤 시드 정하고 보내준다
        setSeed(40);
        SyncGameData data = new SyncGameData();

        data.randomSeed = UnityEngine.Random.seed;
        SyncGamePacket packet = new SyncGamePacket(data);

        network_.SendReliable(packet);
        isPlayer1 = true;
        SceneManager.LoadScene("Hong");
    }
Example #4
0
    public void OnReceiveSyncGamePacket(PacketId id, byte[] data)
    {
        Debug.Log("Receive GameSyncPacket[CharacterRoot].");

        SyncGamePacket packet = new SyncGamePacket(data);
        SyncGameData   sync   = packet.GetPacket();

        Debug.Log("[CharId]" + sync.moving.characterId);
        Debug.Log("[HouseName]" + sync.moving.houseId);
        Debug.Log("[Moving]" + sync.moving.moving);

        if (sync.moving.characterId.Length == 0)
        {
            // 이사하지 않았다.
            return;
        }

        // 이사 정보 보존.
        GlobalParam.get().remote_moving = sync.moving;
    }
Example #5
0
    private void SendGameSyncInfo()
    {
        Debug.Log("[SERVER]SendGameSyncInfo start");

        SyncGameData data = new SyncGameData();

        data.version = SERVER_VERSION;
        data.itemNum = itemTable_.Count;
        data.items   = new ItemData[itemTable_.Count];

        // 서버에서는 이사 정보는 보내지 않습니다.
        data.moving             = new MovingData();
        data.moving.characterId = "";
        data.moving.houseId     = "";
        data.moving.moving      = false;

        int index = 0;

        foreach (ItemState state in itemTable_.Values)
        {
            data.items[index].itemId  = state.itemId;
            data.items[index].ownerId = state.ownerId;
            data.items[index].state   = (int)state.state;
            string log = "[SERVER] Item sync[" + index + "]" +
                         "itemId:" + data.items[index].itemId +
                         " state:" + data.items[index].state +
                         " ownerId:" + data.items[index].ownerId;
            Debug.Log(log);
            ++index;
        }

        Debug.Log("[SERVER]SendGameSyncInfo end");

        SyncGamePacket packet = new SyncGamePacket(data);

        network_.SendReliable <SyncGameData>(packet);
    }
Example #6
0
	private void SendGameSyncInfo()
	{
		Debug.Log("[SERVER]SendGameSyncInfo start");

		SyncGameData data = new SyncGameData();

		data.version = SERVER_VERSION;
		data.itemNum = itemTable_.Count;
		data.items = new ItemData[itemTable_.Count];

		// 서버에서는 이사 정보는 보내지 않습니다.
		data.moving = new MovingData();
		data.moving.characterId = "";
		data.moving.houseId = "";
		data.moving.moving = false;

		int index = 0;
		foreach (ItemState state in itemTable_.Values) {
			data.items[index].itemId = state.itemId;
			data.items[index].ownerId = state.ownerId;
			data.items[index].state = (int)state.state;
			string log = "[SERVER] Item sync[" + index + "]" +
					"itemId:" + data.items[index].itemId +
					" state:" + data.items[index].state +
					" ownerId:" + data.items[index].ownerId;
			Debug.Log(log);
			++index;
		}

		Debug.Log("[SERVER]SendGameSyncInfo end");

		SyncGamePacket packet = new SyncGamePacket(data);
		network_.SendReliable<SyncGameData>(packet);
	}
Example #7
0
	// ---------------------------------------------------------------- //
	// 통신 처리 함수.

	// 
	public void OnReceiveSyncGamePacket(PacketId id, byte[] data)
	{
		Debug.Log("Receive GameSyncPacket.[TitleControl]");
		
		SyncGamePacket packet = new SyncGamePacket(data);
		SyncGameData sync = packet.GetPacket();
		
		for (int i = 0; i < sync.itemNum; ++i) {
			string log = "[CLIENT] Sync item pickedup " +
				"itemId:" + sync.items[i].itemId +
					" state:" + sync.items[i].state + 
					" ownerId:" + sync.items[i].ownerId;
			Debug.Log(log);
			
			ItemManager.ItemState istate = new ItemManager.ItemState();
			
			// 아이템의 상태를 매니저에 등록.
			istate.item_id = sync.items[i].itemId;
			istate.state = (ItemController.State) sync.items[i].state;
			istate.owner = sync.items[i].ownerId;
			
			if (GlobalParam.get().item_table.ContainsKey(istate.item_id)) {
				GlobalParam.get().item_table.Remove(istate.item_id);
			}
			GlobalParam.get().item_table.Add(istate.item_id, istate);
		}

		isReceiveSyncGameData = true;
	}