private void OnBarrelRollPressed(object sender, ActivateButtonArgs args) { if (!args.isPressed) return; StartCoroutine(BarrelRolling()); }
private void OnWeaponPressed(object sender, ActivateButtonArgs args) { int weapon = int.Parse(args.value); weaponStates[weapon] = args.isPressed ? ButtonStates.Pressed : ButtonStates.Released; }
private void OnColorSelected(object sender, ActivateButtonArgs args) { SetColor(int.Parse(args.value)); TogglePallette(false); }
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)); }
/// <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); }