thewar_client/Client/Assets/1_Script/PlayCtrl.cs

166 lines
5.0 KiB
C#
Raw Blame History

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.itemManager.box.FindDeckUnitInfo(Statics.deck_info[0].deck_unit0_id).unit_data_id].GetComponent<UnitCtrl>();
units[1] = Statics.longUnits[Statics.itemManager.box.FindDeckUnitInfo(Statics.deck_info[0].deck_unit1_id).unit_data_id].GetComponent<UnitCtrl>();
units[2] = Statics.longUnits[Statics.itemManager.box.FindDeckUnitInfo(Statics.deck_info[0].deck_unit2_id).unit_data_id].GetComponent<UnitCtrl>();
units[3] = Statics.longUnits[Statics.itemManager.box.FindDeckUnitInfo(Statics.deck_info[0].deck_unit3_id).unit_data_id].GetComponent<UnitCtrl>();
units[4] = Statics.longUnits[Statics.itemManager.box.FindDeckUnitInfo(Statics.deck_info[0].deck_unit4_id).unit_data_id].GetComponent<UnitCtrl>();
units[5] = Statics.longUnits[Statics.itemManager.box.FindDeckUnitInfo(Statics.deck_info[0].deck_unit5_id).unit_data_id].GetComponent<UnitCtrl>();
units[6] = Statics.longUnits[Statics.itemManager.box.FindDeckUnitInfo(Statics.deck_info[0].deck_unit6_id).unit_data_id].GetComponent<UnitCtrl>();
units[7] = Statics.longUnits[Statics.itemManager.box.FindDeckUnitInfo(Statics.deck_info[0].deck_unit7_id).unit_data_id].GetComponent<UnitCtrl>();
units[8] = Statics.longUnits[Statics.itemManager.box.FindDeckUnitInfo(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);
}
}