Exemplo n.º 1
0
        public void AddMask()
        {
            int x = Random.Next(Darkness.Width, Game.ActualFormWidth - Mask.Width - Goal.Width);
            int y = Random.Next(70, Game.ActualFormHeight - Mask.Height);

            Masks.Add(new Mask(x, y));
        }
Exemplo n.º 2
0
    protected override void onStart()
    {
        unreadMessages       = chatContent.transform.GetChild(0);
        playerMessagePrefab  = chatContent.GetComponent <ChatPrefabs>().PlayerMessage;
        advisorMessagePrefab = chatContent.GetComponent <ChatPrefabs>().AdvisorMessage;
        panelAnimator        = chatContent.GetComponentInParent <Animator>();
        scrollRect           = chatContent.GetComponentInParent <ScrollRect>();

        // Récupération de l'échelle de temps
        time = simulationData.GetComponent <TimeScale>();
        // Récupération de données de la frontière
        frontierPermeability = simulationData.GetComponent <FrontierPermeability>();
        // Récupération de données des impôts de entreprises
        tax = simulationData.GetComponent <Tax>();
        // Récupération de données du télétravail
        remoteworking = simulationData.GetComponent <Remoteworking>();
        // Récupération de données du chômage partiel
        shortTimeWorking = simulationData.GetComponent <ShortTimeWorking>();
        // Récupération des masques
        masks = simulationData.GetComponent <Masks>();
        // Récupération des données du vaccin
        vaccine = simulationData.GetComponent <Vaccine>();

        f_chatMessage.addEntryCallback(OnNewMessage);
    }
Exemplo n.º 3
0
        public void MascaraNaoPodeSerNullOuVazio(string mask)
        {
            Action act = () => Masks.Apply(mask, "012345678909");

            act.Should().ThrowExactly <ArgumentNullException>()
            .And.ParamName.Should().Be("mask");
        }
Exemplo n.º 4
0
 private void CheckDarknessCollisions()
 {
     for (int i = 0; i < Masks.Count; i++)
     {
         if (Darkness.CheckMask(Masks[i]))
         {
             Masks.Remove(Masks[i]);
         }
     }
     for (int i = 0; i < Disinfectants.Count; i++)
     {
         if (Darkness.CheckDisinfectant(Disinfectants[i]))
         {
             Disinfectants.Remove(Disinfectants[i]);
         }
     }
     for (int i = 0; i < SickPersons.Count; i++)
     {
         if (Darkness.CheckSickPerson(SickPersons[i]))
         {
             SickPersons.Remove(SickPersons[i]);
         }
     }
     if (Hero.CheckDarkness(Darkness))
     {
         IsEnabled = false;
         CustomMessageBox cmb = new CustomMessageBox();
         cmb.SetMessage("The darkness caught you. Game over!");
         cmb.SetRetryButton(true);
         cmb.Show();
     }
 }
Exemplo n.º 5
0
        private void Eventos()
        {
            KeyDown   += KeyDowns;
            KeyPreview = true;

            Load += (s, e) =>
            {
                var data = _mPedido.Query().Select("desconto").Where("id", idPedido).FirstOrDefault <Model.Pedido>();
                if (data == null)
                {
                    return;
                }

                if (data.Desconto > 0)
                {
                    dinheiro.Text = Validation.FormatPrice(data.Desconto);
                }
            };

            btnSalvar.Click         += (s, e) => Save();
            porcentagem.TextChanged += (s, e) =>
            {
                if (string.IsNullOrEmpty(porcentagem.Text))
                {
                    return;
                }

                var dataPedido = _mPedido.Query().Select("id", "total").Where("id", idPedido).First <Model.Pedido>();
                var dP         = Validation.ConvertToDouble(porcentagem.Text) / 100 * dataPedido.Total;
                valorPorcentagem.Text = Validation.FormatPrice(dP);
            };

            porcentagem.KeyPress += (s, e) => Masks.MaskDouble(s, e);
            dinheiro.KeyPress    += (s, e) => Masks.MaskDouble(s, e);
        }
Exemplo n.º 6
0
    // Start is called before the first frame update
    void Start()
    {
        move       = GetComponent <PlayerMove>();
        jump       = GetComponent <PlayerJump>();
        climb      = GetComponent <PlayerClimb>();
        playerMask = GetComponent <Masks>();
        playerItem = GetComponent <Item>();

        maskController = FindObjectOfType <MaskController>();
        inventory      = FindObjectOfType <Inventory>();
        speech         = FindObjectOfType <SpeechScript>();
        anim           = GetComponent <Animator>();
        grapple        = FindObjectOfType <GrapplingHook>();


        hasJumped     = false;
        hasWallJumped = false;
        isClimbing    = false;
        isZipping     = false;
        moving        = true;
        launched      = false;
        hasRune       = false;

        GetComponent <DistanceJoint2D>().enabled = false;
        maskInventory = new List <string>();
        itemInventory = new List <string>();

        maskCounter = 0;
        itemCounter = 0;

        knockbackCount = knockbackLength;
    }
