private void ShowDialogWithSuggestionToConfigureApplication() { CustomAlertDialog dialog = new CustomAlertDialog(this) .SetPositiveButton(Resource.String.configureActionTitle, StartPreferencesActivity) .SetMessage(Resource.String.configureApplicationMessage, false) .SetCancelable(false); dialog.Show(); FeatureDiscoveryState state = _application.Preferences.FeatureDiscoveryState; if (!state.HasFlag(FeatureDiscoveryState.ApplicationSettings)) { TapTargetViewListener listener = new TapTargetViewListener(); listener.Clicked += () => _application.Preferences.SetFeatureDiscoveryState( state | FeatureDiscoveryState.ApplicationSettings ); Button positiveButton = dialog.GetButton(DialogButtonType.Positive); TapTarget settingsTarget = TapTarget.ForView( positiveButton, Resources.GetString(Resource.String.applicationSettingsFeatureDiscoveryTitle), Resources.GetString(Resource.String.applicationSettingsFeatureDiscoveryMessage) ) .Stylize(); TapTargetView.ShowFor(dialog, settingsTarget, listener); } }
void Awake() { main = FindObjectOfType<Main>(); targeter = FindObjectOfType<TapTarget>(); camAngle = 0f; physicsCtrlVec = Vector2.zero; }
public void TargetOutcome(TapTarget target, bool hit) { int accuracy = target.Accuracy(hit); // Calculate how accurate the tap was based on the size of the TimerRing float destructDelay = Mathf.Clamp(target.lifetime, 0.5f, 1.5f); // Spawn the indicator text that shows the player how accurate they were with their tap. GameObject accuracyIndicatorScript = Instantiate(AccuracyIndicatorPrefab, target.transform.position, Quaternion.identity); accuracyIndicatorScript.GetComponent <AccuracyIndicator> ().SpawnSetup(accuracy, destructDelay); // Get the modifier for calculating animation speed. float attackSpeedMod = speedModifier + 1 < 3 ? speedModifier + 1 : 3; // Storing damage outside the if statements so we can update the Score after calculating. int damage = 0; // Then run animations and other functions based on that accuracy. // Player gains a small amount of HP back on perfect presses. if (accuracy >= 95) { damage = playerCharacter.attackPower * 2; enemyCharacter.TakeDamage(false, damage); playerCharacter.Attack(attackSpeedMod); playerCharacter.GainHP(5); damage += 5; } else if (accuracy >= 85) { damage = (int)playerCharacter.attackPower; enemyCharacter.TakeDamage(false, damage); playerCharacter.Attack(attackSpeedMod); } else if (accuracy >= 75) { damage = playerCharacter.attackPower / 2; enemyCharacter.TakeDamage(false, damage); playerCharacter.Attack(attackSpeedMod); } else if (accuracy >= 55) { //damage = playerCharacter.attackPower / 2; playerCharacter.Attack(attackSpeedMod, true); enemyCharacter.Attack(attackSpeedMod); } else { playerCharacter.TakeDamage(false, enemyCharacter.attackPower); enemyCharacter.Attack(attackSpeedMod); } // Update the score. GameController.Score += damage; inGameScoreText.text = "Score: " + GameController.Score; // Remove from activeTargets activeTargets.Remove(target.gameObject); }
public static TapTarget Stylize(this TapTarget target) { return(target.DrawShadow(false) .TitleTextDimen(Resource.Dimension.extraLargeTextSize) .DescriptionTextDimen(Resource.Dimension.largeTextSize) .TextColor(Resource.Color.tapTargetViewText) .DimColor(Resource.Color.tapTargetViewDim) .TargetCircleColor(Resource.Color.tapTargetViewTarget) .OuterCircleColor(Resource.Color.tapTargetViewOuterCircle)); }
protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); // Set our view from the "main" layout resource SetContentView(Resource.Layout.Main); // Get our button from the layout resource, // and attach an event to it Button button = FindViewById <Button>(Resource.Id.MyButton); button.Click += delegate { button.Text = string.Format("{0} clicks!", count++); }; var target = TapTarget.ForView(button, "Test", "Description"); TapTargetView.ShowFor(this, target); }
public void OnGlobalLayout() { _toolbar.ViewTreeObserver.RemoveOnGlobalLayoutListener(this); Display display = WindowManager.DefaultDisplay; Rect bounds = new Rect(0, 0, display.Width, display.Height / 4); TapTargetView.ShowFor(this, TapTarget.ForToolbarMenuItem(_toolbar, Resource.Id.menu_search, "Title", "Description") .OuterCircleColor(Resource.Color.blue) // Specify a color for the outer circle .OuterCircleAlpha(.94f) .TargetCircleColor(Resource.Color.inner_blue) .TitleTextSize(20) // Specify the size (in sp) of the title text .DescriptionTextSize(10) // Specify the size (in sp) of the description text .TextColor(Resource.Color.white) // Specify a color for both the title and description text .DrawShadow(true) // Whether to draw a drop shadow or not .Icon(ContextCompat.GetDrawable(this, Resource.Drawable.ic_action_search)) // Whether tapping outside the outer circle dismisses the view .TransparentTarget(false) // Specify whether the target is transparent (displays the content underneath) .TargetRadius(60)); }
// Use this for initialization void Start() { // get pointer and target script reference pointerScript = pointer.GetComponent <TapPointer>(); pointerScript.travelDistance = barWidth; targetScript = target.GetComponent <TapTarget>(); // Hide the game over panel gameOverPanel.SetActive(false); // starting score text scoreText.text = "Score: 0"; ovenGameStartSound.Post(gameObject); // difficulty based scoring if (MinigameScores.ScoreTarget > 0) { scoreOnGreen = 50 * (MinigameScores.DishTarget * 5); scoreOnYellow = 25 * (MinigameScores.DishTarget * 5); scoreOnOrange = 10 * (MinigameScores.DishTarget * 5); targetScore = MinigameScores.ScoreTarget / 4; } else { scoreOnGreen = 50; scoreOnYellow = 25; scoreOnOrange = 10; targetScore = 100; } scoreAdded = false; gameStarted = false; // display tutorial objects blurPanel.SetActive(true); tutorialPanel.SetActive(true); }
// Use this for initialization void Start() { tt = FindObjectOfType<TapTarget>(); lg = FindObjectOfType<LevelGen>(); children = new List<GameObject>(); for (int index = 0; index < transform.childCount; index++) { children.Add(transform.GetChild(index).gameObject); } message = GetComponentInChildren<InputField>(); itemImage = transform.FindChild("ItemImage").GetComponent<Image>(); pickupDropIcon = itemImage.transform.FindChild("PickupDropImage") .GetComponent<Image>(); valueText = itemImage.transform.FindChild("ItemValue") .GetComponent<Text>(); lastTTPos = tt.transform.position; }
void Update() { if (currState == CombatState.Active) { CheckForCombatEnd(); if (safeToSpawnTargets) { StartCoroutine(SpawnTargets()); } #if UNITY_EDITOR if (Input.GetButtonDown("Fire1")) { print("Fire1 pressed in editor."); RaycastHit2D raycastHit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.mousePosition), Vector2.zero); if (raycastHit) { if (raycastHit.collider.CompareTag("TapTarget")) { TapTarget targetHit = raycastHit.collider.GetComponent <TapTarget> (); TargetOutcome(targetHit, true); } } } #elif UNITY_IOS || UNITY_ANDROID if ((Input.touchCount > 0) && (Input.GetTouch(0).phase == TouchPhase.Began)) { RaycastHit2D raycastHit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.GetTouch(0).position), Vector2.zero); if (raycastHit) { if (raycastHit.collider.CompareTag("TapTarget")) { TapTarget targetHit = raycastHit.collider.GetComponent <TapTarget>(); TargetOutcome(targetHit, true); } } } #endif } else if (gameType == GameType.Endless) { if (currState == CombatState.Victory || currState == CombatState.Defeat) { DestroyAllTapTargets(); if (currState == CombatState.Victory) { // Hooray! You won! Do things. // winScreen.SetActive (true); currState = CombatState.Between; StartCoroutine(EnemySpawnDelay()); } else { // Darn! You lost! Do things. inGameUI.SetActive(false); loseScreen.SetActive(true); afterGameScoreText.text = "Score: " + GameController.Score; currState = CombatState.Ready; } } } else if (gameType == GameType.Progressive) { if (currState == CombatState.Victory || currState == CombatState.Defeat) { DestroyAllTapTargets(); if (currState == CombatState.Victory) { // Hooray! You won! Do things. winScreen.SetActive(true); } else { // Darn! You lost! Do things. loseScreen.SetActive(true); } currState = CombatState.Ready; } } else { // We're in the ready state. Wait for input. } }
void Awake() { player = FindObjectOfType<Player>(); targ = FindObjectOfType<TapTarget>(); spawnedObjects = new List<GameObject>(); islandPrefab = Resources.Load<GameObject>("Prefabs/Island"); signPrefab = Resources.Load<GameObject>("Prefabs/Sign"); itemPrefab = Resources.Load<GameObject>("Prefabs/Item"); villagePrefab = Resources.Load<GameObject>("Prefabs/Village"); Prestige = BASE_PRESTIGE; }
private void ShowSchedulesFeatureDiscoveryTargetsSequence(Int32 numberOfSchedules) { FeatureDiscoveryState state = _application.Preferences.FeatureDiscoveryState; List <TapTarget> targets = new List <TapTarget>(); if (!state.HasFlag(FeatureDiscoveryState.SchedulesDownload)) { TapTarget downloadTarget; // Если пользователь выбрал для переключения даты в расписании плавающую кнопку, то элемент // меню для загрузки расписаний находится на тулбаре, а иначе – скрыт в выпадающем меню. if (_application.Preferences.UseFabDateSelector) { downloadTarget = TapTarget.ForToolbarMenuItem( _toolbar, Resource.Id.downloadSchedulesMenuItem, Resources.GetString(Resource.String.schedulesDownloadFeatureDiscoveryTitle), Resources.GetString(Resource.String.schedulesDownloadFeatureDiscoveryMessage) ); } else { downloadTarget = TapTarget.ForToolbarOverflow( _toolbar, Resources.GetString(Resource.String.schedulesDownloadFeatureDiscoveryTitle), Resources.GetString(Resource.String.schedulesDownloadFeatureDiscoveryMessage) ); } downloadTarget.Stylize().Id((Int32)FeatureDiscoveryState.SchedulesDownload); targets.Add(downloadTarget); } if (numberOfSchedules != 0) { if (!state.HasFlag(FeatureDiscoveryState.SchedulesManagement)) { targets.Add( TapTarget.ForView( _toolbarTitle, Resources.GetString(Resource.String.schedulesManagementFeatureDiscoveryTitle), Resources.GetString(Resource.String.schedulesManagementFeatureDiscoveryMessage) ) .Stylize() .Id((Int32)FeatureDiscoveryState.SchedulesManagement) ); } if (!state.HasFlag(FeatureDiscoveryState.ScheduleChangeDate)) { TapTarget dateTarget; if (_application.Preferences.UseFabDateSelector) { dateTarget = TapTarget.ForView( _fab, Resources.GetString(Resource.String.scheduleChangeDateFeatureDiscoveryTitle), Resources.GetString(Resource.String.scheduleChangeDateFeatureDiscoveryMessage) ) .TintTarget(false); } else { dateTarget = TapTarget.ForToolbarMenuItem( _toolbar, Resource.Id.selectViewingDateMenuItem, Resources.GetString(Resource.String.scheduleChangeDateFeatureDiscoveryTitle), Resources.GetString(Resource.String.scheduleChangeDateFeatureDiscoveryMessage) ); } dateTarget.Stylize().Id((Int32)FeatureDiscoveryState.ScheduleChangeDate); targets.Add(dateTarget); } // if (!state.HasFlag(FeatureDiscoveryState.UpdateSchedulesOnStart)) // { // TapTarget updateTarget = TapTarget.ForToolbarOverflow( // _toolbar, // Resources.GetString(Resource.String.updateSchedulesOnStartFeatureDiscoveryTitle), // Resources.GetString(Resource.String.updateSchedulesOnStartFeatureDiscoveryMessage) // ); // // updateTarget.Stylize().Id((Int32)FeatureDiscoveryState.UpdateSchedulesOnStart); // targets.Add(updateTarget); // } } if (targets.Count == 0) { return; } TapTargetSequenceListener listener = new TapTargetSequenceListener(); listener.Clicked += (Int32 id) => _application.Preferences.SetFeatureDiscoveryState( state |= (FeatureDiscoveryState)id ); new TapTargetSequence(this).Targets(targets).Listener(listener).ContinueOnCancel(true).Start(); }
public void OnSequenceCanceled(TapTarget lastTarget) { }
public void OnSequenceStep(TapTarget lastTarget, Boolean targetClicked) { Clicked?.Invoke(lastTarget.Id()); }