76 lines
2.0 KiB
C#
76 lines
2.0 KiB
C#
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using Chars;
|
|
using Data;
|
|
using UnityEngine;
|
|
// using GoogleMobileAds.Api;
|
|
using HexFiled;
|
|
using Random = UnityEngine.Random;
|
|
using UnityEngine.SceneManagement;
|
|
using UnityEngine.UI;
|
|
|
|
public class AdsMob : MonoBehaviour
|
|
{
|
|
private UnitInfo _player;
|
|
private UnitFactory _factory;
|
|
[SerializeField] private Button buttonContinue;
|
|
[SerializeField] private Button buttonExit;
|
|
[SerializeField] private GameObject canvas;
|
|
|
|
private void OnEnable()
|
|
{
|
|
buttonContinue.onClick.AddListener(Spawn);
|
|
canvas.SetActive(false);
|
|
buttonExit.onClick.AddListener(() =>
|
|
{
|
|
buttonExit.onClick.RemoveAllListeners();
|
|
SceneManager.LoadScene(0);
|
|
Time.timeScale = 1f;
|
|
});
|
|
}
|
|
|
|
private void Spawn()
|
|
{
|
|
var player = _player;
|
|
var spawnPos =
|
|
HexManager.CellByColor[UnitColor.Grey].Where(x => x != null).ToList()[
|
|
Random.Range(0, HexManager.CellByColor[UnitColor.Grey].Count - 1)]
|
|
;
|
|
|
|
_factory.Spawn(player, spawnPos);
|
|
|
|
canvas.SetActive(false);
|
|
Time.timeScale = 1f;
|
|
}
|
|
|
|
|
|
public void ShowCanvas(UnitInfo player, UnitFactory factory)
|
|
{
|
|
_factory = factory;
|
|
_player = player;
|
|
canvas.SetActive(true);
|
|
Time.timeScale = 0f;
|
|
}
|
|
|
|
public void Respawn(GameObject player)
|
|
{
|
|
List<HexCell> cells = new List<HexCell>();
|
|
cells.AddRange(HexManager.CellByColor[UnitColor.Grey]);
|
|
|
|
foreach (var cell in cells)
|
|
{
|
|
if (cell.Color == UnitColor.Grey)
|
|
{
|
|
var randomCell = Random.Range(0, cells.Count);
|
|
Vector3 respawnPosition = cells[randomCell].transform.position;
|
|
|
|
player = FindObjectOfType<ExtraLife>().gameObject;
|
|
|
|
player.transform.position = respawnPosition;
|
|
if (player.transform.position == respawnPosition)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |