Exemple #1
0
        private void OnBarrelRollPressed(object sender, ActivateButtonArgs args)
        {
            if (!args.isPressed) return;

            StartCoroutine(BarrelRolling());
        }
Exemple #2
0
        private void OnWeaponPressed(object sender, ActivateButtonArgs args)
        {
            int weapon = int.Parse(args.value);

            weaponStates[weapon] = args.isPressed ? ButtonStates.Pressed : ButtonStates.Released;
        }
Exemple #3
0
 private void OnColorSelected(object sender, ActivateButtonArgs args)
 {
     SetColor(int.Parse(args.value));
     TogglePallette(false);
 }
Exemple #4
0
        private void OnActivatedAugPressed(object sender, ActivateButtonArgs args)
        {
            if (!args.isPressed) return;

            AbilityButton clickedButton = (AbilityButton)sender;

            if (selectedAug == null)
            {
                selectedAug = clickedButton;
                clickedButton.Activate(true);
                StartBlink(clickedButton.AbilityIndex, true);
                augIndex = clickedButton.AbilityIndex;
            }
            else if (selectedAug == clickedButton)
            {
                clickedButton.Activate(false);
                selectedAug = null;
                StopBlink(clickedButton.AbilityIndex, true);
                augIndex = null;
            }
            else
            {
                // swap
                grid.MoveAugMap(selectedAug.AbilityIndex, clickedButton.AbilityIndex - selectedAug.AbilityIndex);

                // moving to extra
                if (clickedButton.IsExtra)
                {
                    extraAugs[clickedButton.ButtonIndex].Initialize(grid.augmentations[clickedButton.AbilityIndex].name, clickedButton.AbilityIndex, clickedButton.ButtonIndex, true);
                }
                else
                {
                    activeAugs[clickedButton.ButtonIndex].Initialize(grid.augmentations[clickedButton.AbilityIndex].name, clickedButton.AbilityIndex, clickedButton.ButtonIndex, false);
                }

                // moving from extra
                if (selectedAug.IsExtra)
                {
                    extraAugs[selectedAug.ButtonIndex].Initialize(grid.augmentations[selectedAug.AbilityIndex].name, selectedAug.AbilityIndex, selectedAug.ButtonIndex, true);
                }
                else
                {
                    activeAugs[selectedAug.ButtonIndex].Initialize(grid.augmentations[selectedAug.AbilityIndex].name, selectedAug.AbilityIndex, selectedAug.ButtonIndex, false);
                }

                clickedButton.Activate(false);
                selectedAug.Activate(false);

                Deselect(Abilities.Aug);
                StopBlink(clickedButton.AbilityIndex, true);
                augIndex = null;
            }
        }
        private void OnBuildChosen(object sender, ActivateButtonArgs args)
        {
            if (!args.isPressed) return;

            ConstructionGrid.SelectedBuild = args.value;
            SelectableButton button = (SelectableButton)sender;
            BuildInfo buildInfo = button.GetComponent<BuildPreview>().Info;
            selectedBuildPreview.Initialize(buildInfo);

            // release
            if (currentPreview != null)
            {
                if (disjoinJob != null)
                {
                    disjoinJob.Kill();
                    Destroy(lastPreview);
                }
                lastPreview = currentPreview;
                disjoinJob = new Job(ShowBuild.Disjoin(lastPreview.transform, releaseTime, () => Destroy(lastPreview)));
            }

            // build
            currentPreview = new GameObject();
            currentPreview.transform.parent = previewStage;
            currentPreview.transform.localPosition = new Vector3(-0.5f, -0.5f, -0.5f);
            currentPreview.transform.localRotation = Quaternion.identity;

            if (joinJob != null)
            {
                joinJob.Kill();
            }
            joinJob = new Job(ShowBuild.Join(buildInfo, ConstructionGrid.BuildSize, currentPreview.transform, buildTime));
        }
Exemple #6
0
 /// <summary>
 /// TryActivate weapons registered to HUD button presses.
 /// </summary>
 /// <param name="sender">Button pressed.</param>
 /// <param name="args">Button args.</param>
 public void OnActivate(object sender, ActivateButtonArgs args)
 {
     TryActivate(int.Parse(args.value), args.isPressed);
 }