public GameObject SpawnFromPool(TypeOfPool poolKey, Vector3 position, Quaternion rotation)
    {
        string keyName = poolKey.ToString();

        if (!poolsDictionary.ContainsKey(keyName))
        {
            Debug.LogWarning("Pool with key " + keyName + " doesn't exists");
            return(null);
        }

        GameObject objectToSpawn = poolsDictionary[keyName].Dequeue();

        objectToSpawn.transform.position = position;
        objectToSpawn.transform.rotation = rotation;

        objectToSpawn.SetActive(true);

        IPooledObject pooledObject = objectToSpawn.GetComponent <IPooledObject>();

        if (pooledObject != null)
        {
            pooledObject.OnObjectSpawn();
        }
        else
        {
            Debug.LogWarning("The instantiated object doesn't have an IPooledObject");
        }

        poolsDictionary[keyName].Enqueue(objectToSpawn);

        return(objectToSpawn);
    }
Example #2
0
 public Request(int v1, TypeOfPool v2, string v3)
 {
     ID     = v1;
     Name   = "Заявка № " + v1;
     Typ    = v2;
     Dat    = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
     Status = v3;
 }
Example #3
0
        public void remove_req4()
        {
            if (tm4.Enabled)
            {
                tm4.Stop();
            }
            label4.BackColor = Color.Red;
            wait(1000);
            w -= 1;
            req.RemoveAt(w);
            var        t2 = "3";
            TypeOfPool t1 = (TypeOfPool)Enum.Parse(typeof(TypeOfPool), t2);

            req.Insert(w, new Request(w + 1, t1, "OK"));
            label4.BackColor = Color.Green;
            label4.Text      = "";
            tm4.Start();
        }
Example #4
0
        private void button1_Click(object sender, EventArgs e)
        {
            int N = 2;

            Random ran = new Random();


            for (int i = 1; i <= N; i++)
            {
                //Console.WriteLine(N);
                Z += 1;

                var        t2 = ran.Next(1, 5).ToString();
                TypeOfPool t1 = (TypeOfPool)Enum.Parse(typeof(TypeOfPool), t2);
                req.Add(new Request(Z, t1, "new")); //{ ID = i, Dat = DateTime.Today, Name = "Заявка № " + i, Typ = "CRED" });
                //this.dataGridView1.Rows.Insert( i, DateTime.Today,  "Заявка № " + i, "CRED" );
                // req.Remove(new Request(i,t1));
                if (t2 == "1")
                {
                    req1.Add(new Request(Z, t1, "new"));
                }
                if (t2 == "2")
                {
                    req2.Add(new Request(Z, t1, "new"));
                }
                if (t2 == "3")
                {
                    req3.Add(new Request(Z, t1, "new"));
                }
                if (t2 == "4")
                {
                    req4.Add(new Request(Z, t1, "new"));
                }
                //if (Z == 20)
                //{
                //    MessageBox.Show("Очередь заявок заполнена");
                //    timer1.Stop();
                //    break;
                //}
            }
            //dataGridView1.DataSource = req;
            //Console.WriteLine();
            dataGridView1.Rows.Clear();
            //req.Sort();

            //Console.WriteLine(req.Count());
            foreach (var j in req)
            {
                dataGridView1.Rows.Add(j.ID, j.Dat, j.Name, j.Typ, j.Status);
            }
            dataGridView2.Rows.Clear();
            foreach (var j in req1)
            {
                dataGridView2.Rows.Add(j.ID, j.Dat, j.Name, j.Typ);
            }
            dataGridView4.Rows.Clear();
            foreach (var j in req2)
            {
                dataGridView4.Rows.Add(j.ID, j.Dat, j.Name, j.Typ);
            }
            dataGridView5.Rows.Clear();
            foreach (var j in req3)
            {
                dataGridView5.Rows.Add(j.ID, j.Dat, j.Name, j.Typ);
            }
            dataGridView6.Rows.Clear();
            foreach (var j in req4)
            {
                dataGridView6.Rows.Add(j.ID, j.Dat, j.Name, j.Typ);
            }
        }