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);
            }
        }
Exemple #2
0
 void Awake()
 {
     main = FindObjectOfType<Main>();
     targeter = FindObjectOfType<TapTarget>();
     camAngle = 0f;
     physicsCtrlVec = Vector2.zero;
 }
Exemple #3
0
    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);
    }
Exemple #4
0
 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));
 }
Exemple #5
0
        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);
        }
Exemple #6
0
        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;
    }
Exemple #9
0
    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.
        }
    }
Exemple #10
0
    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;
    }
Exemple #11
0
        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();
        }
Exemple #12
0
 public void OnSequenceCanceled(TapTarget lastTarget)
 {
 }
Exemple #13
0
 public void OnSequenceStep(TapTarget lastTarget, Boolean targetClicked)
 {
     Clicked?.Invoke(lastTarget.Id());
 }