Exemple #1
0
 void Start()
 {
     ThisScore = new ScoreFormat();
     ScoreName = transform.Find("Canvas/ScoreName").gameObject;
     ScoreName.GetComponent <InputField>().onEndEdit.AddListener(delegate { IsInput(ScoreName.GetComponent <InputField>()); });
     MusicVolSlider.GetComponent <Slider>().value = SaveLoad.musicVol;
     SFXVolSlider.GetComponent <Slider>().value   = SaveLoad.fXVol;
     Tips.SetActive(false);
     PauseScreen.SetActive(false);
     ScoreName.SetActive(false);
     AmmoCount = MaxAmmo;                             //set ammo
     EndUI.GetComponent <Text>().text = string.Empty; //initialised as blank to get rid of the filler text
     ExitGameButton.GetComponent <Button>().onClick.AddListener(ExitGame);
     StartCoroutine(StartAudio());                    //play music
     UpdateBarUI();
 }
        public MediaListViewModel(AniList.Models.MediaModels.MediaList model, MediaListDetailType primaryMediaListDetailType,
                                  MediaListDetailType secondaryMediaListDetailType, bool displayTimeUntilAiringCountdown,
                                  MediaListRecyclerAdapter.MediaListProgressDisplayType progressDisplayType,
                                  ScoreFormat scoreFormat) : base(model)
        {
            _displayTimeUntilAiringCountdown = displayTimeUntilAiringCountdown;
            _scoreFormat         = scoreFormat;
            _progressDisplayType = progressDisplayType;

            TitleText           = model.Media?.Title?.UserPreferred;
            DetailPrimaryText   = GetDetailString(model.Media?.Type, primaryMediaListDetailType);
            DetailSecondaryText = GetDetailString(model.Media?.Type, secondaryMediaListDetailType);
            ImageUri            = model.Media?.CoverImage?.Large ?? model.Media?.CoverImage?.Medium;
            IsPriority          = model.Priority > 0;
            ButtonIcon          = GetEpisodeAddIcon();
            ImageColor          = Color.ParseColor(model.Media?.CoverImage?.Color ?? "#00000000");
            WatchingStatus      = GetWatchingStatus();
        }
    void MenuButtons(string name)
    {
        switch (name)
        {
        case "Start Game":
            SceneManager.LoadScene("Play");
            break;

        case "HighScores":
            if (MusicSlider.activeSelf)
            {
                MusicSlider.SetActive(false);
                SFXSlider.SetActive(false);
            }
            AdditionalText.text = "HighScores!";
            if (SaveLoad.scores != null)
            {
                SaveLoad.scores = SaveLoad.scores.OrderBy(w => w.Score).ToList();
                for (int i = SaveLoad.scores.Count - 1, j = 1; i >= 0; i--, j++)
                {
                    if (j < 21)
                    {
                        ScoreFormat sf = SaveLoad.scores[i];
                        AdditionalText.text += System.Environment.NewLine + j + ". " + sf.Score + ", Level. " + sf.Level + ", Name. " + sf.Name;
                    }
                }
            }
            if (AdditionalText.text == "HighScores!")
            {
                AdditionalText.text += System.Environment.NewLine + "No highscores set yet!";
            }
            break;

        case "Settings":
            MusicSlider.SetActive(true);
            SFXSlider.SetActive(true);
            AdditionalText.text = string.Empty;
            break;

        case "Credits":
            if (MusicSlider.activeSelf)
            {
                MusicSlider.SetActive(false);
                SFXSlider.SetActive(false);
            }
            AdditionalText.text  = "Music;" + System.Environment.NewLine;
            AdditionalText.text += "Space Boss Battle Theme, 'Matthew Pablo'" + System.Environment.NewLine
                                   + "Wheres My Spaceship, 'Spuispuin'" + System.Environment.NewLine
                                   + "Space Boss Battle, 'Hitctrl'" + System.Environment.NewLine
                                   + "Hypersspace, 'MidFag'" + System.Environment.NewLine
                                   + "Less-Appealing, 'Macro'" + System.Environment.NewLine
                                   + "Through-Space, 'Maxstack'" + System.Environment.NewLine
                                   + "Galactic Temple, 'yd'" + System.Environment.NewLine
                                   + "Space Music, 'MrPoly'" + System.Environment.NewLine + System.Environment.NewLine
                                   + "Sound Effects;" + System.Environment.NewLine
                                   + "8-Bit Sound Effect Pack Vol001, 'Xenocity'" + System.Environment.NewLine + System.Environment.NewLine
                                   + "Art;" + System.Environment.NewLine
                                   + "Asteroids, 'Sumbada'" + System.Environment.NewLine
                                   + "HorseHead Nebula, 'HDSpaceWallpapers4305'" + System.Environment.NewLine
                                   + "SpaceShip Model; " + System.Environment.NewLine
                                   + "Jay Cole" + System.Environment.NewLine
                                   + "VFX;" + System.Environment.NewLine + System.Environment.NewLine
                                   + "Particle Systems/Magic, 'UETools'" + System.Environment.NewLine + System.Environment.NewLine
                                   + "Post Processing Stack;" + System.Environment.NewLine
                                   + "Unity Essentials, 'Unity Technologies'" + System.Environment.NewLine + System.Environment.NewLine
                                   + "Font;" + System.Environment.NewLine
                                   + "Demonized, 'GreyWolf Webworks'" + System.Environment.NewLine + System.Environment.NewLine
                                   + "Invaluable Help;" + System.Environment.NewLine
                                   + "'Ethan Bruins'" + System.Environment.NewLine + System.Environment.NewLine
                                   + "PlayTesters;" + System.Environment.NewLine
                                   + "'Dominik Bauer'" + System.Environment.NewLine
                                   + "'James Morgan'" + System.Environment.NewLine + System.Environment.NewLine
                                   + "The Rest;" + System.Environment.NewLine
                                   + "Robert Ashton";
            break;

        case "Exit Game":
            SaveLoad.Save();
            Application.Quit();
            break;
        }
    }
        public static MediaListViewModel CreateViewModel(AniList.Models.MediaModels.MediaList model, ScoreFormat scoreFormat, bool displayTimeUntilAiringCountdown,
                                                         MediaListRecyclerAdapter.MediaListProgressDisplayType progressDisplayType, bool readOnly, bool showEpisodeAddButtonForRepeatingMedia)
        {
            var secondaryDetail = MediaListDetailType.Progress;

            if (model.Status?.Equals(MediaListStatus.Planning) == true)
            {
                secondaryDetail = MediaListDetailType.EpisodeCountOrMovieLength;
            }
            else if (model.Status?.Equals(MediaListStatus.Completed) == true)
            {
                secondaryDetail = MediaListDetailType.Rating;
            }

            return(new MediaListViewModel(model, MediaListDetailType.FormatAndAiringInfo, secondaryDetail, displayTimeUntilAiringCountdown,
                                          progressDisplayType, scoreFormat)
            {
                IsButtonVisible = !readOnly && (model.Status?.Equals(MediaListStatus.Current) == true || showEpisodeAddButtonForRepeatingMedia && model.Status?.Equals(MediaListStatus.Repeating) == true)
            });
        }
        public static void Create(BaseAniDroidActivity context, List <string> customScoringMethods,
                                  ScoreFormat scoreFormat, List <float?> scores, Action <List <float?> > onSaveAction)
        {
            var random = new Random();

            var view = context.LayoutInflater.Inflate(Resource.Layout.Dialog_CustomScoring, null);

            var container = view.FindViewById <LinearLayout>(Resource.Id.CustomScoring_Container);

            var groupedScoringMethods = customScoringMethods.Select((value, index) => new { value, index })
                                        .GroupBy(x => x.index / 2, x => new { Value = x.value, Id = random.Next() }).ToList();

            foreach (var group in groupedScoringMethods)
            {
                var innerContainer = new LinearLayout(context)
                {
                    LayoutParameters =
                        new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MatchParent,
                                                   ViewGroup.LayoutParams.WrapContent),
                    Orientation = Orientation.Horizontal
                };

                foreach (var method in group)
                {
                    var scoreWidget =
                        context.LayoutInflater.Inflate(Resource.Layout.View_PickerWithLabel, innerContainer, false);

                    var label  = scoreWidget.FindViewById <TextView>(Resource.Id.PickerWithLabel_Label);
                    var picker = scoreWidget.FindViewById <Picker>(Resource.Id.PickerWithLabel_Picker);

                    // assign new Ids so we don't have collisions
                    label.Text = method.Value;
                    label.Id   = method.Id + 1;
                    picker.Id  = method.Id;

                    var score = scores?.ElementAtOrDefault(customScoringMethods.IndexOf(method.Value)) ?? 0;

                    if (scoreFormat == ScoreFormat.Hundred)
                    {
                        picker.SetNumericValues(100, 0, false, score);
                    }
                    else if (scoreFormat == ScoreFormat.TenDecimal)
                    {
                        picker.SetNumericValues(10, 1, false, score);
                    }

                    innerContainer.AddView(scoreWidget);
                }

                container.AddView(innerContainer);
            }

            var alert = new AlertDialog.Builder(context,
                                                context.GetThemedResourceId(Resource.Attribute.Dialog_Theme));

            alert.SetView(view);
            alert.SetPositiveButton("Save", (sender, e) =>
            {
                var savedScores = groupedScoringMethods.SelectMany(x => x).Select(x =>
                                                                                  view.FindViewById <Picker>(x.Id).GetValue() ?? (float?)0).ToList();
                onSaveAction?.Invoke(savedScores);
            });
            alert.SetNegativeButton("Cancel", (sender, e) => { });

            alert.Show();
        }