Unity3D-塔防游戏项目主要源码(游戏UI界面控制器脚本)
2017-09-08 19:22
711 查看
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,//塔等级的文本 4000 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(); } } }
相关文章推荐
- Unity3D-塔防游戏项目主要源码(游戏主菜单脚本)
- Unity3D-塔防游戏项目主要源码(防御塔脚本)
- Unity3D-塔防游戏项目主要源码(敌方炮车脚本)
- Unity3D-塔防游戏项目主要源码(防御塔炮弹脚本)
- Unity3D-塔防游戏项目主要源码(防御塔导弹脚本)
- Unity3D-塔防游戏项目主要源码(游戏主控器脚本)
- [Unity3D]手机3D游戏开发:简单的移动和缩放鼠标手势脚本源码
- [Unity3D]手机3D游戏开发:关于自定义Joystick的相关设置和脚本源码
- [Unity3D]Unity3D游戏开发之塔防游戏项目讲解(上)
- [Unity3D]手机3D游戏开发:如何实现最高分的存储与显示(九)----使用PreviewLabs插件提速与完整的项目源码
- Unity3D 篮球游戏 上线项目源码
- 100层跳板游戏源码项目
- 守护者Defender游戏源码项目
- 利用cocos2dx 3.2开发消灭星星(十)为游戏添加音效(项目源码分享)
- java雷电游戏源码项目
- Unity3D 大型游戏 最后一站 源码 部分重点 GameView-BaseWindow(16)
- Android游戏源码合集(主要是AndEngine和Libgdx的)
- Unity3D之游戏架构脚本该如何来写
- 麻将记帐游戏源码项目
- Unity3D 大型游戏 最后一站 源码 部分重点GameStateManager(6)