private void Awake() { _instance = this; gameTrans = UnityTool.FindChild(gameObject, "Game").transform; lvInfoMgr = LevelInfoMgr.Instance; mapMaker = GetComponent <MapMaker>(); enemyBuilder = new EnemyBuilder(); towerBuilder = new TowerBuilder(); bullectBuilder = new BullectBuilder(); currentLevel = GameRoot.Instance.pickLevel; info = lvInfoMgr.levelInfoList[currentLevel]; //初始化地图 mapMaker.InitAllGrid(); mapMaker.LoadLevelMap(currentLevel); //获得关卡数据和回合数据 SetLevelData(info); level = new Level(info); level.HandleRound(); beginPos = level.roundInfoList[0].pathList[0]; EventCenter.Broadcast(EventType.SetStartPos, beginPos); isPause = true; EventCenter.AddListener <int>(EventType.UseItemInGame, UseItem); }
/// <summary> /// Gets the tile manager script from the tile manager object /// gets the text on the object this script is attached to /// </summary> void Start() { TowerBuilderScript = TileManagerGO.GetComponent <TowerBuilder>(); TileManagerScript = TileManagerGO.GetComponent <TileManager>(); DemonComingText = gameObject.GetComponent <TextMeshProUGUI>(); DemonsRemoved = 0; DemonMaxCount = TowerBuilderScript.numberOfEnemies; }
private void Awake() { if (instance != null) { Debug.LogError("TowerBuilder: More than one TowerBuilder in scene!"); return; } instance = this; }
void Start() { cantBuild = false; render = GetComponent <Renderer>(); startColor = render.material.color; //buildManager = BuildManager.instance; tb = GameObject.Find("CardBuilder"); towerBuilder = tb.GetComponent <TowerBuilder>(); }
private void Start() { _towerBuilder = GetComponent <TowerBuilder>(); _blocks = _towerBuilder.Build(); foreach (var block in _blocks) { block.HitBullet += OnBlockHit; } sizeChanged?.Invoke(_blocks.Count); }
public void FindBottomProgram_GivenTestFile_Returnstknk() { string filename = @"Input\testa.txt"; string expected = "tknk"; string actual = TowerBuilder.FindBottomProgram(filename); Assert.AreEqual(expected, actual); }
public void FindBalancingWeight_GivenTestFile_Return60() { string filename = @"Input\testa.txt"; int expected = 60; int actual = TowerBuilder.FindBalancingWeight(filename); Assert.AreEqual(expected, actual); }
private void Start() { _towerBuilder = GetComponent <TowerBuilder>(); _blocks = _towerBuilder.Build(); foreach (var block in _blocks) { block.BulletHit += OnBulletHit; } SizeUpdate?.Invoke(_blocks.Count); }
public void Construct(MapBuilder mapBuilder, NavMeshCreator navMeshCreator, MapManager mapManager, CreepsManager creepsManager, TowerBuilder towerBuilder) { _mapBuilder = mapBuilder; _navMeshCreator = navMeshCreator; _mapManager = mapManager; _creepsManager = creepsManager; _towerBuilder = towerBuilder; }
void Start() { selectionCircle = (GameObject)GameObject.Instantiate(circlePrefab); selectionCircle.SetActive(false); towerBuilder = GetComponent <TowerBuilder>(); unitManager = GetComponent <UnitManager>(); towerMask = towerBuilder.towerMask; unitMask = towerBuilder.unitMask; projectilePrefab = towerBuilder.projectilePrefab; towerPrefabs = towerBuilder.towerPrefabs; hud = GetComponent <HUD>(); }
private void Awake() { #if Game _instance = this; mGameManager = GameManager.Instance; //测试代码:currentStage = new Stage(1, 1,new int[]{ 1,2,3,4,5},5,0,10,true,false,false); currentStage = mGameManager.currentStage; normalModelPanel = mGameManager.uiManager.mUIFacade.currentScenePanelDict[StringManager.NormalModelPanel] as NormalModelPanel; normalModelPanel.EnterPanel(); mapMaker = GetComponent <MapMaker>(); mapMaker.InitMapMaker(); mapMaker.LoadMap(currentStage.mBigLevelID, currentStage.mLevelID); //为什么要这样写呢?因为可以在进来的时候把资源都加载一次放进数组里面,以后直接拿就好了,不要每次都问工厂要,加载要时间 controllers = new RuntimeAnimatorController[12]; //mapMaker.LoadMap(2, 1); //成员变量赋值 coin = 1000; gameSpeed = 1; monsterBuilder = new MonsterBuilder(); towerBuilder = new TowerBuilder(); //建塔列表的处理 for (int i = 0; i < currentStage.mTowerIDList.Length; i++) { GameObject itemGo = GameManager.Instance.GetGameObjectResource(FactoryType.UIFactory, "Btn_TowerBuild"); itemGo.GetComponent <ButtonTower>().towerID = currentStage.mTowerIDList[i];//把关卡可以建造的箭塔ID赋值过来 itemGo.transform.localPosition = transform.position; itemGo.transform.SetParent(towerListGo.transform); itemGo.transform.localScale = Vector3.one; } //箭塔价格标 towerPriceDict = new Dictionary <int, int> { { 1, 100 }, { 2, 120 }, { 3, 140 }, { 4, 160 }, { 5, 160 } }; //monsterBuilder.m_monsterID = 1; for (int i = 0; i < controllers.Length; i++) { controllers[i] = GetRuntimeAnimatorController("Monster/" + mapMaker.bigLevelID.ToString() + "/" + (i + 1).ToString()); } level = new Level(mapMaker.roundInfoList.Count, mapMaker.roundInfoList); normalModelPanel.topPage.UpdateCoinText(); normalModelPanel.topPage.UpdateRoundCount(); isPause = true; //level.HandleRound();//执行责任链方法,注释掉是因为要在倒计时完毕以后调用这个方法 #endif }
public static bool Prefix(Tower __instance, ref Model modelToUse) { if (lastMap != "epiloge") { return(true); } var wep = modelToUse.Cast <TowerModel>(); var builder = new TowerBuilder(wep); builder.SetFootprint(new FootprintModel("", true, true, true)); modelToUse = builder.build(); return(true); }
[HideInInspector] public int gameSpeed; // 游戏速度(一倍速,二倍速) private void Awake() { #if Game // 一些引用的赋值 Instance = this; mGameManager = GameManager.Instance; currentStage = mGameManager.CurrentStage; normalModelPanel = mGameManager.UIManager.mUIFacade.currentScenePanelDict[StringManager.P_NormalModelPanel] as NormalModelPanel; mapMaker = GetComponent <MapMaker>(); mapMaker.InitMapMaker(); mapMaker.Loadmap(currentStage.bigLevelID, currentStage.levelID); // 加载地图 level = new Level(mapMaker.roundInfoList.Count, mapMaker.roundInfoList); // 获取加载完地图中怪物波次的信息 monsterBuilder = new MonsterBuilder(); towerBuilder = new TowerBuilder(); // 玩家属性的赋值 gameSpeed = 1; Coin = 500; isPause = true; gameOver = false; normalModelPanel.EnterPanel(); // RuntimeAnimatorController资源的赋值 controllers = new RuntimeAnimatorController[12]; for (int i = 0; i < controllers.Length; i++) { controllers[i] = GetRuntimeAnimator("Monster/" + currentStage.bigLevelID.ToString() + "/" + (i + 1)); } // 建塔列表的赋值 for (int i = 0; i < currentStage.towerIDList.Length; i++) { GameObject item = mGameManager.GetItem(FactoryType.UI, "Btn_TowerBuilder"); item.GetComponent <ButtonTower>().towerID = currentStage.towerIDList[i]; item.transform.SetParent(towerListCanvas.transform); item.transform.localPosition = Vector3.zero; item.transform.localScale = Vector3.one; } // 建塔列表的价格赋值 towerPriceList = new Dictionary <int, int>() { { 1, 100 }, { 2, 120 }, { 3, 160 }, { 4, 160 }, { 5, 160 }, }; #endif }
public GameObject handleTowerCanvasGo; //处理塔升级与买卖的画布 private void Awake() { #if Game _instance = this; mGameManager = GameManager.Instance; //测试代码 //currentStage = new Stage(10,5,new int[] { 1,2,3,4,5},false,0,1,1,true,false); currentStage = mGameManager.currentStage; normalModelpanel = mGameManager.uiManager.mUIFacade.currentScenePanelDict[StringManager.NormalModelPanel] as NormalModelPanel; normalModelpanel.EnterPanel(); mapMaker = GetComponent <MapMaker>(); mapMaker.InitMapMaker(); mapMaker.LoadMap(currentStage.mBigLevelID, currentStage.mLevelID); //成员变量赋值 gameSpeed = 1; coin = 1000; monsterBuilder = new MonsterBuilder(); towerBuilder = new TowerBuilder(); //建塔列表的处理 for (int i = 0; i < currentStage.mTowerIDList.Length; i++) { GameObject itemGo = mGameManager.GetGameObjectResource(FactoryType.UIFactory, "Btn_TowerBuild"); itemGo.transform.GetComponent <ButtonTower>().towerID = currentStage.mTowerIDList[i]; itemGo.transform.SetParent(towerListGo.transform); itemGo.transform.localPosition = Vector3.zero; itemGo.transform.localScale = Vector3.one; } //建塔价格表 towerPriceDict = new Dictionary <int, int> { { 1, 100 }, { 2, 120 }, { 3, 140 }, { 4, 160 }, { 5, 160 } }; controllers = new RuntimeAnimatorController[12]; for (int i = 0; i < controllers.Length; i++) { controllers[i] = GetRuntimeAnimatorController("Monster/" + mapMaker.bigLevelID.ToString() + "/" + (i + 1).ToString()); } level = new Level(mapMaker.roundInfoList.Count, mapMaker.roundInfoList); normalModelpanel.topPage.UpdateCoinText(); normalModelpanel.topPage.UpdateRoundText(); //level.HandleRound(); isPause = true; #endif }
private void Start() { towerBuilder = TowerBuilder.instance; // Creates a LinkedList row for each row on screen // corresponding with y coord, bottom to top for (int i = 0; i < towerBuilder.GetRowCount(); i++) { towers.AddLast(new LinkedList <GameObject>()); } for (int i = 0; i < towerBuilder.GetRowCount(); i++) { enemiesInRow.AddLast(new LinkedList <GameObject>()); } }
private void Awake() { Instance = this; m_BuildCursor = Instantiate(m_BuildCursor); // Create a clone so we're not playing around with the prefab m_BuildCursor.SetActive(false); m_CursorSprite = m_BuildCursor.GetComponent <SpriteRenderer>(); m_RangePreview = m_BuildCursor.GetComponent <LineRenderer>(); m_RangePreview.positionCount = 50; #if !UNITY_EDITOR m_FingerID = 0; #endif }
/// <summary> /// This is where all the Tower defense update calls should be placed so that it is easy to transfer our /// project over to the main one without having to add a lot of code to the main program. /// </summary> /// <param name="gametime">current game time</param> /// <param name="keyboard">keyboard state</param> /// <param name="mouse">mouse state</param> public static void Update(GameTime gametime, KeyboardState keyboard, MouseState mouse) { Random random = new Random(); if (LastWaveUpdate == TimeSpan.Zero) { LastWaveUpdate = gametime.TotalGameTime; } if (currentWave != null && !currentWave.complete) { currentWave.update(gametime); LastWaveUpdate = gametime.TotalGameTime; } else if ((gametime.TotalGameTime - LastWaveUpdate) > SpawnNextWaveIn) { if (TDPlayerStats.currentWave == TDPlayerStats.maxWaves) { TPEngine.Get().State.PopState(); TPEngine.Get().State.PushState(new TDScoreScreenState()); } TDPlayerStats.Money += 5; TDPlayerStats.currentWave++; currentWave = new EnemyWave(random.Next(8, 12), 1); //LastWaveUpdate = gametime.TotalGameTime; } if (TDPlayerStats.Grade <= 0) { TPEngine.Get().State.PopState(); TPEngine.Get().State.PushState(new TDScoreScreenState()); } if (Keyboard.GetState().IsKeyDown(Keys.X) && !clicked) { TDPlayerStats.Grade = 0; TPEngine.Get().State.PopState(); TPEngine.Get().State.PushState(new TDScoreScreenState()); clicked = true; } TowerBuilder.UpdateKeyboardInput(keyboard, mouse); Enemy.Update(gametime); Tower.Update(gametime); Projectile.UpdateProjectiles(gametime); Window.Update(gametime, keyboard, mouse); }
/// <summary> /// Loads all of the level stats in from the TowerBuilder script /// </summary> public void LoadingLevelStats() { // linking loader script and launching towerbuilder = gameObject.GetComponent <TowerBuilder>(); towerbuilder.Setter(); // linking base stats xTiles = towerbuilder.xTiles; yTiles = towerbuilder.yTiles; maxPathTiles = towerbuilder.maxPathTiles; startYIndex = towerbuilder.startYindex; endYIndex = towerbuilder.endYindex; // passing over to levelManager levelManager = gameObject.GetComponent <LevelManager>(); levelManager.timePerSpawn = towerbuilder.timePerSpawn; levelManager.numberOfEnemies = towerbuilder.numberOfEnemies; levelManager.enemyHP = towerbuilder.enemyHP; }
void Start() { levelBuilder = GameObject.Find("LevelBuilder").GetComponent <LevelBuilder>(); towerBuilder = GameObject.Find("TowerBuilder").GetComponent <TowerBuilder>(); webCamTexture = new WebCamTexture(); if (!string.IsNullOrEmpty(DeviceName)) { webCamTexture.deviceName = DeviceName; } GetComponent <Renderer>().material.mainTexture = webCamTexture; webCamTexture.Play(); photo = new Texture2D(webCamTexture.width, webCamTexture.height); photo.SetPixels(webCamTexture.GetPixels()); photo.Apply(); gridPlane.GetComponent <Renderer>().material.mainTexture = photo; foreach (var device in WebCamTexture.devices) { Debug.Log(device.name); } }
/// <summary> /// Loads the resources used by this state /// </summary> protected override void Load() { base.Load(); tdMouse = new TDPointer(new Vector2(200, 200)); TDLayers = new TPLayer[numLayers]; for (int i = 0; i < numLayers; i++) { TDLayers[i] = new TPLayer(layers); } backgroundTexture = new TPSprite(TPEngine.Get().TextureManager.LoadTexture(@"art/TowerDefense/CurrentMap")); //backgroundTexture = new TPSprite(TPEngine.Get().TextureManager.LoadTexture(@"art/TowerDefense/mob")); TDLayers[0].AddEntity(backgroundTexture); TDLayers[5].AddEntity(tdMouse); map = new Map(1280, 720); TowerBuilder.Load(map); mp = new MapCreator(map); TowerDefenseManager.numLayers = numLayers; TowerDefenseManager.Start(map, TDLayers); Font = TPEngine.Get().FontManager.LoadFont(@"fonts/testfont"); }
private void Start() { towerBuilder = TowerBuilder.instance; }
private void Start() { originalColor = rend.color; towerBuilder = TowerBuilder.instance; }
// Use this for initialization void Start() { go = GameObject.Find("CardBuilder"); towerBuilder = go.GetComponent <TowerBuilder>(); spellcaster = go.GetComponent <Spells>(); }
/// <summary> /// Gets the tile manager script from the tile manager object /// gets the text on the object this script is attached to /// </summary> void Start() { TowerBuilderScript = TileManagerGO.GetComponent <TowerBuilder>(); TileManagerScript = TileManagerGO.GetComponent <TileManager>(); RemainerText = gameObject.GetComponent <TextMeshProUGUI>(); }
private void Awake() { _towerBuilder = gameObject.GetComponent <TowerBuilder>(); }
private void Awake() { #if Game _instance = this; gameManager = GameManager.Instance; curStage = gameManager.curStage; normalModePanel = gameManager.uiManager.mUIFacade.GetCurScenePanel(Constant.NormalModePanel) as NormalModePanel; normalModePanel.EnterPanel(); mapMaker = transform.GetComponent <MapMaker>(); mapMaker.Init(); mapMaker.LoadMap(curStage.mBigLevelID, curStage.mLevelID); monsterBuilder = new MonsterBuilder(); towerBuilder = new TowerBuilder(); animatorControllerList = new RuntimeAnimatorController[12]; for (int i = 0; i < animatorControllerList.Length; i++) { animatorControllerList[i] = GetRuntimeAnimatorController("AnimatorController/Monster/" + curStage.mBigLevelID.ToString() + "/" + (i + 1).ToString()); } //初始化属性 curRoundKillMonsterNum = 0; totalKillMonsterNum = 0; destroyItemNum = 0; carrotHp = 10; coin = 500; gameSpeed = 1; isGamePause = false; creatingMonster = false; isGameOver = false; //建塔价格初始化 towerPriceDict = new Dictionary <int, int> { { 1, 100 }, { 2, 120 }, { 3, 140 }, { 4, 160 }, { 5, 160 } }; //建塔列表处理 for (int i = 0; i < curStage.mTowerIDList.Length; i++) { GameObject towerGo = gameManager.GetGameObjectResource(FactoryType.UIFactory, "Btn_BuildTower"); towerGo.GetComponent <BtnTower>().towerID = curStage.mTowerIDList[i]; towerGo.GetComponent <BtnTower>().price = towerPriceDict[curStage.mTowerIDList[i]]; towerGo.transform.SetParent(towerList.transform); towerGo.transform.localPosition = Vector3.zero; towerGo.transform.localScale = Vector3.one; } curLevel = new Level(mapMaker.roundInfoList.Count, mapMaker.roundInfoList); isGamePause = true; normalModePanel.topPage.UpdateCoinText(); normalModePanel.topPage.UpdateRoundText(); #endif }
public override void OnStartClient() { towerBuilder = TowerBuilder.instance; base.OnStartClient(); }
private void Awake() { _towerBuilder = GetComponent <TowerBuilder>(); _blocks = _towerBuilder.BuildTower(); }