Example #1
0
        public void OnAssetReady(AssetsReadyPacket assetReady)
        {
            if (State != AssetLoadingState.BEGINING)
            {
                State = AssetLoadingState.BEGINING;
            }
            else
            {
                State = AssetLoadingState.RECIEVING;
                NumberOfAssetsToRecieve = _assetsRequested.Count;

                if (NumberOfAssetsToRecieve > 0)
                {
                    foreach (var packet in _assetsRequested)
                    {
                        packet.HaveIt = false; // asking for the asset
                        UnityClient.TcpClient.Send(packet);
                        Debug.Log("Asking for asset " + packet.ResquestedImageName);
                    }
                    LoadingBehaviour.Loading.StartLoading("Downloading Assets");
                }
                else
                {
                    DoneDownloading();
                }
            }
        }
Example #2
0
 public void DoneDownloading()
 {
     LoadingBehaviour.Loading.StopLoading();
     _assetsRequested.Clear();
     NumberOfAssetsToRecieve = 0;
     AssetsRecieved          = 0;
     State = AssetLoadingState.UPDATED;
     Debug.Log("Assets of user " + UnityClient.Player.UID + " ready");
     UnityClient.TcpClient.Send(new AssetsReadyPacket()
     {
         UserId = UnityClient.Player.UID
     });
 }
Example #3
0
 public void OnAsset(AssetPacket packet)
 {
     Debug.Log("ASSET PACKET");
     // If im recieving from the server that i need an asset
     if (packet.Asset == null)
     {
         // if i dont have it
         // if (!File.Exists(Path.Combine(Application.persistentDataPath, packet.ResquestedImageName)))
         // {
         _assetRequests.Add(packet);
         //  }
         //   else
         //    {
         //        var spriteMap = AssetHandler.LoadNewSprite(Path.Combine(Application.persistentDataPath, packet.ResquestedImageName));
         //        AssetHandler.LoadedAssets.Add(packet.ResquestedImageName, spriteMap);
         //         UnityClient.TcpClient.Send(new AssetsReadyPacket()
         //        {
         //             UserId = UnityClient.UserId
         //        });
         //    }
     }
     else
     {
         Debug.Log("Saving asset " + packet.ResquestedImageName);
         File.WriteAllBytes(Path.Combine(Application.persistentDataPath, packet.ResquestedImageName), packet.Asset);
         var spriteMap = AssetHandler.LoadNewSprite(Path.Combine(Application.persistentDataPath, packet.ResquestedImageName));
         AssetHandler.LoadedAssets.Add(packet.ResquestedImageName, spriteMap);
         AssetsRecieved++;
         if (AssetsRecieved == NumberOfAssetsToRecieve && AssetsRecieved > 0)
         {
             LoadingBehaviour.Loading.StopLoading();
             _assetRequests.Clear();
             NumberOfAssetsToRecieve = 0;
             AssetsRecieved          = 0;
             State = AssetLoadingState.UPDATED;
             Debug.Log("Assets of user " + UnityClient.Player.UserId + " ready");
             UnityClient.TcpClient.Send(new AssetsReadyPacket()
             {
                 UserId = UnityClient.Player.UserId
             });
         }
     }
 }