Ejemplo n.º 1
0
            public static DefaultPool <SamplePooledEvent> .PooledObject GetPoolable(string data, out SamplePooledEvent e)
            {
                e      = s_EventsPool.Get();
                e.Data = data;

                var poolable = new DefaultPool <SamplePooledEvent> .PooledObject(e, s_EventsPool);

                return(poolable);
            }
Ejemplo n.º 2
0
 static Cache()
 {
     Caches      = new CacheRegister();
     DefaultPool = Caches[DefaultName];
     DefaultPool.SetResetAction((instance) => { });
     DefaultPool.Added   += (sender, arg) => Added(sender, arg);
     DefaultPool.Removed += (sender, arg) => Removed(sender, arg);
     CacheLog.AddType(typeof(Cache <T>));
 }
Ejemplo n.º 3
0
    // Start is called before the first frame update
    void Start()
    {
        DefaultPool pool = PhotonNetwork.PrefabPool as DefaultPool;

        if (pool != null && this.Prefabs != null)
        {
            foreach (GameObject prefab in this.Prefabs)
            {
                pool.ResourceCache.Add(prefab.name, prefab);
            }
        }
    }
Ejemplo n.º 4
0
    void Start()
    {
        VersionText.text = "Ver " + playerCountSave.instance.AppVersion;
        DefaultPool pool = PhotonNetwork.PrefabPool as DefaultPool;

        if (pool != null && this.Prefabs != null)
        {
            foreach (GameObject prefab in this.Prefabs)
            {
                pool.ResourceCache.Add(prefab.name, prefab);
            }
        }
    }
Ejemplo n.º 5
0
    private void Start()
    {
        DefaultPool pool = PhotonNetwork.PrefabPool as DefaultPool;

        if (pool != null && Prefabs != null)
        {
            foreach (GameObject prefab in Prefabs)
            {
                if (!pool.ResourceCache.ContainsKey(prefab.name))
                {
                    pool.ResourceCache.Add(prefab.name, prefab);
                }
            }
        }
    }
Ejemplo n.º 6
0
        void AddGamemodeToPrefabPool(Gamemode gamemode)
        {
            if (gamemode.GameManager is null)
            {
                return;
            }

            GameObject prefab = new GameObject(gamemode.ID);

            prefab.SetActive(false);
            prefab.AddComponent(gamemode.GameManager);
            prefab.AddComponent <PhotonView>();

            DefaultPool pool = PhotonNetwork.PrefabPool as DefaultPool;

            pool.ResourceCache.Add(BasePrefabPath + prefab.name, prefab);
        }
Ejemplo n.º 7
0
    private void Start()
    {
        DefaultPool pool = PhotonNetwork.PrefabPool as DefaultPool;

        if (pool != null)
        {
            pool.ResourceCache.Add(CathingLoadFiles.manage.hot_rodd_ab.name, CathingLoadFiles.manage.hot_rodd_ab);
            pool.ResourceCache.Add(CathingLoadFiles.manage.buggy_gtr_ab.name, CathingLoadFiles.manage.buggy_gtr_ab);
            pool.ResourceCache.Add(CathingLoadFiles.manage.gt500_ab.name, CathingLoadFiles.manage.gt500_ab);
            pool.ResourceCache.Add(CathingLoadFiles.manage.modelT_ab.name, CathingLoadFiles.manage.modelT_ab);
            pool.ResourceCache.Add(CathingLoadFiles.manage.townCar_ab.name, CathingLoadFiles.manage.townCar_ab);
            pool.ResourceCache.Add(CathingLoadFiles.manage.ikarus.name, CathingLoadFiles.manage.ikarus);
            pool.ResourceCache.Add(CathingLoadFiles.manage.lambo_ab.name, CathingLoadFiles.manage.lambo_ab);
            pool.ResourceCache.Add(CathingLoadFiles.manage.i8_ab.name, CathingLoadFiles.manage.i8_ab);
            pool.ResourceCache.Add(CathingLoadFiles.manage.rr_ab.name, CathingLoadFiles.manage.rr_ab);
            // pool.ResourceCache.Add(CathingLoadFiles.manage.vetty_ab.name, CathingLoadFiles.manage.vetty_ab);
            // pool.ResourceCache.Add(CathingLoadFiles.manage.rasta_ab.name, CathingLoadFiles.manage.rasta_ab);
        }
    }
Ejemplo n.º 8
0
    void Start()
    {
        DefaultPool d = (DefaultPool)(PhotonNetwork.PrefabPool);

        if (!d.ResourceCache.ContainsKey("car"))
        {
            d.ResourceCache.Add("car", car);
        }

        gameManager = this;

        Transform spawn = spawns.GetChild(spawnLocation);

        playerCar     = PhotonNetwork.Instantiate("car", spawn.position, spawn.rotation);
        playerCar.tag = "LocalPlayer";
        playerCar.transform.GetChild(0).gameObject.tag = "LocalPlayer";

        WheelDrive w = playerCar.GetComponent <WheelDrive>();

        Camera.main.GetComponent <DriftCamera>().SetTarget(w.lookAtTarget, w.positionTarget, w.sideView);

        ch = new Dictionary <GameObject, int>();
        hc = new Dictionary <int, Transform>();
        for (int i = 0; i < checkpoints.childCount; i++)
        {
            ch.Add(checkpoints.GetChild(i).gameObject, i);
            hc.Add(i, checkpoints.GetChild(i));
        }

        PhotonNetwork.LocalPlayer.SetCustomProperties(new Hashtable {
            { MultiProperties.LAP, 0 }, { MultiProperties.CHECKPOINT, 0 }
        });

        lap.text = "Lap " + currentLap + "/" + numOfLaps;

        cars = new Dictionary <Transform, Photon.Realtime.Player>();
    }
