Пример #1
0
 private async void OnContentRendered(object sender, EventArgs _)
 {
     _keyboardHook.Start();
     _keyboardHook.CtrlShift             += (s, e) => Generate(true, true);
     _keyboardHook.Ctrl                  += (s, e) => Generate(false, true);
     GeneratingPage.MouseLeftButtonDown  += (s, e) => Generate(true, false);
     GeneratingPage.MouseRightButtonDown += (s, e) => Generate(false, false);
     GeneratingPage.MouseLeftButtonDown  += (s, e) => EffectPanel.Focus();
     DataContext = await FileConfiguration.ReadConfigAsync().ConfigureAwait(false);
 }
Пример #2
0
        private void AddEffectInfo()
        {
            var path = Path.Combine(WindowUtility.MainForm.CurrentProjectDir, Path.Combine("Resource", treeView1.SelectedNode.FullPath));

            if (!File.Exists(path))
            {
                return;
            }

            try
            {
                var refs    = EffectLoader.GetEffectReference(path);
                var manager = EffectLoader.Load(path, false, (fn) =>
                {
                });
                AddInfo(Utility.Language["ReferenceEffect"], String.Join(", ", refs));
                AddInfo(Utility.Language["FrameCount"], manager.FrameLength);
                AddInfo(Utility.Language["StartFrame"], manager.StartFrame);
                int layerCount = 0;
                var effects    = new Queue <IEffect>();
                effects.Enqueue(manager);
                while (effects.Count > 0)
                {
                    var effect = effects.Dequeue();
                    if (effect.Effects.Count == 0)
                    {
                        layerCount++;
                    }
                    else
                    {
                        foreach (IEffect childEffect in effect.Effects)
                        {
                            effects.Enqueue(childEffect);
                        }
                    }
                }
                AddInfo(Utility.Language["LayerCount"], layerCount);
                AddInfo(Utility.Language["FPS"], manager.FPS);

                var effectPanel = new EffectPanel();
                effectPanel.SetLang();
                effectPanel.OpenFile(path);
                ChangePanel(effectPanel);
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }
        }
