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(); towerBuild = new TowerBuild(); for (int i = 0; i < currentStage.mTowerIDList.Length; i++) { GameObject itemGo = mGameManager.GetGameOjectResource(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 }, }; contorllers = new RuntimeAnimatorController[12]; for (int i = 0; i < contorllers.Length; i++) { contorllers[i] = GetRuntimeAnimatorController("Monster/" + mapMaker.bigLevelID + "/" + (i + 1)); } level = new Level(mapMaker.roundInfoList.Count, mapMaker.roundInfoList); //level.HandleRound(); normalModelPanel.topPage.UpdateCoinText(); normalModelPanel.topPage.UpdateRoundText(); isPause = true; #endif }
//Поиск врага private void FindEnemy() { #region Tower //Поиск ближайшей вражеской вышки var enemiesTower = GameObject.FindObjectsOfType <TowerBuild>(); float minTower = FindRadius; TowerBuild minEnemyTower = null; foreach (var e in enemiesTower) { float dist = Vector3.Distance(e.transform.position, transform.position); if (minTower > dist) { minTower = dist; minEnemyTower = e; } } #endregion #region Build var enemyBuild1 = GameObject.FindObjectsOfType <Basis>(); float minBuild = FindRadius; Basis minEnemBuild1 = null; foreach (var e in enemyBuild1) { float dist = Vector3.Distance(e.transform.position, transform.position); if (minBuild > dist) { minBuild = dist; minEnemBuild1 = e; } } #endregion if (minTower < minBuild) { enemyTow = minEnemyTower; enemyTawertTmp = true; } else { enemyBuild = minEnemBuild1; enemyTmp = true; } }
void Start() { timer = 0.0f; //towerGun = gameObject.transform.GetChild(0).GetChild(0).gameObject; TowerBuilld = GameObject.Find("TowerPlacementController").GetComponent <TowerBuild>(); dataStorage = GameObject.Find("Player").GetComponent <Datenspeicherung>(); movement = GameObject.Find("Player").transform.GetChild(1).GetComponent <PlayerController>(); costs = dataStorage.towerCosts2; attackSpeed = dataStorage.towerAttackSpeed2; range = dataStorage.towerRange2; damage = dataStorage.towerDamage2; sc = this.gameObject.AddComponent <SphereCollider>(); sc.isTrigger = true; sc.radius = range; sc.enabled = false; }
void SitOnTower() { TowerBuild tower = work.GetComponent <TowerBuild>(); //создаем локальную башню, чтоб не пришлось по три раза геткомпонить onTower = true; transform.position = new Vector2(tower.HunterPosition.position.x, transform.position.y); positionY = tower.HunterPosition.position.y; distanceSeeing = tower.radius; if (timerTowerSit > 0) { timerTowerSit -= Time.deltaTime; sit = false; anim.SetBool("sit", false); } else { sit = true; anim.SetBool("sit", true); } }
// Start is called before the first frame update void Start() { TowerBuild = GameObject.Find("TowerPlacementController").GetComponent <TowerBuild>(); }
// Update is called once per frame void Update() { if (startAction != GetComponent <Interact> ().interact) { startAction = GetComponent <Interact> ().interact; if (startAction) { // do the actions here (switch case is fine) switch (tag) { case "PlayerToggle": Numbers.numPlayers = (Numbers.numPlayers == 1) ? 2 : 1; break; case "UpLayerNum": Numbers.numLayers = (Numbers.numLayers >= 50) ? 50 : Numbers.numLayers + 1; break; case "DownLayerNum": Numbers.numLayers = (Numbers.numLayers <= 2) ? 2 : Numbers.numLayers - 1; break; case "ExitToWindows": if (SceneManager.GetSceneByName("UIScene").isLoaded) { Application.Quit(); } break; case "StartGame": SceneManager.LoadScene("Scene1"); break; /////////////////////////////////////////////////////////////// case "Reset": TowerBuild.restartTower(); break; case "MainMenu": SceneManager.LoadScene("UIScene"); break; case "Undo": GameState.undo(); break; case "Redo": GameState.redo(); break; case "Rotate": Transform cam = GameObject.FindGameObjectWithTag("MainCamera").transform; cam.position = new Vector3(cam.position.x, cam.position.y, -1 * cam.position.z); cam.Rotate(0, 180.0f, 0); break; case "MoveUp": Transform camera = GameObject.FindGameObjectWithTag("MainCamera").transform; float upby = (camera.position.y >= 1.2) ? 0.0f : 0.05f; camera.position = new Vector3(camera.position.x, camera.position.y + upby, camera.position.z); break; case "MoveDown": Transform camer = GameObject.FindGameObjectWithTag("MainCamera").transform; float downby = (camer.position.y <= 0.25) ? 0.0f : -0.05f; camer.position = new Vector3(camer.position.x, camer.position.y + downby, camer.position.z); break; default: //do nothing break; } // reset startAction and interact for the widget } } }