| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using NarKampen.Assets.Scripts.Objects;
- using UnityEngine;
- using UnityEngine.Networking;
- using UnityEngine.SceneManagement;
- using UnityEngine.UI;
- public class MainMenu : MonoBehaviour
- {
- public Button startNewGameButton;
- public Button quitButton;
- public Transform localGamesPanelTitle;
- public Transform onlineGamesPanelTitle;
- public GameObject localGamePrefab;
- public GameObject onlineGamePrefab;
- public GameObject finishedGamePrefab;
- private DateTime lastPlayedLocal;
- private DateTime lastPlayedOnline;
- private void Start()
- {
- startNewGameButton.onClick.AddListener(StartNewGameAction);
- quitButton.onClick.AddListener(() => { Application.Quit(); });
- GetGames();
- UpdateOnlineGamesLists();
- if (lastPlayedLocal > lastPlayedOnline)
- {
- localGamesPanelTitle.GetComponent<GamesScrollController>().expandThis(localGamesPanelTitle.name);
- }
- else
- {
- onlineGamesPanelTitle.GetComponent<GamesScrollController>().expandThis(onlineGamesPanelTitle.name);
- }
- }
- private void Awake()
- {
- GetGames();
- UpdateOnlineGamesLists();
- if (lastPlayedLocal > lastPlayedOnline)
- {
- localGamesPanelTitle.GetComponent<GamesScrollController>().expandThis(localGamesPanelTitle.name);
- }
- else
- {
- onlineGamesPanelTitle.GetComponent<GamesScrollController>().expandThis(onlineGamesPanelTitle.name);
- }
- }
- public void UpdateOnlineGamesLists()
- {
- KeyValuePair<int, string> loggedInUser = Database.Instance.GetSignedInUser();
- Transform onlineGamesList = GameObject.Find("OnlineGamesList").transform;
- Transform finishedGamesList = GameObject.Find("FinishedGamesList").transform;
- foreach (OnlineGameScript ogs in onlineGamesList.GetComponentsInChildren<OnlineGameScript>())
- {
- Destroy(ogs);
- Destroy(ogs.gameObject);
- }
- int onlineIndex = 1;
- int finishedGamesIndex = 1;
- if (CheckInternetConnection())
- {
- OnlineGames onlineGames = OnlineDatabase.Instance.NewGetOnlineGames(loggedInUser.Key, loggedInUser.Value);
- if (onlineGames != null)
- {
- foreach (OnlineGame ogs in onlineGames.onlineGamesList)
- {
- DateTime.TryParse(ogs.lastPlayedDate, out DateTime onlineLastPlayedDate);
- if (lastPlayedOnline == null || onlineLastPlayedDate > lastPlayedOnline)
- {
- lastPlayedOnline = onlineLastPlayedDate;
- }
- // TODO behövs skapas gameObjects via instantiate så att detta kan sättas
- // if (ogs.status.Equals("DECLINED"))
- // {
- // ogs.transform.SetParent(finishedGamesList, false);
- // ogs.transform.SetSiblingIndex(finishedGamesIndex++);
- // }
- // else
- // {
- // ogs.transform.SetParent(onlineGamesList, false);
- // ogs.transform.SetSiblingIndex(onlineIndex++);
- // }
- }
- }
- }
- else
- {
- // Display no internet information
- Debug.Log("No internet");
- }
- }
- private void GetGames()
- {
- List<LocalGameScript> localGames = Database.Instance.GetLocalGames(localGamePrefab);
- Transform localGamesList = GameObject.Find("LocalGamesList").transform;
- Transform finishedGamesList = GameObject.Find("FinishedGamesList").transform;
- foreach (LocalGameScript lgs in localGamesList.GetComponentsInChildren<LocalGameScript>())
- {
- Destroy(lgs);
- Destroy(lgs.gameObject);
- }
- foreach (LocalGameScript lgs in finishedGamesList.GetComponentsInChildren<LocalGameScript>())
- {
- Destroy(lgs);
- Destroy(lgs.gameObject);
- }
- int localIndex = 1;
- int finishedIndex = 1;
- foreach (LocalGameScript lgs in localGames)
- {
- DateTime.TryParse(lgs.LastPlayedDate, out DateTime localLastPlayedDate);
- if (lastPlayedLocal == null || localLastPlayedDate > lastPlayedLocal)
- {
- lastPlayedLocal = localLastPlayedDate;
- }
- if (lgs.FinishedDate.Equals(""))
- {
- lgs.transform.SetParent(localGamesList.transform, false);
- lgs.transform.SetSiblingIndex(localIndex++);
- }
- else
- {
- lgs.DestroyStartButton();
- lgs.transform.SetParent(finishedGamesList.transform, false);
- lgs.transform.SetSiblingIndex(finishedIndex++);
- }
- }
- }
- private bool CheckInternetConnection()
- {
- bool internetConnectivityActive;
- UnityWebRequest www = UnityWebRequest.Get("http://google.com");
- www.SendWebRequest();
- if (www.isNetworkError || www.isHttpError)
- {
- internetConnectivityActive = false;
- }
- else
- {
- internetConnectivityActive = true;
- }
- return internetConnectivityActive;
- }
- private void StartNewGameAction()
- {
- SceneManager.LoadScene("NewGame");
- }
- }
|