Exemplo n.º 7
0
        private void Eventos()
        {
            KeyDown   += KeyDowns;
            KeyPreview = true;
            Masks.SetToUpper(this);

            Load += (s, e) =>
            {
                search.Select();
                DataTableStart();
            };

            label5.Click  += (s, e) => Close();
            btnExit.Click += (s, e) => Close();

            Adicionar.Click += (s, e) => EditImposto(true);
            Editar.Click    += (s, e) => EditImposto();
            GridListaImpostos.DoubleClick += (s, e) => EditImposto();

            search.TextChanged += (s, e) =>
            {
                timer.Stop();
                timer.Start();
                Loading.Visible           = true;
                GridListaImpostos.Visible = false;
            };
            //search.KeyDown += KeyDowns;
            //GridListaImpostos.KeyDown += KeyDowns;

            btnHelp.Click += (s, e) => Support.OpenLinkBrowser(Configs.LinkAjuda);

            using (var b = workerBackground)
            {
                b.DoWork += async(s, e) => { dataTable = await _controller.GetDataTable(); };

                b.RunWorkerCompleted += async(s, e) =>
                {
                    await _controller.SetTable(GridListaImpostos, dataTable);

                    Loading.Visible           = false;
                    GridListaImpostos.Visible = true;
                };
            }

            timer.AutoReset = false;
            timer.Elapsed  += (s, e) => search.Invoke((MethodInvoker) delegate
            {
                DataTable();
                Loading.Visible           = false;
                GridListaImpostos.Visible = true;
            });

            search.Enter += async(s, e) =>
            {
                await Task.Delay(100);

                DataTable();
            };
        }
Exemplo n.º 8
0
 public MaskDetails ToMaskDetails()
 {
     return(new MaskDetails
     {
         Masks = Masks.Select(m => m.ToMaskInfo()).ToList(),
         Requirements = Requirements
     });
 }
Exemplo n.º 9
0
 public unsafe ComponentTypes(ComponentType a)
 {
     this.m_sorted        = new ResizableArray64Byte <int>();
     this.m_masks         = new Masks();
     this.m_sorted.Length = 1;
     SortingUtilities.InsertSorted((int *)this.m_sorted.GetUnsafePointer(), 0, a.TypeIndex);
     this.ComputeMasks();
 }
Exemplo n.º 10
0
 public MaskDetailsModel ToMaskDetailsModel()
 {
     return(new MaskDetailsModel
     {
         Masks = Masks.Select(m => m.ToMaskInfoModel()).ToList(),
         Requirements = Requirements
     });
 }
Exemplo n.º 11
0
        private void Initialize()
        {
            #region units
            //primary value: radians
            string[] angles =
            {
                "radian",
                "mil",
                "grad",
                "degree",
                "minute",
                "second",
                "point",
                "1/16 circle",
                "1/10 circle",
                "1/8 circle",
                "1/6 circle",
                "1/4 circle",
                "1/2 circle",
                "full circle "
            };
            this.Units = angles;
            #endregion

            #region conversions
            double[] anglesConversions =
            {
                1,              //radian 0
                1018.5916358,   //mil 1
                63.661977237,   //grad 2
                57.295779513,   //degree 3
                3437.7467707,   //minute 4
                206264.80625,   //second 5
                5.0929581789,   //point 6
                2.54647908951,  //1/16 circle 7
                1.59154943091,  //1/10 circle 8
                1.27323954471,  //1/8 circle 9
                0.954929658551, //1/6 circle 10
                0.636619772371, //1/4 circle 11
                0.318309886182, //1/2 circle 12
                0.15915494309   //full circle  13
            };
            this.Conversions = anglesConversions;
            #endregion

            #region filters
            string[] angleFilters = { };
            this.Filters = angleFilters;
            #endregion

            #region masks
            int[] angleCommon =
            {
                3, 0, 1, 4, 5, 6
            };
            Masks.Add(angleCommon);
            #endregion
        }
Exemplo n.º 12
0
        private void UpdateMasks()
        {
            Masks.Clear();

            foreach (var mask in myPresentation.GetModule <INodeMaskModule>().Items)
            {
                Masks.Add(new Entry(mask, myPresentation));
            }
        }
        public void MaskedMemCpy_MaskedMemCopyTestsData_HasExpectedMask()
        {
            var mask = Masks.GetTypeMask <MemMaskTestData_Mask>();

            using (var expectedMask = DeterminismTestUtility.GenerateMask(48, i => MaskedFields_MemMaskTestData.Contains(i % 12)))
            {
                Assert.That(mask, Is.EquivalentTo(expectedMask), DeterminismTestUtility.PrintAll(mask, expectedMask));
            }
        }
Exemplo n.º 14
0
        private byte[] GetSalt()
        {
            var data = Masks.Skip(38).Take(12).ToArray();

            if (data.Length != 12)
            {
                throw new CryptographicException("Ошибка в данных masks.key.");
            }
            return(data);
        }