Ejemplo n.º 9
0
    //GameObject prefab;

    IEnumerator Start()
    {
        //using (var manifestRequest = UnityWebRequestAssetBundle.GetAssetBundle(manifestUrl))
        //{
        //    Debug.LogFormat("{0}: Download asset bundle by url: {1}", this.GetType().Name, manifestUrl);
        //    yield return manifestRequest.SendWebRequest();
        //    if (manifestRequest.isHttpError || manifestRequest.isNetworkError)
        //    {
        //        Debug.LogErrorFormat("error request [{0}, {1}]", manifestUrl, manifestRequest.error);
        //        yield break;
        //    }
        //    var manifestBundle = DownloadHandlerAssetBundle.GetContent(manifestRequest);
        //    Debug.LogFormat("{0}: Manifest bundle name: {1}", GetType().Name, manifestBundle.name);
        //    var manifest = manifestBundle.LoadAsset<AssetBundleManifest>(manifestBundle.name);

        //    string today = DateTime.Today.ToLongDateString();
        //    string cachePath = "Objects/" + today;
        //    Directory.CreateDirectory(cachePath);
        //    Cache newCache = Caching.AddCache(cachePath);

        //    if (newCache.valid)
        //    {
        //        Caching.currentCacheForWriting = newCache;
        //    }

        //    Hash128 hash = manifest.GetAssetBundleHash(manifestBundle.name);
        //    using (var request = UnityWebRequestAssetBundle.GetAssetBundle(url, hash, 0))
        //    {
        //        Debug.LogFormat("{0}: Download asset bundle by url: {1}", this.GetType().Name, url);
        //        yield return request.SendWebRequest();
        //        if (request.isHttpError || request.isNetworkError)
        //        {
        //            Debug.LogErrorFormat("error request [{0}, {1}]", url, request.error);
        //            yield break;
        //        }
        //        assetBundle = DownloadHandlerAssetBundle.GetContent(request);
        //        Debug.LogFormat("{0}: Asset bundle downloaded", GetType().Name);

        //        List<Hash128> listOfCachedVersions = new List<Hash128>();
        //        Caching.GetCachedVersions(assetBundle.name, listOfCachedVersions);

        //        string[] assetNames = assetBundle.GetAllAssetNames();
        //        var prefab = assetBundle.LoadAsset<GameObject>(assetNames[0]);

        //        DefaultPool pool = PhotonNetwork.PrefabPool as DefaultPool;
        //        pool.ResourceCache.Add(prefab.name, prefab);
        //        if (pool != null && prefab != null)
        //        {
        //            photonView.RPC("SpawnOnNetwork", RpcTarget.MasterClient, prefab.name);
        //        }
        //    }
        //}

        using (var request = UnityWebRequestAssetBundle.GetAssetBundle(url))
        {
            Debug.LogFormat("{0}: Download asset bundle by url: {1}", this.GetType().Name, url);
            yield return(request.SendWebRequest());

            if (request.isHttpError || request.isNetworkError)
            {
                Debug.LogErrorFormat("error request [{0}, {1}]", url, request.error);
                yield break;
            }
            assetBundle = DownloadHandlerAssetBundle.GetContent(request);
            Debug.LogFormat("{0}: Asset bundle downloaded", GetType().Name);

            string[] assetNames = assetBundle.GetAllAssetNames();
            var      prefab     = assetBundle.LoadAsset <GameObject>(assetNames[0]);

            DefaultPool pool = PhotonNetwork.PrefabPool as DefaultPool;
            pool.ResourceCache.Add(prefab.name, prefab);
            if (pool != null && prefab != null)
            {
                if (PhotonNetwork.IsMasterClient)
                {
                    SpawnOnNetwork(prefab.name);
                    //photonView.RPC("SpawnOnNetwork", RpcTarget.MasterClient, prefab.name);
                }
            }
        }
    }
Ejemplo n.º 10
0
 public static void Push(T instance)
 {
     DefaultPool.Push(instance);
 }
Ejemplo n.º 11
0
 public static T Pop()
 {
     return(DefaultPool.Pop());
 }
Ejemplo n.º 12
0
 public static void SetResetAction(Action <T> resetMethod)
 {
     DefaultPool.SetResetAction(resetMethod);
 }
Ejemplo n.º 13
0
 public static void SetFactory(Func <T> factoryMethod)
 {
     DefaultPool.SetFactory(factoryMethod);
 }
Ejemplo n.º 14
0
 public static void Generate(int count)
 {
     DefaultPool.Generate(count);
 }