- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEngine.UI;
- public class PlayerTravel : MonoBehaviour
- {
- public GameObject city1Panel, city2Panel, mapPanel, noGold;
- public Text goldText;
- public Toggle city1Toggle, city2Toggle;
- public Button city1TravelButton, city2TravelButton;
- public float showMessageCoolDownTimer = 2f;
- private TravelNPC travelNpcScript;
- private TravelNPC2 travelNpcScript2;
- private PlayerGold playerGold;
- private Transform playerPos, TravelNPC1Pos, TravelNPC2Pos;
- private int travelCost;
- private float showMessageTimer = 0;
- // Start is called before the first frame update
- void Start()
- {
- travelNpcScript = FindObjectOfType<TravelNPC>();
- travelNpcScript2 = FindObjectOfType<TravelNPC2>();
- playerGold = FindObjectOfType<PlayerGold>();
- TravelNPC1Pos = GameObject.FindGameObjectWithTag("Travel NPC").GetComponent<Transform>();
- TravelNPC2Pos = GameObject.FindGameObjectWithTag("Travel NPC 2").GetComponent<Transform>();
- playerPos = GameObject.FindGameObjectWithTag("Player").GetComponent<Transform>();
- travelCost = 20;
- }
- // Update is called once per frame
- void Update()
- {
- goldText.text = "" + playerGold.gold;
- city2TravelButton.onClick.AddListener(PlayerTravelToCity2);
- city1TravelButton.onClick.AddListener(PlayerTravelToCity1);
- MessageTimer();
- }
- private void PlayerTravelToCity1()
- {
- if (playerGold.gold >= travelCost && travelNpcScript2.travelCity2Selected == true)
- {
- playerPos.position = new Vector2(TravelNPC1Pos.position.x + 2, TravelNPC1Pos.position.y);
- playerGold.gold -= travelCost;
- travelNpcScript2.travelCity2Selected = false;
- travelNpcScript2.accepted = false;
- city1Toggle.isOn = false;
- city2Toggle.isOn = false;
- city1Panel.gameObject.SetActive(false);
- city2Panel.gameObject.SetActive(false);
- mapPanel.gameObject.SetActive(false);
- }
- else if (playerGold.gold < travelCost && showMessageTimer > 0)
- {
- noGold.gameObject.SetActive(true);
- }
- showMessageTimer = showMessageCoolDownTimer;
- }
- private void PlayerTravelToCity2()
- {
- if (playerGold.gold >= travelCost && travelNpcScript.travelCity1Selected == true)
- {
- playerPos.position = new Vector2(TravelNPC2Pos.position.x + 2, TravelNPC2Pos.position.y);
- playerGold.gold -= travelCost;
- travelNpcScript.travelCity1Selected = false;
- travelNpcScript.accepted = false;
- city1Toggle.isOn = false;
- city2Toggle.isOn = false;
- city1Panel.gameObject.SetActive(false);
- city2Panel.gameObject.SetActive(false);
- mapPanel.gameObject.SetActive(false);
- }
- else if (playerGold.gold < travelCost && showMessageTimer > 0)
- {
- noGold.gameObject.SetActive(true);
- }
- showMessageTimer = showMessageCoolDownTimer;
- }
- private void MessageTimer()
- {
- if (showMessageTimer <= 0)
- {
- noGold.gameObject.SetActive(false);
- }
- else
- {
- showMessageTimer -= Time.deltaTime;
- }
- }
- }