166 lines
4.8 KiB
C#
166 lines
4.8 KiB
C#
using System.Collections;
|
||
using System.Collections.Generic;
|
||
using TMPro;
|
||
using UnityEngine;
|
||
using UnityEngine.UI;
|
||
|
||
public class PlayCtrl : SingletonMonoBehaviour<PlayCtrl>
|
||
{
|
||
public GameObject camera;
|
||
public float speed;
|
||
float move = 0;
|
||
|
||
public Slider slider;
|
||
float summons;
|
||
int stage;
|
||
|
||
public Animator anim;
|
||
|
||
public GameObject newBuildingUI;
|
||
public GameObject buildingLevelupUI;
|
||
public GameObject backButton;
|
||
UnitCtrl[] units;
|
||
public TMP_Text buyText;
|
||
public TMP_Text sellText;
|
||
public TMP_Text moneyText;
|
||
public Image[] unitSpriteButton;
|
||
public TMP_Text[] unitTextButton;
|
||
|
||
public SummonsUnit player;
|
||
public SummonsUnit enemy;
|
||
public BuildingCtrl buildingCtrl;
|
||
public bool isEndGame;
|
||
private float delay;
|
||
|
||
public int money;
|
||
|
||
protected override void OnAwake()
|
||
{
|
||
summons = 0.1f;
|
||
slider.value = 0;
|
||
stage = 0;
|
||
money = 0;
|
||
moneyText.text = money.ToString();
|
||
isEndGame = false;
|
||
delay = 0.0f;
|
||
units = new UnitCtrl[9];
|
||
units[0] = Statics.longUnits[Statics.deckUnit[Statics.deck_info[0].deck_unit0_id].unit_data_id].GetComponent<UnitCtrl>();
|
||
units[1] = Statics.longUnits[Statics.deckUnit[Statics.deck_info[0].deck_unit1_id].unit_data_id].GetComponent<UnitCtrl>();
|
||
units[2] = Statics.longUnits[Statics.deckUnit[Statics.deck_info[0].deck_unit2_id].unit_data_id].GetComponent<UnitCtrl>();
|
||
units[3] = Statics.longUnits[Statics.deckUnit[Statics.deck_info[0].deck_unit3_id].unit_data_id].GetComponent<UnitCtrl>();
|
||
units[4] = Statics.longUnits[Statics.deckUnit[Statics.deck_info[0].deck_unit4_id].unit_data_id].GetComponent<UnitCtrl>();
|
||
units[5] = Statics.longUnits[Statics.deckUnit[Statics.deck_info[0].deck_unit5_id].unit_data_id].GetComponent<UnitCtrl>();
|
||
units[6] = Statics.longUnits[Statics.deckUnit[Statics.deck_info[0].deck_unit6_id].unit_data_id].GetComponent<UnitCtrl>();
|
||
units[7] = Statics.longUnits[Statics.deckUnit[Statics.deck_info[0].deck_unit7_id].unit_data_id].GetComponent<UnitCtrl>();
|
||
units[8] = Statics.longUnits[Statics.deckUnit[Statics.deck_info[0].deck_unit8_id].unit_data_id].GetComponent<UnitCtrl>();
|
||
for (int n = 0; n < unitSpriteButton.Length; n++)
|
||
{
|
||
unitSpriteButton[n].sprite = units[n].unitSprite;
|
||
unitTextButton[n].text = units[n].unit.buy[0].ToString();
|
||
units[n].unit.DeckUnitInfoSet();
|
||
}
|
||
//<2F><EFBFBD>Ʈ<EFBFBD><C6AE> <20>ϴ<EFBFBD><CFB4><EFBFBD> <20>̰<EFBFBD><CCB0><EFBFBD><EFBFBD><EFBFBD> <20>ӽ<EFBFBD> ó<><C3B3>
|
||
Statics.chapter = 101;
|
||
uiExit();
|
||
}
|
||
|
||
public void MoveCamera(float move)
|
||
{
|
||
this.move = move;
|
||
}
|
||
|
||
public void CtrlButton()
|
||
{
|
||
anim.SetTrigger("MoveUI");
|
||
}
|
||
private void Update()
|
||
{
|
||
if (isEndGame)
|
||
{
|
||
delay += Time.deltaTime;
|
||
if(delay > 3.0f)
|
||
{
|
||
//<2F><><EFBFBD>Ӿ<EFBFBD><D3BE><EFBFBD><EFBFBD><EFBFBD> <20>̵<EFBFBD>
|
||
GameManager.Instance.NextScene(GameManager.eScene.Game);
|
||
}
|
||
return;
|
||
}
|
||
float deltaTime = Time.deltaTime;
|
||
camera.transform.position += Vector3.left * speed * deltaTime * move;
|
||
if (camera.transform.position.x < -40)
|
||
{
|
||
camera.transform.position = new Vector3(-40, 0, -10);
|
||
}
|
||
if (camera.transform.position.x > 40)
|
||
{
|
||
camera.transform.position = new Vector3(40, 0, -10);
|
||
}
|
||
slider.value += Time.deltaTime / 30;
|
||
if (slider.value >= 1)
|
||
{
|
||
slider.value -= 1;
|
||
summons = 0.1f;
|
||
stage++;
|
||
enemy.EnemyStageSet(stage);
|
||
}
|
||
if (summons < slider.value)
|
||
{
|
||
int count = (int)(summons / 0.2);
|
||
player.Summons(count);
|
||
enemy.Summons(count);
|
||
summons += 0.2f;
|
||
}
|
||
|
||
}
|
||
|
||
|
||
|
||
public void uiExit()
|
||
{
|
||
newBuildingUI.SetActive(false);
|
||
buildingLevelupUI.SetActive(false);
|
||
backButton.SetActive(false);
|
||
buildingCtrl = null;
|
||
}
|
||
|
||
public void SelectUnit(int count)
|
||
{
|
||
buildingCtrl.NewBuilding(units[count], units[count].unitSprite);
|
||
uiExit();
|
||
}
|
||
|
||
public void DeleteBuilding()
|
||
{
|
||
buildingCtrl.DeletBuilding();
|
||
uiExit();
|
||
}
|
||
|
||
public void LevelUpBuilding()
|
||
{
|
||
buildingCtrl.LevelUp();
|
||
uiExit();
|
||
}
|
||
|
||
public void LevelupBuyAndSellText(int buy, int sell)
|
||
{
|
||
buyText.text = $"<22><>ȭ({buy})";
|
||
sellText.text = $"<22>ǹ<EFBFBD> <20><><EFBFBD><EFBFBD>({sell})";
|
||
}
|
||
|
||
public void TextUpdate(int addMoney)
|
||
{
|
||
if (money != int.Parse(moneyText.text))
|
||
Debug.LogError("<22><><EFBFBD>߰<D7B9>");
|
||
money += addMoney;
|
||
if(money < 0)
|
||
money = 0;
|
||
else if(money > 999999)
|
||
money = 999999;
|
||
moneyText.text = money.ToString();
|
||
}
|
||
|
||
public void OnSetting()
|
||
{
|
||
SettingWindws.Instance.SetUI(false);
|
||
}
|
||
} |