Exemplo n.º 15
0
        private byte[] GetMasksKey()
        {
            var data = Masks.Skip(4).Take(32).Reverse().ToArray();

            if (data.Length != 32)
            {
                throw new CryptographicException("Ошибка в данных masks.key.");
            }
            return(data);
        }
Exemplo n.º 16
0
 public override int GetHashCode()
 {
     unchecked
     {
         int hash = 13;
         hash = (hash * 7) + BitsPerPixel.GetHashCode();
         hash = (hash * 7) + Masks.GetHashCode();
         return(hash);
     }
 }
Exemplo n.º 17
0
        private void Eventos()
        {
            KeyDown   += KeyDowns;
            KeyPreview = true;
            Masks.SetToUpper(this);

            Load += (s, e) => Carregar();

            label6.Click  += (s, e) => Close();
            btnExit.Click += (s, e) => Close();

            btnSalvar.Click += (s, e) =>
            {
                _modelImposto.Id   = idImpSelected;
                _modelImposto.Nome = nome.Text;
                _modelImposto.Cfop = cfop.Text;

                GetImpostos(0);

                if (_modelImposto.Save(_modelImposto))
                {
                    DialogResult = DialogResult.OK;
                    Close();
                }
            };

            btnRemover.Click += (s, e) =>
            {
                var data = _modelImposto.Remove(idImpSelected);
                if (data)
                {
                    Close();
                }
            };

            Icms.SelectedValueChanged += (s, e) => SetIcms();

            addCfop.Click += (s, e) =>
            {
                var form = new Cfops {
                    TopMost = true
                };
                if (form.ShowDialog() == DialogResult.OK)
                {
                    //    _mPedido.Id = Id;
                    //    _mPedido.Colaborador = PedidoModalClientes.Id;
                    //    _mPedido.Save(_mPedido);
                    //    LoadData();
                }
            };

            cfop.KeyPress += (s, e) => Masks.MaskOnlyNumbers(s, e, 4);

            btnHelp.Click += (s, e) => Support.OpenLinkBrowser(Configs.LinkAjuda);
        }
Exemplo n.º 18
0
        private void Eventos()
        {
            KeyDown   += KeyDowns;
            KeyPreview = true;
            Masks.SetToUpper(this);

            ToolHelp.Show("Título para identificar a Mesa.", pictureBox1, ToolHelp.ToolTipIcon.Info, "Ajuda!");
            ToolHelp.Show("A quantidade de pessoas que cabem na mesa.", pictureBox5, ToolHelp.ToolTipIcon.Info,
                          "Ajuda!");

            Shown += (s, e) =>
            {
                mesa.Focus();

                if (IdMesa > 0)
                {
                    _mMesas = _mMesas.FindById(IdMesa).WhereFalse("excluir").FirstOrDefault <Model.Mesas>();
                    if (_mMesas == null)
                    {
                        return;
                    }

                    label11.Text   = @"Editar mesa";
                    mesa.Text      = _mMesas.Mesa;
                    nrPessoas.Text = _mMesas.NrPessoas.ToString();
                }
                else
                {
                    IdMesa = 0;
                }
            };

            btnSalvar.Click += (s, e) => Save();

            btnDelete.Click += (s, e) =>
            {
                if (IdMesa <= 0)
                {
                    return;
                }

                if (_mMesas.Remove(IdMesa))
                {
                    Alert.Message("Pronto", "Mesa removida com sucesso.", Alert.AlertType.success);

                    DialogResult = DialogResult.OK;
                    Close();
                    return;
                }

                Alert.Message("Opps", "Erro ao remover mesa.", Alert.AlertType.error);
            };

            FormClosing += (s, e) => { DialogResult = DialogResult.OK; };
        }
Exemplo n.º 19
0
        private void Eventos()
        {
            Masks.SetToUpper(this);

            Shown += (s, e) =>
            {
                Impostos();
                LoadDados();
            };

            btnCancelar.Click += (s, e) => Close();

            btnSalvar.Click += (s, e) =>
            {
                Save();
            };

            btnExcluir.Click += (s, e) =>
            {
                itemPedido.Id      = idPdt;
                itemPedido.Excluir = 1;
                if (itemPedido.Save(itemPedido))
                {
                    DialogResult = DialogResult.OK;
                    Close();
                }
            };

            valorUnitario.TextChanged += new EventHandler(Masks.MaskPriceEvent);
            valorDesconto.TextChanged += new EventHandler(Masks.MaskPriceEvent);
            valorFrete.TextChanged    += new EventHandler(Masks.MaskPriceEvent);
            valorSeguro.TextChanged   += new EventHandler(Masks.MaskPriceEvent);
            vlrDespesa.TextChanged    += new EventHandler(Masks.MaskPriceEvent);
            valorTotal.TextChanged    += new EventHandler(Masks.MaskPriceEvent);

            icmsaliq.TextChanged += new EventHandler(Masks.MaskPriceEvent);
            icmsBase.TextChanged += new EventHandler(Masks.MaskPriceEvent);
            icmsvlr.TextChanged  += new EventHandler(Masks.MaskPriceEvent);

            icmsstaliq.TextChanged           += new EventHandler(Masks.MaskPriceEvent);
            icmsstbasecomreducao.TextChanged += new EventHandler(Masks.MaskPriceEvent);
            icmsstbase.TextChanged           += new EventHandler(Masks.MaskPriceEvent);
            icmsstvlr.TextChanged            += new EventHandler(Masks.MaskPriceEvent);
            pisaliq.TextChanged += new EventHandler(Masks.MaskPriceEvent);
            pisvlr.TextChanged  += new EventHandler(Masks.MaskPriceEvent);

            cofinsaliq.TextChanged += new EventHandler(Masks.MaskPriceEvent);
            cofinsvlr.TextChanged  += new EventHandler(Masks.MaskPriceEvent);
            ipialiq.TextChanged    += new EventHandler(Masks.MaskPriceEvent);
            ipivlr.TextChanged     += new EventHandler(Masks.MaskPriceEvent);

            federal.TextChanged   += new EventHandler(Masks.MaskPriceEvent);
            estadual.TextChanged  += new EventHandler(Masks.MaskPriceEvent);
            municipal.TextChanged += new EventHandler(Masks.MaskPriceEvent);
        }
Exemplo n.º 20
0
        public void CountDuplicatesTest_GiveDuplicatesAndSingleItems_WillPrintThemGrouped()
        {
            Swords testSword = new Swords();

            testSword.Name  = "testSword";
            testSword.Price = 5;
            Shields testShield = new Shields();

            testShield.Name  = "testShield";
            testShield.Price = 10;
            Consumables testConsumable = new Consumables();

            testConsumable.Name  = "testConsumable";
            testConsumable.Price = 15;
            Potions testPotion = new Potions();

            testPotion.Name  = "testPotion";
            testPotion.Price = 20;
            Masks testMask = new Masks();

            testMask.Name  = "testMask";
            testMask.Price = 25;

            List <Product> testCart = new List <Product>();

            for (int i = 0; i < 5; i++)
            {
                testCart.Add(testSword);
            }

            for (int i = 0; i < 132; i++)
            {
                testCart.Add(testShield);
            }

            testCart.Add(testConsumable);

            for (int i = 0; i < 45; i++)
            {
                testCart.Add(testPotion);
            }

            for (int i = 0; i < 98; i++)
            {
                testCart.Add(testMask);
            }

            string expected = "testSword x 5 - - - 25 Rupees\n\ntestShield x 132 - - - 1320 Rupees\n\ntestConsumable" +
                              " x 1 - - - 15 Rupees\n\ntestPotion x 45 - - - 900 Rupees\n\ntestMask x 98 - - - 2450 Rupees\n\n";

            string itemizerTest = Itemizer.CountDuplicates(testCart);

            Assert.AreEqual(expected, itemizerTest);
        }
Exemplo n.º 21
0
        public unsafe ComponentTypes(ComponentType a, ComponentType b)
        {
            this.m_sorted        = new ResizableArray64Byte <int>();
            this.m_masks         = new Masks();
            this.m_sorted.Length = 2;
            int *data = (int *)ref this.m_sorted.GetUnsafePointer();

            SortingUtilities.InsertSorted(data, 0, a.TypeIndex);
            SortingUtilities.InsertSorted(data, 1, b.TypeIndex);
            this.ComputeMasks();
        }
Exemplo n.º 22
0
        private void Eventos()
        {
            KeyDown   += KeyDowns;
            KeyPreview = true;
            Masks.SetToUpper(this);

            Shown += (s, e) =>
            {
                switch (Home.pedidoPage)
                {
                case "Delivery":
                    if (page == "Entregadores")
                    {
                        label11.Text      = @"Selecione o Entregador!";
                        label2.Text       = @"Buscar entregador (F1):";
                        NovoCliente.Text  = @"Entregador Novo ? (F9)";
                        label1.Text       = @"Entregadores encontrados:";
                        pictureBox1.Image = Resources.deliveryman;
                    }
                    else
                    {
                        label11.Text     = @"Selecione o Cliente!";
                        label2.Text      = @"Buscar cliente (F1):";
                        NovoCliente.Text = @"Cliente Novo ? (F9)";
                        label1.Text      = @"Clientes encontrados:";
                    }

                    break;

                case "Compras":
                    label11.Text     = @"Selecione o Fornecedor!";
                    label2.Text      = @"Buscar fornecedor (F1):";
                    NovoCliente.Text = @"Fornecedor Novo ? (F9)";
                    label1.Text      = @"Fornecedores encontrados:";
                    break;

                default:
                    label11.Text     = @"Selecione o Cliente!";
                    label2.Text      = @"Buscar cliente (F1):";
                    NovoCliente.Text = @"Cliente Novo ? (F9)";
                    label1.Text      = @"Clientes encontrados:";
                    break;
                }
            };

            search.TextChanged += (s, e) => DataTable();
            search.Enter       += (s, e) => DataTable();

            NovoCliente.Click   += (s, e) => FormNovoCliente();
            btnSelecionar.Click += (s, e) => SelectItemGrid();
            GridListaClientes.CellDoubleClick += (s, e) => SelectItemGrid();

            search.KeyPress += (s, e) => Masks.MaskOnlyNumberAndCharAndMore(s, e);
        }
Exemplo n.º 23
0
        private void Eventos()
        {
            KeyDown   += KeyDowns;
            KeyPreview = true;
            //KeyDown += KeyDowns;
            //nr.KeyDown += KeyDowns;
            //btnContinuar.KeyDown += KeyDowns;

            btnContinuar.Click += (s, e) => CancelItem();

            nr.KeyPress += (s, e) => Masks.MaskOnlyNumbers(s, e);
        }
Exemplo n.º 24
0
        public static void Draw(Pass pass)
        {
            if (pass.drawShadows)
            {
                Shadows.Draw(pass);
            }

            if (pass.drawMask)
            {
                Masks.Draw(pass);
            }
        }
Exemplo n.º 25
0
        public PlayerAnimationProvider(UxContext uxContext, int playerRadius)
        {
            Texture = uxContext.GetTexture("player-texture.png");
            var playerDiameter = playerRadius * 2;

            MaskTexture = Masks.GetCircleMask(playerRadius);
            TextureRect = new SDL_Rect {
                x = 0, y = 0, w = playerDiameter, h = playerDiameter
            };
            OutputSize = new Size(TextureRect.w, TextureRect.h);
            NonRepeatingTextureSize = 64 - TextureRect.w;
        }
Exemplo n.º 26
0
        private void Eventos()
        {
            Masks.SetToUpper(this);

            Shown += (s, e) =>
            {
                if (Home.financeiroPage == "Pagar")
                {
                    label6.Text = @"Pagamentos";
                    label2.Text = @"Pagamentoss a serem editados:";
                    label3.Text = @"As alterações abaixo, será aplicado a todos os pagamentos listado acima.";

                    label23.Text         = @"Pagar para";
                    label8.Text          = @"Despesa";
                    visualGroupBox2.Text = @"Pagamento";
                    label9.Text          = @"Data Pagamento";
                    label10.Text         = @"Valor Pagamento";
                }

                Refresh();

                formaPgto.ValueMember   = "Id";
                formaPgto.DisplayMember = "Nome";
                formaPgto.DataSource    = new FormaPagamento().GetAll();

                LoadFornecedores();
                LoadCategorias();

                SetHeadersTable(GridLista);
                SetContentTable(GridLista);
            };

            btnSalvar.Click += (s, e) =>
            {
                var result = AlertOptions.Message("Atenção!", "Confirmar alterações?", AlertBig.AlertType.warning,
                                                  AlertBig.AlertBtn.YesNo);
                if (result)
                {
                    Save();
                }
            };

            dataRecebido.KeyPress += Masks.MaskBirthday;
            recebido.TextChanged  += (s, e) =>
            {
                var txt = (TextBox)s;
                Masks.MaskPrice(ref txt);
            };

            label6.Click  += (s, e) => Close();
            btnExit.Click += (s, e) => Close();
        }
Exemplo n.º 27
0
 protected override void onStart()
 {
     // Récupération de l'échelle de temps
     time = countrySimData.GetComponent <TimeScale>();
     // Récupération des masques
     masks = countrySimData.GetComponent <Masks>();
     // Récupération des stats du vaccin
     vaccine = countrySimData.GetComponent <Vaccine>();
     // Récupération des données financières
     finances = countrySimData.GetComponent <Finances>();
     // Récupération des données de révolution
     revolution = countrySimData.GetComponent <Revolution>();
 }
Exemplo n.º 28
0
        private void OnDeleteMask()
        {
            if (SelectedItem == null)
            {
                return;
            }

            var module = myPresentation.GetModule <INodeMaskModule>();

            module.Remove(SelectedItem.Mask);

            SelectedItem = Masks.FirstOrDefault();
        }
Exemplo n.º 29
0
        public void GetTotalTest_GiveRandomPricedProducts_WillPrintTheTotalPrice()
        {
            Swords testSword = new Swords();

            testSword.Name  = "testSword";
            testSword.Price = 5;
            Shields testShield = new Shields();

            testShield.Name  = "testShield";
            testShield.Price = 10;
            Consumables testConsumable = new Consumables();

            testConsumable.Name  = "testConsumable";
            testConsumable.Price = 15;
            Potions testPotion = new Potions();

            testPotion.Name  = "testPotion";
            testPotion.Price = 20;
            Masks testMask = new Masks();

            testMask.Name  = "testMask";
            testMask.Price = 25;

            List <Product> testCart = new List <Product>();

            for (int i = 0; i < 5; i++)
            {
                testCart.Add(testSword);
            }

            for (int i = 0; i < 132; i++)
            {
                testCart.Add(testShield);
            }

            testCart.Add(testConsumable);

            for (int i = 0; i < 45; i++)
            {
                testCart.Add(testPotion);
            }

            for (int i = 0; i < 98; i++)
            {
                testCart.Add(testMask);
            }

            int actual = Itemizer.GetTotal(testCart);

            Assert.AreEqual(4710, actual);
        }
Exemplo n.º 30
0
        private void Eventos()
        {
            KeyDown   += KeyDowns;
            KeyPreview = true;
            Masks.SetToUpper(this);

            search.TextChanged += (s, e) => DataTable();
            search.Enter       += (s, e) => DataTable();

            Novo.Click          += (s, e) => FormNovoCliente();
            btnSelecionar.Click += (s, e) => SelectItemGrid();

            search.KeyPress += (s, e) => Masks.MaskOnlyNumberAndCharAndMore(s, e);
        }
Exemplo n.º 31
0
        public TypeMessage UpdateMaskMap(Vector2 location, Vector2 vector, Masks type)
        {
            int i = (int) (location.Y - startY)/Helper.SizeBlock;
            int j = (int) (location.X - startX)/Helper.SizeBlock;
            int iNext = i + (int) vector.Y;
            int jNext = j + (int) vector.X;

            // если вышли за границы
            if (i < 0 || j < 0 || jNext < 0 || iNext < 0 || i >= SizeY || j >= SizeX || iNext >= SizeY || jNext >= SizeX)
                return TypeMessage.Dead;

            switch (type)
            {
                case Masks.Snake:
                    if (_mask[iNext, jNext] == (int) Masks.Wall)
                    {
                        return TypeMessage.WallBreak;
                    }
                    if (_mask[iNext, jNext] == (int) Masks.Apple)
                    {
                        _mask[iNext, jNext] = (int) Masks.Snake;
                        _mask[i, j] = (int) Masks.Empty;
                        // обработать съедание яблока
                        return TypeMessage.Add;
                    }
                    _mask[iNext, jNext] = (int) Masks.Snake;
                    _mask[i, j] = (int) Masks.Empty;
                    break;
                case Masks.Sk:
                    if (_mask[iNext, jNext] == (int)Masks.Snake)
                        return TypeMessage.Dead;
                    _mask[i, j] = (int) Masks.Empty;
                    _mask[iNext, jNext] = (int) Masks.Sk;
                    _mongoose.I = iNext;
                    _mongoose.J = jNext;

                    break;
            }

            return TypeMessage.None;
        }
Exemplo n.º 32
0
		/// <summary>
		/// Gibt den angegebenen Frame als Farbarray zurück.
		/// </summary>
		/// <param name="frameID">Die ID des Frames.</param>
		/// <param name="Pal">Die zu verwendende Farbpalette als Palette-Objekt.</param>
		/// <param name="mask">Optional. Gibt die abzurufende Maske an; Standardwert ist die reine Frame-Grafik.</param>
		/// <remarks></remarks>
		public Color[,] getFrameAsColorArray(uint frameID, ColorTable Pal, Masks mask = Masks.Graphic)
		{
			// Framedaten abrufen
			FrameInformationHeader FIH = _frameInformationHeaders[(int)frameID];

			// Rückgabebild erstellen
			Color[,] ret = new Color[FIH.Width, FIH.Height];

			// Welche Maske ist gewollt?
			if(mask == Masks.Graphic) // Es handelt sich um die reine Frame-Grafik
			{
				// Bild pixelweise durchgehen
				for(int i = 0; i < FIH.Width; i++)
				{
					for(int j = 0; j < FIH.Height; j++)
					{
						// Palettenindex abrufen
						int farbID = _frameInformationData[(int)frameID].CommandTable[j, i];

						// Sonderindizes in die jeweiligen Farben umsetzen; meist Rein-Weiß
						switch(farbID)
						{
							case -1:
								farbID = 255;
								break;

							case -2:
								farbID = 255;
								break;

							case -3:
								farbID = 255;
								break;

							case -4:
								farbID = _schatten;
								break;
						}

						// Pixel in das Bild schreiben
						ret[i, j] = (farbID == 255 ? Color.FromArgb(0, 255, 255, 255) : Pal[farbID]); // 255er-Weiß gilt als transparent (Alpha = 0)
					}
				}
			}
			else if(mask != Masks.PlayerColor) // Es handelt sich um eine Maske (außer der Spielerfarbe)
			{
				// Den Index und die Zielfarbe angeben
				int maskIndex = 0;
				int maskColor = 0;
				if(mask == Masks.Transparency)
				{
					maskIndex = -1;
					maskColor = 0;
				}
				else if(mask == Masks.Outline1)
				{
					maskIndex = -2;
					maskColor = 8;
				}
				else if(mask == Masks.Outline2)
				{
					maskIndex = -3;
					maskColor = 124;
				}
				else if(mask == Masks.Shadow)
				{
					maskIndex = -4;
					maskColor = 131;
				}

				// Bild pixelweise durchgehen
				for(int i = 0; i < FIH.Width; i++)
				{
					for(int j = 0; j < FIH.Height; j++)
					{
						// Palettenindex abrufen
						int farbID = _frameInformationData[(int)frameID].CommandTable[j, i];

						// Je nach Masken Farben setzen
						if(farbID == maskIndex)
						{
							// Masken-Farbe übernehmen
							farbID = maskColor;
						}
						else
						{
							// Keine Maske, also weiß
							farbID = 255;
						}

						// Pixel übernehmen
						ret[i, j] = Pal[farbID];
					}
				}
			}
			else // Spielerfarbe
			{
				// Bild pixelweise durchgehen
				for(int i = 0; i < FIH.Width; i++)
				{
					for(int j = 0; j < FIH.Height; j++)
					{
						// Palettenindex abrufen
						int farbID = _frameInformationData[(int)frameID].CommandTable[j, i];

						// Liegt keine Spielerfarbe vor?
						if(farbID < 16 || farbID > 23)
						{
							// Pixel weiß einfärben
							farbID = 255;
						}

						// Pixel übernehmen
						ret[i, j] = Pal[farbID];
					}
				}
			}

			// Fertig
			return ret;
		}
Exemplo n.º 33
0
		/// <summary>
		/// Gibt den angegebenen Frame als Bitmap-Bild zurück.
		/// </summary>
		/// <param name="frameID">Die ID des Frames.</param>
		/// <param name="Pal">Die zu verwendende Farbpalette als Palette-Objekt.</param>
		/// <param name="mask">Optional. Gibt die abzurufende Maske an; Standardwert ist die reine Frame-Grafik.</param>
		/// <param name="maskReplacementColor">Optional. Gibt die Farbe an, die anstatt der Masken verwendet werden soll, die nicht angezeigt werden.</param>
		/// <param name="shadowColor">Optional. Gibt die Farbe an, die für Schatten verwendet werden soll.</param>
		/// <remarks></remarks>
		public Bitmap getFrameAsBitmap(uint frameID, ColorTable Pal, Masks mask = Masks.Graphic, Color? maskReplacementColor = null, Color? shadowColor = null)
		{
			// Framedaten abrufen
			FrameInformationHeader frameHeader = _frameInformationHeaders[(int)frameID];
			FrameInformationData frameData = _frameInformationData[(int)frameID];

			// Rückgabebild erstellen
			Bitmap ret = new Bitmap((int)frameHeader.Width, (int)frameHeader.Height);

			// Welche Maske ist gewollt?
			if(mask == Masks.Graphic) // Es handelt sich um die reine Frame-Grafik
			{
				// Unsafe ist hier enorm schneller als SetPixel()
				BitmapData retData = ret.LockBits(new Rectangle(0, 0, ret.Width, ret.Height), System.Drawing.Imaging.ImageLockMode.ReadWrite, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
				int retStride = retData.Stride;
				unsafe
				{
					// Pixelpointer abrufen
					byte* ptr = (byte*)retData.Scan0;

					// Bild pixelweise durchgehen
					for(int i = 0; i < frameHeader.Width; i++)
					{
						for(int j = 0; j < frameHeader.Height; j++)
						{
							// Palettenindex abrufen
							int farbID = frameData.CommandTable[j, i];

							// Sonderindizes in die jeweiligen Farben umsetzen
							Color col;
							switch(farbID)
							{
								case -1:
								case -2:
								case -3:
									col = maskReplacementColor ?? Color.White;
									break;

								case -4:
									col = shadowColor ?? Pal[_schatten];
									break;

								default:
									col = Pal[farbID];
									break;
							}

							// Pixel in das Bild schreiben
							ptr[i * 4 + j * retStride] = col.B;
							ptr[i * 4 + j * retStride + 1] = col.G;
							ptr[i * 4 + j * retStride + 2] = col.R;
							ptr[i * 4 + j * retStride + 3] = col.A;
						}
					}
				}
				ret.UnlockBits(retData);
			}
			else if(mask != Masks.PlayerColor) // Es handelt sich um eine Maske (außer der Spielerfarbe)
			{
				// Den Index und die Zielfarbe angeben
				int maskIndex = 0;
				int maskColor = 0;
				if(mask == Masks.Transparency)
				{
					maskIndex = -1;
					maskColor = 0;
				}
				else if(mask == Masks.Outline1)
				{
					maskIndex = -2;
					maskColor = 8;
				}
				else if(mask == Masks.Outline2)
				{
					maskIndex = -3;
					maskColor = 124;
				}
				else if(mask == Masks.Shadow)
				{
					maskIndex = -4;
					maskColor = 131;
				}

				// Bild pixelweise durchgehen
				for(int i = 0; i < frameHeader.Width; i++)
				{
					for(int j = 0; j < frameHeader.Height; j++)
					{
						// Palettenindex abrufen
						int farbID = _frameInformationData[(int)frameID].CommandTable[j, i];

						// Je nach Masken Farben setzen
						if(farbID == maskIndex)
						{
							// Masken-Farbe übernehmen
							farbID = maskColor;
						}
						else
						{
							// Keine Maske, also weiß
							farbID = 255;
						}

						// Pixel übernehmen
						ret.SetPixel(i, j, Pal[farbID]);
					}
				}
			}
			else // Spielerfarbe
			{
				// Bild pixelweise durchgehen
				for(int i = 0; i < frameHeader.Width; i++)
				{
					for(int j = 0; j < frameHeader.Height; j++)
					{
						// Palettenindex abrufen
						int farbID = _frameInformationData[(int)frameID].CommandTable[j, i];

						// Liegt keine Spielerfarbe vor?
						if(farbID < 16 || farbID > 23)
						{
							// Pixel weiß einfärben
							farbID = 255;
						}

						// Pixel übernehmen
						ret.SetPixel(i, j, Pal[farbID]);
					}
				}
			}

			// Fertig
			return ret;
		}
Exemplo n.º 34
0
		/// <summary>
		/// Exportiert den angegebenen Frame in eine Bitmap-Datei (50500er-Palette).
		/// </summary>
		/// <param name="frameID">Die ID des zu exportierenden Frame.</param>
		/// <param name="Pal">Die Farbtabelle.</param>
		/// <param name="filename">Die Bitmap-Datei, in die die Daten geschrieben werden sollen.</param>
		/// <param name="mask">Die zu exportierende Maske (oder reine Grafik) als Element der Masks-Enumeration.</param>
		public void exportFrame(int frameID, string filename, ColorTable Pal, Masks mask = Masks.Graphic)
		{
			// Framedaten abrufen
			FrameInformationHeader FIH = _frameInformationHeaders[(int)frameID];

			// Rückgabebild erstellen
			BitmapLoader bmp = new BitmapLoader((int)FIH.Width, (int)FIH.Height, Pal);

			// Welche Maske ist gewollt?
			if(mask == Masks.Graphic) // Es handelt sich um die reine Frame-Grafik
			{
				// Bild pixelweise durchgehen
				for(int i = 0; i < FIH.Width; i++)
				{
					for(int j = 0; j < FIH.Height; j++)
					{
						// Palettenindex abrufen
						int farbID = _frameInformationData[(int)frameID].CommandTable[j, i];

						// Sonderindizes in die jeweiligen Farben umsetzen; meist Rein-Weiß
						switch(farbID)
						{
							case -1:
								farbID = 255;
								break;

							case -2:
								farbID = 255;
								break;

							case -3:
								farbID = 255;
								break;

							case -4:
								farbID = _schatten;
								break;
						}

						// Pixel in das Bild schreiben
						bmp[i, j] = (byte)farbID;
					}
				}
			}
			else if(mask != Masks.PlayerColor) // Es handelt sich um eine Maske (außer der Spielerfarbe)
			{
				// Den Index und die Zielfarbe angeben
				int maskIndex = 0;
				int maskColor = 0;
				if(mask == Masks.Transparency)
				{
					maskIndex = -1;
					maskColor = 0;
				}
				else if(mask == Masks.Outline1)
				{
					maskIndex = -2;
					maskColor = 8;
				}
				else if(mask == Masks.Outline2)
				{
					maskIndex = -3;
					maskColor = 124;
				}
				else if(mask == Masks.Shadow)
				{
					maskIndex = -4;
					maskColor = 131;
				}

				// Bild pixelweise durchgehen
				for(int i = 0; i < FIH.Width; i++)
				{
					for(int j = 0; j < FIH.Height; j++)
					{
						// Palettenindex abrufen
						int farbID = _frameInformationData[(int)frameID].CommandTable[j, i];

						// Je nach Masken Farben setzen
						if(farbID == maskIndex)
						{
							// Masken-Farbe übernehmen
							farbID = maskColor;
						}
						else
						{
							// Keine Maske, also weiß
							farbID = 255;
						}

						// Pixel übernehmen
						bmp[i, j] = (byte)farbID;
					}
				}
			}
			else // Spielerfarbe
			{
				// Bild pixelweise durchgehen
				for(int i = 0; i < FIH.Width; i++)
				{
					for(int j = 0; j < FIH.Height; j++)
					{
						// Palettenindex abrufen
						int farbID = _frameInformationData[(int)frameID].CommandTable[j, i];

						// Liegt keine Spielerfarbe vor?
						if(farbID < 16 || farbID > 23)
						{
							// Pixel weiß einfärben
							farbID = 255;
						}

						// Pixel übernehmen
						bmp[i, j] = (byte)farbID;
					}
				}
			}

			// Fertig, Bild speichern
			bmp.saveToFile(filename);
		}