Unity3D-塔防游戏项目主要源码(游戏UI界面控制器脚本)

来源:互联网 发布:通利琴行淘宝店铺 编辑:程序博客网 时间:2024/05/17 20:42
using UnityEngine;using System.Collections;using UnityEngine.UI;using UnityEngine.EventSystems;namespace TowerDefenceTemplate{    public class UI_Controller : MonoBehaviour    {        private GameManager gameManager;//实例化游戏管理器的对象        public EventSystem _eventSystem;//实例化事件系统        public Image EnemiesIcon;//实例化Image对象        public RectTransform            BaseHealthBar,//血条位置            TowerControl;//防御塔控制器的位置        public Button            ToMenuButton,//返回菜单的按钮            RestartButton;//重新开始的按钮        public GameObject            RightPanel,//右侧菜单            PauseMenu,//暂停菜单            ContinueButton,//继续游戏的按钮            InGameButtons,//游戏运行中的按钮            UpgradeButton;//升级的按钮        public Text            MoneyMessage,//钱币提示信息            MoneyText,//当前的钱币数            WaveNumber,//当前的波数            WaveTimer,//下一波等待时间            EnemiesLeftText,//剩下的敌机数量            UpgradeButtonText,//升级按钮的文本            SellButtonText,//卖塔按钮的文本            LevelText,//塔等级的文本            RangeText,//塔侦测范围文本            DamageText,//塔伤害值            NameText,//塔的名字            WaveUpperNumber;//显示的波次信息文本        void Awake()        {            gameManager = FindObjectOfType<GameManager>();//获取脚本            if (gameManager == null)            {                Debug.LogError("GameManager not found!");                enabled = false;                return;            }            SendInstances();        }        void SendInstances()//将UGUI面板上的数据传回游戏控制器内        {            gameManager._UI_Controller = this;            gameManager.MoneyMessage = MoneyMessage;            gameManager.MoneyText = MoneyText;            gameManager.BaseHealthBar = BaseHealthBar;            gameManager.WaveNumber = WaveNumber;            gameManager.EnemiesLeftText = EnemiesLeftText;            gameManager.WaveTimer = WaveTimer;            gameManager.ToMenuButton = ToMenuButton;            gameManager.RestartButton = RestartButton;            gameManager.EnemiesIcon = EnemiesIcon;            gameManager.NameText = NameText;            gameManager.DamageText = DamageText;            gameManager.RangeText = RangeText;            gameManager.LevelText = LevelText;            gameManager.UpgradeButtonText = UpgradeButtonText;            gameManager.SellButtonText = SellButtonText;            gameManager.RightPanel = RightPanel;            gameManager.WaveUpperNumber = WaveUpperNumber;            gameManager.PauseMenu = PauseMenu;            gameManager.UpgradeButton = UpgradeButton;        }        public void GameEnd()//游戏结束        {            InGameButtons.SetActive(false);//游戏中的按钮失活            WaveNumber.gameObject.SetActive(true);//波数提示            ContinueButton.SetActive(false);//继续游戏按钮失活            PauseMenuShow();//暂停,展示右侧菜单        }        public void CreateTower(string type)//创建塔        {            if (gameManager == null)            {                return;            }            gameManager.BuildingModeOn(type);//创建塔的模型        }        public void PauseMenuShow()//暂停,激活右侧菜单        {            Pause();            PauseMenu.SetActive(true);        }        public void Pause()//暂停        {            if (gameManager == null)            {                return;            }            gameManager.Pause();//游戏时间停止            gameManager.TankSound.mute = true;            gameManager.PlaneSound.mute = true;            gameManager.JeepSound.mute = true;        }        public void Play()//开始        {            if (gameManager == null)            {                return;            }            gameManager.UnPause();//解开时间速度,变为正常值            PauseMenu.SetActive(false);//右侧菜单失活            gameManager.TankSound.mute = false;            gameManager.PlaneSound.mute = false;            gameManager.JeepSound.mute = false;        }        public void Fast()//加速        {            if (gameManager == null)            {                return;            }            PauseMenu.SetActive(false);//右侧菜单失活            gameManager.Fast();//游戏时间加速        }        public void UpgradeTower()//塔升级        {            gameManager.UpgradeTower();        }        public void SellTower()//卖塔        {            gameManager.SellTower();        }        public void BackToMenu()//返回主菜单        {            if (gameManager == null)            {                return;            }            gameManager.BackToMenu();        }        public void RestartLevel()//重新开始        {            if (gameManager == null)            {                return;            }            Play();            gameManager.RestartLevel();        }        public void Exit()        {            Application.Quit();        }    }}
阅读全文
0 0
原创粉丝点击