Пример #3
0
    public void display(GameObject obj)
    {
        bool levelDataFound = false;
        bool bonusFound     = false;

        string levelText = "";
        string bonusText = "";

        AbilityGeneralData generalData = obj.GetComponent <AbilityGeneralData>();

        if (generalData)
        {
            nameLabel.text        = generalData.abilityName;
            categoryLabel.text    = generalData.abilityCategoryText;
            descriptionLabel.text = generalData.abilityDescription;
        }

        AbilityCostData costData = obj.GetComponent <AbilityCostData>();

        if (costData)
        {
            int costPanels = 0;

            if (costData.abilityMentalCost == 0 && costData.abilityPhysicalCost == 0)
            {
                costPanel.SetActive(false);
            }
            else
            {
                costPanel.SetActive(true);
            }

            if (costData.abilityMentalCost > 0)
            {
                mentalCostPanel.SetActive(true);
                costPanels++;
            }
            else
            {
                mentalCostPanel.SetActive(false);
            }

            if (costData.abilityPhysicalCost > 0)
            {
                physicalCostPanel.SetActive(true);
                costPanels++;
            }
            else
            {
                physicalCostPanel.SetActive(false);
            }

            if (costPanels == 0)
            {
                costPanel.SetActive(false);
            }
            else
            {
                costPanel.SetActive(true);

                if (costPanels > 1)
                {
                    separatorPanel.SetActive(true);
                }
                else
                {
                    separatorPanel.SetActive(false);
                }
            }

            mentalCostLabel.text   = costData.abilityMentalCost.ToString();
            physicalCostLabel.text = costData.abilityPhysicalCost.ToString();
        }

        AbilityRange abilityRange = obj.GetComponent <AbilityRange>();

        if (abilityRange)
        {
            rangeTypeLabel.text = abilityRange.getAbilityRangeDescription();
        }

        AbilityArea abilityArea = obj.GetComponent <AbilityArea>();

        if (abilityArea)
        {
            areaTypeLabel.text = abilityArea.getAbilityAreaDescription();
        }

        for (int i = 0; i < obj.transform.childCount; ++i)
        {
            Transform child = obj.transform.GetChild(i);

            if (child.name == "Bonus")
            {
                string levelChildName;

                AbilityLevelData abilityLevelData = child.GetComponent <AbilityLevelData>();

                if (abilityLevelData != null)
                {
                    levelDataFound = true;
                    levelText      = "Nivel " + abilityLevelData.level.ToString();

                    levelChildName = "Level " + abilityLevelData.level;

                    for (int j = 0; j < child.transform.childCount; ++j)
                    {
                        Transform bonusChild = child.transform.GetChild(j);

                        if (bonusChild.name == levelChildName)
                        {
                            AbilityBonus[] abilityBonusList = bonusChild.GetComponents <AbilityBonus>();
                            foreach (AbilityBonus abilityBonus in abilityBonusList)
                            {
                                bonusFound = true;

                                if (bonusText != "")
                                {
                                    bonusText += "\n";
                                }
                                bonusText += abilityBonus.getAbilityBonusDescription();
                            }

                            break;
                        }
                    }
                }
            }

            foreach (Transform effectChild in effectsPanel.transform)
            {
                Destroy(effectChild.gameObject);
            }
            if (child.name == "Effects")
            {
                for (int j = 0; j < child.childCount; ++j)
                {
                    Transform childEffect = child.transform.GetChild(j);

                    GameObject effectPanelObject = Instantiate(effectPanelPrefab);
                    effectPanelObject.transform.SetParent(effectsPanel.transform);
                    effectPanelObject.transform.localScale    = new Vector3(1.0f, 1.0f, 1.0f);
                    effectPanelObject.transform.localPosition = new Vector3(0.0f, 0.0f, 0.0f);
                    EffectPanel effectPanel = effectPanelObject.GetComponent <EffectPanel>();

                    if (effectPanel)
                    {
                        AbilityPower abilityPower = childEffect.GetComponent <AbilityPower>();
                        if (abilityPower)
                        {
                            effectPanel.powerLabel.gameObject.SetActive(true);

                            effectPanel.powerLabel.text = abilityPower.getAbilityPower().ToString() + "%";
                        }
                        else
                        {
                            effectPanel.powerLabel.gameObject.SetActive(false);
                        }

                        AbilityHitRate abilityHitRate = childEffect.GetComponent <AbilityHitRate>();
                        if (abilityHitRate)
                        {
                            effectPanel.hitRateLabel.gameObject.SetActive(true);

                            effectPanel.hitRateLabel.text = abilityHitRate.getAbilityHitRateDescription();
                        }
                        else
                        {
                            effectPanel.hitRateLabel.gameObject.SetActive(false);
                        }
                    }
                }
            }
        }

        if (levelDataFound)
        {
            levelPanel.gameObject.SetActive(true);
            levelLabel.text = levelText;
        }
        else
        {
            levelPanel.gameObject.SetActive(false);
        }

        if (bonusFound)
        {
            CentralPanelSeparator.SetActive(true);
            bonusLabel.gameObject.SetActive(true);
            bonusLabel.text = bonusText;
        }
        else
        {
            CentralPanelSeparator.SetActive(false);
            bonusLabel.gameObject.SetActive(false);
            bonusLabel.text = "";
        }
    }
Пример #4
0
        void SelectVoice(int index)
        {
            if (index == _voice)
            {
                return;
            }

            _voice = index;
            Effect effect = null;

            switch (_voice)
            {
            case 1:
                effect = new Chorus();
                break;

            case 2:
                effect = new FastAttackCompressor1175();
                break;

            case 3:
                effect = new BadBussMojo();
                break;

            case 4:
                effect = new EventHorizon();
                break;

            case 5:
                effect = new FairlyChildish();
                break;

            case 6:
                effect = new FlangeBaby();
                break;

            case 7:
                effect = new SuperPitch();
                break;

            case 8:
                effect = new ThreeBandEQ();
                break;

            case 9:
                effect = new Tremolo();
                break;

            default:
                break;
            }

            if (effects.Count > 0)
            {
                effects.Clear();
            }
            if (effect != null)
            {
                effects.Add(effect);
            }

            panel1.Controls.Clear();
            if (effect != null)
            {
                var panel = new EffectPanel();
                panel.Dock = DockStyle.Fill;
                panel.Initialize(effect);
                panel1.Controls.Add(panel);
            }
        }