예제 #1
0
 public void SendMessage(HoloNetMessage message, DestinationGroup group, bool isReliable)
 {
     SendInternal(message, isReliable,
                  new RaiseEventOptions {
         Receivers = ConvertDestinationToPhotonReceiverEnum(group)
     }
                  );
 }
예제 #2
0
 public NonGroceries(string name, string producer, int price, int quantity, Dimensions dimensions, DestinationGroup group)
 {
     this.name = name;
     this.producer = producer;
     this.price = price;
     this.quantity = quantity;
     this.dimensions = dimensions;
     this.group = group;
     isChanged = false;
 }
예제 #3
0
        public void SendMessage(HoloNetMessage message, DestinationGroup group, bool isReliable)
        {
            Debug.Log($"[HOLONET] Messaging - Sending message {message.GetType().Name}");
            message.sendTime = HoloNetAppModule.instance.provider.GetServerTime();
            if (group == DestinationGroup.All)
            {
                HoloNetAppModule.instance.provider.SendMessage(message, DestinationGroup.Others, isReliable);
                ApplyMessage(message);
            }
            else if (group == DestinationGroup.Self || (group == DestinationGroup.Server && HoloNetPlayer.Local.isServer))
            {
                ApplyMessage(message);
            }
            else
            {
                HoloNetAppModule.instance.provider.SendMessage(message, group, isReliable);
            }

            HoloNetAppModule.instance.objectPool.Push(message);
        }
예제 #4
0
        private static ReceiverGroup ConvertDestinationToPhotonReceiverEnum(DestinationGroup group)
        {
            var photonGroup = ReceiverGroup.All;

            switch (group)
            {
            case DestinationGroup.All:
                photonGroup = ReceiverGroup.All;
                break;

            case DestinationGroup.Others:
                photonGroup = ReceiverGroup.Others;
                break;

            case DestinationGroup.Server:
                photonGroup = ReceiverGroup.MasterClient;
                break;
            }

            return(photonGroup);
        }
예제 #5
0
 public static void SendUnreliable(HoloNetGlobalMessage message, DestinationGroup group = DestinationGroup.All)
 {
     HoloNetAppModule.instance.messenger.SendMessage(message, group, false);
 }
예제 #6
0
        private void openFileButton_pictureBox_Click(object sender, EventArgs e)
        {
            try
            {
                OpenFileDialog openFile = new OpenFileDialog();
                openFile.Title  = "Open from file";
                openFile.Filter = "Text files (*.txt)|*.txt";
                if (openFile.ShowDialog() == DialogResult.OK && openFile.FileName.Length > 0)
                {
                    using (System.IO.StreamReader of = new System.IO.StreamReader(openFile.FileName))
                    {
                        while (!of.EndOfStream)
                        {
                            bool   check = false;
                            string type  = of.ReadLine();
                            if (type == "Grocerie")
                            {
                                string name = of.ReadLine();
                                if (name == "")
                                {
                                    name = "No_name";
                                }
                                string producer = of.ReadLine();
                                if (producer == "")
                                {
                                    producer = "No_producer";
                                }
                                string strPrice = of.ReadLine();
                                int    price;
                                if (int.TryParse(strPrice, out price) == false)
                                {
                                    price = 0;
                                }
                                string strQuantity = of.ReadLine();
                                int    quantity;
                                if (int.TryParse(strQuantity, out quantity) == false)
                                {
                                    quantity = 0;
                                }
                                string strWeight = of.ReadLine();
                                int    weight;
                                if (int.TryParse(strWeight, out weight) == false)
                                {
                                    weight = 0;
                                }
                                string   strDate = of.ReadLine();
                                DateTime dateCreation;
                                if (DateTime.TryParse(strDate, out dateCreation) == false)
                                {
                                    dateCreation = DateTime.Now;
                                }
                                strDate = of.ReadLine();
                                DateTime dateExpiration;
                                if (DateTime.TryParse(strDate, out dateExpiration) == false)
                                {
                                    dateExpiration = DateTime.Now;
                                }
                                Groceries grocerie = new Groceries(name, producer, price, quantity, weight, dateCreation, dateExpiration);
                                foreach (Goods item in storage.GetStorage)
                                {
                                    if (item is Groceries)
                                    {
                                        Groceries tmp = item as Groceries;
                                        if (tmp == grocerie)
                                        {
                                            check          = true;
                                            item.quantity += grocerie.quantity;
                                            for (int i = 0; i < items_listView.Items.Count; i++)
                                            {
                                                if (items_listView.Items[i].Tag == item)
                                                {
                                                    items_listView.Items[i].SubItems[4].Text = item.quantity.ToString();
                                                }
                                            }
                                            break;
                                        }
                                    }
                                }
                                if (check)
                                {
                                    continue;
                                }
                                storage.AddItem(grocerie);
                                ListViewItem listViewItem = new ListViewItem(grocerie.name, 0);
                                listViewItem.Tag = grocerie;
                                listViewItem.SubItems.Add("Grocerie");
                                listViewItem.SubItems.Add(grocerie.producer);
                                listViewItem.SubItems.Add(grocerie.price.ToString());
                                listViewItem.SubItems.Add(grocerie.quantity.ToString());
                                items_listView.Items.Add(listViewItem);
                            }
                            else if (type == "Non-Grocerie")
                            {
                                string name = of.ReadLine();
                                if (name == "")
                                {
                                    name = "No_name";
                                }
                                string producer = of.ReadLine();
                                if (producer == "")
                                {
                                    producer = "No_producer";
                                }
                                string strPrice = of.ReadLine();
                                int    price;
                                if (int.TryParse(strPrice, out price) == false)
                                {
                                    price = 0;
                                }
                                string strQuantity = of.ReadLine();
                                int    quantity;
                                if (int.TryParse(strQuantity, out quantity) == false)
                                {
                                    quantity = 0;
                                }
                                Dimensions dimensions = new Dimensions();
                                string     dimension  = of.ReadLine();
                                if (int.TryParse(dimension, out dimensions.height) == false)
                                {
                                    dimensions.height = 0;
                                }
                                dimension = of.ReadLine();
                                if (int.TryParse(dimension, out dimensions.length))
                                {
                                    dimensions.length = 0;
                                }
                                dimension = of.ReadLine();
                                if (int.TryParse(dimension, out dimensions.width) == false)
                                {
                                    dimensions.width = 0;
                                }
                                string strGroup = of.ReadLine();
                                int    group;
                                if (int.TryParse(strGroup, out group) == false)
                                {
                                    group = 0;
                                }
                                DestinationGroup destinationGroup = new DestinationGroup();
                                switch (group)
                                {
                                case 2:
                                    destinationGroup = DestinationGroup.Clothes;
                                    break;

                                case 3:
                                    destinationGroup = DestinationGroup.Machinery;
                                    break;

                                case 4:
                                    destinationGroup = DestinationGroup.Furniture;
                                    break;

                                case 5:
                                    destinationGroup = DestinationGroup.Dishes;
                                    break;

                                case 6:
                                    destinationGroup = DestinationGroup.Jewelry;
                                    break;

                                default:
                                    destinationGroup = DestinationGroup.Nothing;
                                    break;
                                }
                                NonGroceries nonGroceries = new NonGroceries(name, producer, price, quantity, dimensions, destinationGroup);
                                foreach (Goods item in storage.GetStorage)
                                {
                                    if (item is NonGroceries)
                                    {
                                        NonGroceries tmp = item as NonGroceries;
                                        if (tmp == nonGroceries)
                                        {
                                            check          = true;
                                            item.quantity += nonGroceries.quantity;
                                            item.quantity += nonGroceries.quantity;
                                            for (int i = 0; i < items_listView.Items.Count; i++)
                                            {
                                                if (items_listView.Items[i].Tag == item)
                                                {
                                                    items_listView.Items[i].SubItems[4].Text = item.quantity.ToString();
                                                }
                                            }
                                            break;
                                        }
                                    }
                                }
                                if (check)
                                {
                                    continue;
                                }
                                storage.AddItem(nonGroceries);
                                ListViewItem listViewItem = new ListViewItem(nonGroceries.name, 1);
                                listViewItem.Tag = nonGroceries;
                                listViewItem.SubItems.Add("NonGrocerie");
                                listViewItem.SubItems.Add(nonGroceries.producer);
                                listViewItem.SubItems.Add(nonGroceries.price.ToString());
                                listViewItem.SubItems.Add(nonGroceries.quantity.ToString());
                                items_listView.Items.Add(listViewItem);
                            }
                            else if (type == "")
                            {
                                return;
                            }
                            else
                            {
                                Exception exception = new Exception("File have mistakes");
                                throw exception;
                            }
                        }
                    }
                }
            }
            catch (Exception exp)
            {
                MessageBox.Show(exp.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #7
0
 public void SendUnreliable(HoloNetObjectMessage message, DestinationGroup group = DestinationGroup.All)
 {
     message.receiverId = oid;
     HoloNetAppModule.instance.messenger.SendMessage(message, group, false);
 }
예제 #8
0
        private void acceptButton_pictureBox_Click(object sender, EventArgs e)
        {
            try
            {
                if (name_textBox.Text == "")
                {
                    Exception exception = new Exception("name");
                    throw exception;
                }
                if (producer_textBox.Text == "")
                {
                    Exception exception = new Exception("producer");
                    throw exception;
                }
                if (Convert.ToUInt64(price_textBox.Text) == 0)
                {
                    Exception exception = new Exception("price");
                    throw exception;
                }
                if (Convert.ToUInt16(quantity_numericUpDown.Value) == 0)
                {
                    Exception exception = new Exception("quantity");
                    throw exception;
                }
                if (type_comboBox.SelectedItem.ToString() == "Grocerie")
                {
                    if (int.Parse(weightOrHeight_textBox.Text) == 0)
                    {
                        Exception exception = new Exception("weight");
                        throw exception;
                    }
                }
                if (type_comboBox.SelectedItem.ToString() == "Non-grocerie")
                {
                    if (weightOrHeight_textBox.Text == "Height" || Convert.ToUInt64(weightOrHeight_textBox.Text) == 0 || length_textBox.Text == "Length" || Convert.ToUInt64(length_textBox.Text) == 0 || width_textBox.Text == "Width" || Convert.ToUInt64(width_textBox.Text) == 0)
                    {
                        Exception exception = new Exception("dimensions");
                        throw exception;
                    }
                    if (destinationGroup_comboBox.SelectedIndex == -1)
                    {
                        Exception exception = new Exception("destination group");
                        throw exception;
                    }
                }
                string name     = name_textBox.Text;
                int    price    = Convert.ToInt32(price_textBox.Text);
                int    quantity = Convert.ToInt32(quantity_numericUpDown.Value);
                string producer = producer_textBox.Text;
                if (type_comboBox.SelectedItem.ToString() == "Grocerie")
                {
                    check      = true;
                    isGrocerie = 1;
                    int      weight         = Convert.ToInt32(weightOrHeight_textBox.Text);
                    DateTime dateCreation   = dateCreation_dateTimePicker.Value;
                    DateTime expirationDate = dateExpiration_dateTimePicker.Value;
                    TimeSpan usingTime;
                    TimeSpan remainingTime;
                    double   usingTimeI;
                    double   remainingTimeI;
                    usingTime      = expirationDate - dateCreation;
                    remainingTime  = expirationDate - DateTime.Now;
                    usingTimeI     = usingTime.TotalSeconds;
                    remainingTimeI = remainingTime.TotalSeconds;
                    bool isChanged;
                    if ((usingTimeI * 0.2) > remainingTimeI)
                    {
                        price    /= 2;
                        isChanged = true;
                    }
                    else
                    {
                        isChanged = false;
                    }
                    groceries           = new Groceries(name, producer, price, quantity, weight, dateCreation, expirationDate);
                    groceries.isChanged = isChanged;
                    this.Close();
                }
                else
                {
                    check      = true;
                    isGrocerie = 2;
                    Dimensions dimensions = new Dimensions();
                    dimensions.height = Convert.ToInt32(weightOrHeight_textBox.Text);
                    dimensions.length = Convert.ToInt32(length_textBox.Text);
                    dimensions.width  = Convert.ToInt32(width_textBox.Text);
                    DestinationGroup destinationGroup = new DestinationGroup();
                    switch (destinationGroup_comboBox.SelectedIndex)
                    {
                    case 0:
                        destinationGroup = DestinationGroup.Clothes;
                        break;

                    case 1:
                        destinationGroup = DestinationGroup.Machinery;
                        break;

                    case 2:
                        destinationGroup = DestinationGroup.Furniture;
                        break;

                    case 3:
                        destinationGroup = DestinationGroup.Dishes;
                        break;

                    case 4:
                        destinationGroup = DestinationGroup.Jewelry;
                        break;

                    default:
                        destinationGroup = DestinationGroup.Nothing;
                        break;
                    }
                    bool isChanged;
                    if ((dimensions.height + dimensions.length + dimensions.width) > 600)
                    {
                        price    *= 120;
                        price    /= 100;
                        isChanged = true;
                    }
                    else
                    {
                        isChanged = false;
                    }
                    nonGroceries           = new NonGroceries(name, producer, price, quantity, dimensions, destinationGroup);
                    nonGroceries.isChanged = isChanged;
                    this.Close();
                }
            }
            catch (Exception text)
            {
                string message = "You made wrong input in ";
                message += text.Message;
                MessageBox.Show(message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }