public string GetStringRepresentation() { var representation = $@"T1:{Tower1.Select(t => t).Aggregate("", (agg, r) => $"{agg}{r}")}," + $@"T2:{Tower2.Select(t => t).Aggregate("", (agg, r) => $"{agg}{r}")}," + $@"T3:{Tower3.Select(t => t).Aggregate("", (agg, r) => $"{agg}{r}")}"; return(representation); }
public static Tower2 Create(Transform tower2Prefab, Vector3 position, Action onTowerConstructedAction) { Transform towerTransform = UnityEngine.Object.Instantiate(tower2Prefab, position, Quaternion.identity); Tower2 tower = new Tower2(towerTransform, onTowerConstructedAction); return(tower); }
// タワー生成 public static Tower2 Add(float px, float py) { Tower2 t = parent.Add <Tower2>(px, py); if (t == null) { return(null); } t.Init(); return(t); }
/// 更新 public void Update2(GameMgr.eSelMode2 selMode2, Tower2 tower2) { // Wave数を更新 _txtWave.SetLabelFormat("Wave: {0}", Global.Wave); _txtMoney2.SetLabelFormat("MP: {0}", Global.Money2); // 生産コストを取得する int cost = Cost.TowerProduction2(); _txtCost2.Label = ""; if (selMode2 == GameMgr.eSelMode2.Buy) { // 購入モードのみテキストを設定する _txtCost2.SetLabelFormat("(消費 {0})", cost); } // 購入ボタンを押せるかどうかチェック _btnBuy2.Enabled = (Global.Money2 >= cost); // 購入コストを表示する _btnBuy2.FormatLabel("呼び出す ({0})", cost); // ライフ表示 for (int i = 0; i < Global.LIFE_MAX; i++) { bool b = (Global.Life2 > i); MyCanvas.SetActive("ImageLife2" + i, b); } if (selMode2 == GameMgr.eSelMode2.Upgrade) { // 選択しているタワーの情報を表示する _txtTowerInfo2.SetLabelFormat( "<<情報>>\n 範囲: Lv{0}\n 速度: Lv{1}\n 威力: Lv{2}", tower2.LvRange, tower2.LvFirerate, tower2.LvPower ); // アップグレードボタン更新 int money2 = Global.Money2; // 射程範囲 _btnRange2.Enabled = (money2 >= tower2.CostRange); _btnRange2.FormatLabel("範囲 (${0})", tower2.CostRange); // 連射速度 _btnFirerate2.Enabled = (money2 >= tower2.CostFirerate); _btnFirerate2.FormatLabel("速度 (${0})", tower2.CostFirerate); // 攻撃威力 _btnPower2.Enabled = (money2 >= tower2.CostPower); _btnPower2.FormatLabel("威力 (${0})", tower2.CostPower); } }
/// <summary> /// Build fuction for tower. /// Attached TowerBuildUI's buttons. /// </summary> public void BuildTower() { if (my_gameController.GetCurrency() > 0) { buttonName = EventSystem.current.currentSelectedGameObject.name; Debug.Log("create: " + buttonName); switch (buttonName) { case "Tower1": my_GameUI.BuyTower(Tower1, my_inputController.buildPosition, new Quaternion(0, 0, 0, 0)); my_currencyController.ChangeCurrency(-Tower1.GetComponent <Tower>().buildCost); activeTowerPlace.isOccupied = true; break; case "Tower2": my_GameUI.BuyTower(Tower2, my_inputController.buildPosition, new Quaternion(0, 0, 0, 0)); my_currencyController.ChangeCurrency(-Tower2.GetComponent <Tower>().buildCost); activeTowerPlace.isOccupied = true; break; case "Tower3": my_GameUI.BuyTower(Tower3, my_inputController.buildPosition, new Quaternion(0, 0, 0, 0)); my_currencyController.ChangeCurrency(-Tower3.GetComponent <Tower>().buildCost); activeTowerPlace.isOccupied = true; break; case "Tower4": my_GameUI.BuyTower(Tower4, my_inputController.buildPosition, new Quaternion(0, 0, 0, 0)); my_currencyController.ChangeCurrency(-Tower4.GetComponent <Tower>().buildCost); activeTowerPlace.isOccupied = true; break; default: break; } this.gameObject.SetActive(false); } }
public Character SpawnCharacter(CharacterData.CharacterClassType classType, int charModeType, int camp, int level, Vector3 pos, Vector3 dir, CharacterStatus.Pose pose){ this.START_METHOD("SpawnCharacter"); Character tempChar = null; //create the enemies if (classType == CharacterData.CharacterClassType.CHARACTER) { //create the enemy if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.BOWMAN){ Bowman chara = new Bowman(); chara.SetArmor(armorList[0]); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } // } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.GIANT){ // Gaint chara = new Gaint("giant"); // SetEnemy(chara,pos,dir,camp,pose,0.02f,20); // tempChar = chara; // } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.VIKING){ Viking chara = new Viking(); chara.SetArmor(armorList[1]); SetEnemy(chara,pos,dir,camp,pose,0.02f,30); tempChar = chara; } //create enemy2 else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY2){ Gaint chara = new Gaint("enemy2"); chara.SetArmor(armorList[2]); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } //enemy3 else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY3){ Gaint chara = new Gaint("enemy3"); chara.SetArmor(armorList[3]); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } //enemy4 else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY4){ Gaint chara = new Gaint("enemy4"); chara.SetArmor(armorList[4]); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY5){ Gaint chara = new Gaint("enemy5"); chara.SetArmor(armorList[5]); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY6){ Gaint chara = new Gaint("enemy6"); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY7){ Gaint chara = new Gaint("enemy7"); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY8){ Gaint chara = new Gaint("enemy8"); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY9){ Gaint chara = new Gaint("enemy9"); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY10){ Gaint chara = new Gaint("enemy10"); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY11){ Gaint chara = new Gaint("enemy11"); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY12){ Gaint chara = new Gaint("enemy12"); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY13){ Gaint chara = new Gaint("enemy13"); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY14){ Gaint chara = new Gaint("enemy14"); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY15){ Gaint chara = new Gaint("enemy15"); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY16){ Gaint chara = new Gaint("enemy16"); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY17){ Gaint chara = new Gaint("enemy17"); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY19){ Gaint chara = new Gaint("enemy19"); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY20){ Gaint chara = new Gaint("enemy20"); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY21){ Gaint chara = new Gaint("enemy21"); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY22){ Gaint chara = new Gaint("enemy22"); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY24){ Gaint chara = new Gaint("enemy24"); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY25){ Gaint chara = new Gaint("enemy25"); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY27){ Gaint chara = new Gaint("enemy27"); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY28){ Gaint chara = new Gaint("enemy28"); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY30){ Gaint chara = new Gaint("enemy30"); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY31){ Gaint chara = new Gaint("enemy31"); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY32){ Gaint chara = new Gaint("enemy32"); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY33){ Gaint chara = new Gaint("enemy33"); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY34){ Gaint chara = new Gaint("enemy34"); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY35){ Gaint chara = new Gaint("enemy35"); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY36){ Gaint chara = new Gaint("enemy36"); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY37){ Gaint chara = new Gaint("enemy37"); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY38){ Gaint chara = new Gaint("enemy38"); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY39){ Gaint chara = new Gaint("enemy39"); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY41){ Gaint chara = new Gaint("enemy41"); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY43){ Gaint chara = new Gaint("enemy43"); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY44){ Gaint chara = new Gaint("enemy44"); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY45){ Gaint chara = new Gaint("enemy45"); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY46){ Gaint chara = new Gaint("enemy46"); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.BOSS1){ Gaint chara = new Gaint("boss1"); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.BOSS2){ Gaint chara = new Gaint("boss2"); SetEnemy(chara,pos,dir,camp,pose,0.02f,10); tempChar = chara; } //used enemies model else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY18){ Gaint chara = new Gaint("enemy18"); chara.SetArmor(armorList[0]); chara.SetIsPonsion(false); SetEnemy(chara,pos,dir,camp,pose,0.02f,hpList[0]); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY23){ Gaint chara = new Gaint("enemy23"); chara.SetArmor(armorList[1]); chara.SetIsPonsion(false); SetEnemy(chara,pos,dir,camp,pose,0.02f,hpList[1]); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY26){ Gaint chara = new Gaint("enemy26"); chara.SetArmor(armorList[2]); chara.SetIsPonsion(false); SetEnemy(chara,pos,dir,camp,pose,0.02f,hpList[2]); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY29){ Gaint chara = new Gaint("enemy29"); chara.SetArmor(armorList[3]); chara.SetIsPonsion(false); SetEnemy(chara,pos,dir,camp,pose,0.02f,hpList[3]); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY40){ Gaint chara = new Gaint("enemy40"); chara.SetArmor(armorList[4]); chara.SetIsPonsion(false); SetEnemy(chara,pos,dir,camp,pose,0.02f,hpList[4]); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY42){ Gaint chara = new Gaint("enemy42"); chara.SetArmor(armorList[5]); chara.SetIsPonsion(false); SetEnemy(chara,pos,dir,camp,pose,0.02f,hpList[5]); tempChar = chara; } if(tempChar != null){ chars.Add(tempChar); } else { throw new UnityException("no current char type to spawn!"); } } //create the building else if (classType == CharacterData.CharacterClassType.BUILDING) { //create the barrack to gather resources if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.BARRACK){ TowerBarrack character = new TowerBarrack(); character.SetPos(pos); character.SetDir(dir); character.SetCamp(camp); tempChar = character; } else if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.CANNON){ Cannon character = new Cannon(); character.SetPos(pos); character.SetDir(dir); character.SetPose (pose); character.SetCamp(camp); //set attack power character.SetAttackPower(50); tempChar = character; } //Tower01 else if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.TOWER1){ Tower1 character = new Tower1(); character.SetAttackRange(2.25f); character.SetLevel(1); character.SetPos(pos); character.SetDir(dir); character.SetPose (pose); character.SetCamp(camp); character.SetAttackRate(1f); character.SetNeedPower(towerPowerList[0]); //set attack power character.SetAttackPower(tower1AttackNumber); tempChar = character; } //Tower02 else if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.TOWER2){ Tower2 character = new Tower2(); character.SetAttackRange(2); character.SetLevel(1); character.SetPos(pos); character.SetDir(dir); character.SetPose (pose); character.SetCamp(camp); character.SetAttackRate(1f); character.SetNeedPower(towerPowerList[1]); //set attack power character.SetAttackPower(tower2AttackNumber); tempChar = character; } //Tower4 else if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.TOWER4){ Tower4 character = new Tower4(); character.SetAttackRange(2); character.SetLevel(1); character.SetPos(pos); character.SetDir(dir); character.SetPose(pose); character.SetCamp(camp); character.SetNeedPower(towerPowerList[2]); tempChar = character; } //Tower7 else if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.TOWER7){ Tower7 character = new Tower7(); character.SetAttackRange(2.5f); character.SetLevel(1); character.SetPos(pos); character.SetDir(dir); character.SetPose(pose); character.SetCamp(camp); character.SetAttackPower(tower7AttackNumber); character.SetAttackRate(1f); character.SetNeedPower(towerPowerList[3]); tempChar = character; } //Tower10 else if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.TOWER10){ Tower10 character = new Tower10(); character.SetAttackRange(2.5f); character.SetLevel(1); character.SetPos(pos); character.SetDir(dir); character.SetPose(pose); character.SetCamp(camp); character.SetAttackPower(tower10AttackNumber); character.SetAttackRate(1f); character.SetNeedPower(towerPowerList[4]); tempChar = character; } //Research else if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.LAB){ Research character = new Research(); character.SetLevel(1); character.SetPos(pos); character.SetPose(pose); character.SetCamp(camp); tempChar = character; } //Diamond Resource else if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.DIAMOND){ DiamondResource character = new DiamondResource(); character.SetPos(pos); character.SetPose(pose); character.SetCamp(camp); tempChar = character; } //Small Mine else if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.MINE1){ SmallMine character = new SmallMine(); character.SetPos(pos); character.SetPose(pose); character.SetCamp(camp); tempChar = character; } //Large Mine else if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.MINE2){ LargeMine character = new LargeMine(); character.SetPos(pos); character.SetPose(pose); character.SetCamp(camp); tempChar = character; } //Small Geneator else if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.GENERATOR1){ SmallGeneator character = new SmallGeneator(); character.SetPos(pos); character.SetPose(pose); character.SetCamp(camp); tempChar = character; } //Large Geneator else if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.GENERATOR2){ LargeGeneator character = new LargeGeneator(); character.SetPos(pos); character.SetPose(pose); character.SetCamp(camp); tempChar = character; } //Targeting Facility else if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.TARGETING){ TargetingFacility character = new TargetingFacility(); character.SetPos(pos); character.SetPose(pose); character.SetCamp(camp); character.SetAttackRange(1); character.SetNeedPower(towerPowerList[5]); tempChar = character; } //Super Capacitor else if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.CAPACITOR){ SuperCapacitor character = new SuperCapacitor(); character.SetPos(pos); character.SetPose(pose); character.SetCamp(camp); character.SetAttackRange(1); character.SetNeedPower(towerPowerList[6]); tempChar = character; } //Alien Recovery else if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.ALIEN){ AlienRecovery character = new AlienRecovery(); character.SetPos(pos); character.SetPose(pose); character.SetCamp(camp); character.SetAttackRange(2); tempChar = character; } //Antenna else if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.ANTENNA){ Antenna character = new Antenna(); character.SetPos(pos); character.SetPose(pose); character.SetCamp(camp); character.SetAttackRange(antennaRange); tempChar = character; } //created the tower, add to the building list if(tempChar != null){ building.Add(tempChar); } else { throw new UnityException("no current building type to spawn!"); } } //add to the all character list allCharacter.Add (tempChar); this.END_METHOD("SpawnCharacter"); return tempChar; }
IEnumerator FireDelay() { isBuild = false; progressBar.SetActive(false); transform.Find("Soil").GetComponent <Button>().interactable = false; transform.Find("Soil").GetComponent <EventTrigger>().enabled = false; progressBar.transform.Find("Image").GetComponent <Image>().fillAmount = 0; if (tower1.activeInHierarchy) { Tower1 code = tower1.GetComponent <Tower1>(); image1.SetActive(false); towerImage1.SetActive(true); range1.GetComponent <PolygonCollider2D>().enabled = true; range1.GetComponent <Range1>().enabled = true; selfAudioSource.clip = code.audioClips[code.SwitchAudio % 3]; selfAudioSource.Play(); tower1.transform.Find("Archer1").gameObject.SetActive(true); tower1.transform.Find("Archer2").gameObject.SetActive(true); code.SwitchAudio++; yield return(new WaitForSeconds(1.5f)); range1.GetComponent <Range1>().isStart = true; } else if (tower2.activeInHierarchy) { Tower2 code = tower2.GetComponent <Tower2>(); image2.SetActive(false); towerImage2.SetActive(true); range2.GetComponent <Range2>().isFirst = 1; range2.GetComponent <Range2>().enabled = true; selfAudioSource.clip = code.audioClips[code.SwitchAudio % 4]; selfAudioSource.Play(); code.SwitchAudio++; } else if (tower3.activeInHierarchy) { Tower3 code = tower3.GetComponent <Tower3>(); image3.SetActive(false); towerImage3.SetActive(true); range3.GetComponent <PolygonCollider2D>().enabled = true; range3.GetComponent <Range3>().enabled = true; selfAudioSource.clip = code.audioClips[code.SwitchAudio % 3]; selfAudioSource.Play(); tower3.transform.Find("Mage").gameObject.SetActive(true); code.SwitchAudio++; yield return(new WaitForSeconds(1.5f)); range3.GetComponent <Range3>().isStart = true; } else if (tower4.activeInHierarchy) { Tower4 code = tower4.GetComponent <Tower4>(); image4.SetActive(false); towerImage4.SetActive(true); range4.GetComponent <PolygonCollider2D>().enabled = true; range4.GetComponent <Range4>().enabled = true; selfAudioSource.clip = code.audioClips[code.SwitchAudio % 3]; selfAudioSource.Play(); code.SwitchAudio++; yield return(new WaitForSeconds(1.5f)); range4.GetComponent <Range4>().isStart = true; } }
public Character SpawnCharacter(CharacterData.CharacterClassType classType, int charModeType, int camp, int level, Vector3 pos, Vector3 dir, CharacterStatus.Pose pose){ this.START_METHOD("SpawnCharacter"); Character tempChar = null; //create the enemies if (classType == CharacterData.CharacterClassType.CHARACTER) { //create the enemy if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.BOWMAN){ Bowman chara = new Bowman(); chara.SetPos(pos); chara.SetDir(dir); chara.SetPose(pose); chara.SetCamp(camp); chara.SetSpeed(0.01f); //set bowman max life chara.SetLife(200); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.GIANT){ Gaint chara = new Gaint(); chara.SetPos(pos); chara.SetDir(dir); chara.SetPose(pose); chara.SetCamp(camp); chara.SetSpeed(0.01f); //set giant max life chara.SetLife(400); tempChar = chara; } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.VIKING){ Viking chara = new Viking(); chara.SetPos(pos); chara.SetDir(dir); chara.SetPose(pose); chara.SetCamp(camp); chara.SetSpeed(0.01f); //set viking max life chara.SetLife(300); tempChar = chara; } if(tempChar != null){ chars.Add(tempChar); } else { throw new UnityException("no current char type to spawn!"); } } //create the building else if (classType == CharacterData.CharacterClassType.BUILDING) { //create the barrack to gather resources if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.BARRACK){ TowerBarrack character = new TowerBarrack(); character.SetPos(pos); character.SetDir(dir); character.SetCamp(camp); tempChar = character; } else if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.CANNON){ Cannon character = new Cannon(); character.SetPos(pos); character.SetDir(dir); character.SetPose (pose); character.SetCamp(camp); //set attack power character.SetAttackPower(50); tempChar = character; } //Tower01 else if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.TOWER1){ Tower1 character = new Tower1(); character.SetAttackRange(3); character.SetLevel(1); character.SetPos(pos); character.SetDir(dir); character.SetPose (pose); character.SetCamp(camp); character.SetAttackRate(1f); //set attack power character.SetAttackPower(1); tempChar = character; } //Tower02 else if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.TOWER2){ Tower2 character = new Tower2(); character.SetAttackRange(3); character.SetLevel(1); character.SetPos(pos); character.SetDir(dir); character.SetPose (pose); character.SetCamp(camp); character.SetAttackRate(1f); //set attack power character.SetAttackPower(1); tempChar = character; } //Tower4 else if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.TOWER4){ Tower4 character = new Tower4(); character.SetAttackRange(2); character.SetLevel(1); character.SetPos(pos); character.SetDir(dir); character.SetPose(pose); character.SetCamp(camp); tempChar = character; } //Tower7 else if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.TOWER7){ Tower7 character = new Tower7(); character.SetAttackRange(2); character.SetLevel(1); character.SetPos(pos); character.SetDir(dir); character.SetPose(pose); character.SetCamp(camp); character.SetAttackPower(1); character.SetAttackRate(1f); tempChar = character; } //Tower10 else if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.TOWER10){ Tower10 character = new Tower10(); character.SetAttackRange(4); character.SetLevel(1); character.SetPos(pos); character.SetDir(dir); character.SetPose(pose); character.SetCamp(camp); character.SetAttackPower(1); character.SetAttackRate(2f); tempChar = character; } //created the barrack, add to the building list if(tempChar != null){ building.Add(tempChar); } else { throw new UnityException("no current building type to spawn!"); } } //add to the all character list allCharacter.Add (tempChar); this.END_METHOD("SpawnCharacter"); return tempChar; }
public Character SpawnCharacter(CharacterData.CharacterClassType classType, int charModeType, int camp, int level, Vector3 pos, Vector3 dir, CharacterStatus.Pose pose) { this.START_METHOD("SpawnCharacter"); Character tempChar = null; //create the enemies if (classType == CharacterData.CharacterClassType.CHARACTER) { //create the enemy if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.BOWMAN) { Bowman chara = new Bowman(); chara.SetArmor(armorList[0]); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } // } else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.GIANT){ // Gaint chara = new Gaint("giant"); // SetEnemy(chara,pos,dir,camp,pose,0.02f,20); // tempChar = chara; // } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.VIKING) { Viking chara = new Viking(); chara.SetArmor(armorList[1]); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 30); tempChar = chara; } //create enemy2 else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY2) { Gaint chara = new Gaint("enemy2"); chara.SetArmor(armorList[2]); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } //enemy3 else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY3) { Gaint chara = new Gaint("enemy3"); chara.SetArmor(armorList[3]); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } //enemy4 else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY4) { Gaint chara = new Gaint("enemy4"); chara.SetArmor(armorList[4]); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY5) { Gaint chara = new Gaint("enemy5"); chara.SetArmor(armorList[5]); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY6) { Gaint chara = new Gaint("enemy6"); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY7) { Gaint chara = new Gaint("enemy7"); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY8) { Gaint chara = new Gaint("enemy8"); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY9) { Gaint chara = new Gaint("enemy9"); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY10) { Gaint chara = new Gaint("enemy10"); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY11) { Gaint chara = new Gaint("enemy11"); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY12) { Gaint chara = new Gaint("enemy12"); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY13) { Gaint chara = new Gaint("enemy13"); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY14) { Gaint chara = new Gaint("enemy14"); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY15) { Gaint chara = new Gaint("enemy15"); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY16) { Gaint chara = new Gaint("enemy16"); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY17) { Gaint chara = new Gaint("enemy17"); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY19) { Gaint chara = new Gaint("enemy19"); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY20) { Gaint chara = new Gaint("enemy20"); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY21) { Gaint chara = new Gaint("enemy21"); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY22) { Gaint chara = new Gaint("enemy22"); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY24) { Gaint chara = new Gaint("enemy24"); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY25) { Gaint chara = new Gaint("enemy25"); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY27) { Gaint chara = new Gaint("enemy27"); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY28) { Gaint chara = new Gaint("enemy28"); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY30) { Gaint chara = new Gaint("enemy30"); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY31) { Gaint chara = new Gaint("enemy31"); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY32) { Gaint chara = new Gaint("enemy32"); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY33) { Gaint chara = new Gaint("enemy33"); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY34) { Gaint chara = new Gaint("enemy34"); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY35) { Gaint chara = new Gaint("enemy35"); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY36) { Gaint chara = new Gaint("enemy36"); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY37) { Gaint chara = new Gaint("enemy37"); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY38) { Gaint chara = new Gaint("enemy38"); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY39) { Gaint chara = new Gaint("enemy39"); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY41) { Gaint chara = new Gaint("enemy41"); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY43) { Gaint chara = new Gaint("enemy43"); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY44) { Gaint chara = new Gaint("enemy44"); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY45) { Gaint chara = new Gaint("enemy45"); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY46) { Gaint chara = new Gaint("enemy46"); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.BOSS1) { Gaint chara = new Gaint("boss1"); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.BOSS2) { Gaint chara = new Gaint("boss2"); SetEnemy(chara, pos, dir, camp, pose, 0.02f, 10); tempChar = chara; } //used enemies model else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY18) { Gaint chara = new Gaint("enemy18"); chara.SetArmor(armorList[0]); chara.SetIsPonsion(false); SetEnemy(chara, pos, dir, camp, pose, 0.02f, hpList[0]); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY23) { Gaint chara = new Gaint("enemy23"); chara.SetArmor(armorList[1]); chara.SetIsPonsion(false); SetEnemy(chara, pos, dir, camp, pose, 0.02f, hpList[1]); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY26) { Gaint chara = new Gaint("enemy26"); chara.SetArmor(armorList[2]); chara.SetIsPonsion(false); SetEnemy(chara, pos, dir, camp, pose, 0.02f, hpList[2]); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY29) { Gaint chara = new Gaint("enemy29"); chara.SetArmor(armorList[3]); chara.SetIsPonsion(false); SetEnemy(chara, pos, dir, camp, pose, 0.02f, hpList[3]); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY40) { Gaint chara = new Gaint("enemy40"); chara.SetArmor(armorList[4]); chara.SetIsPonsion(false); SetEnemy(chara, pos, dir, camp, pose, 0.02f, hpList[4]); tempChar = chara; } else if ((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY42) { Gaint chara = new Gaint("enemy42"); chara.SetArmor(armorList[5]); chara.SetIsPonsion(false); SetEnemy(chara, pos, dir, camp, pose, 0.02f, hpList[5]); tempChar = chara; } if (tempChar != null) { chars.Add(tempChar); } else { throw new UnityException("no current char type to spawn!"); } } //create the building else if (classType == CharacterData.CharacterClassType.BUILDING) { //create the barrack to gather resources if ((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.BARRACK) { TowerBarrack character = new TowerBarrack(); character.SetPos(pos); character.SetDir(dir); character.SetCamp(camp); tempChar = character; } else if ((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.CANNON) { Cannon character = new Cannon(); character.SetPos(pos); character.SetDir(dir); character.SetPose(pose); character.SetCamp(camp); //set attack power character.SetAttackPower(50); tempChar = character; } //Tower01 else if ((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.TOWER1) { Tower1 character = new Tower1(); character.SetAttackRange(2.25f); character.SetLevel(1); character.SetPos(pos); character.SetDir(dir); character.SetPose(pose); character.SetCamp(camp); character.SetAttackRate(1f); character.SetNeedPower(towerPowerList[0]); //set attack power character.SetAttackPower(tower1AttackNumber); tempChar = character; } //Tower02 else if ((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.TOWER2) { Tower2 character = new Tower2(); character.SetAttackRange(2); character.SetLevel(1); character.SetPos(pos); character.SetDir(dir); character.SetPose(pose); character.SetCamp(camp); character.SetAttackRate(1f); character.SetNeedPower(towerPowerList[1]); //set attack power character.SetAttackPower(tower2AttackNumber); tempChar = character; } //Tower4 else if ((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.TOWER4) { Tower4 character = new Tower4(); character.SetAttackRange(2); character.SetLevel(1); character.SetPos(pos); character.SetDir(dir); character.SetPose(pose); character.SetCamp(camp); character.SetNeedPower(towerPowerList[2]); tempChar = character; } //Tower7 else if ((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.TOWER7) { Tower7 character = new Tower7(); character.SetAttackRange(2.5f); character.SetLevel(1); character.SetPos(pos); character.SetDir(dir); character.SetPose(pose); character.SetCamp(camp); character.SetAttackPower(tower7AttackNumber); character.SetAttackRate(1f); character.SetNeedPower(towerPowerList[3]); tempChar = character; } //Tower10 else if ((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.TOWER10) { Tower10 character = new Tower10(); character.SetAttackRange(2.5f); character.SetLevel(1); character.SetPos(pos); character.SetDir(dir); character.SetPose(pose); character.SetCamp(camp); character.SetAttackPower(tower10AttackNumber); character.SetAttackRate(1f); character.SetNeedPower(towerPowerList[4]); tempChar = character; } //Research else if ((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.LAB) { Research character = new Research(); character.SetLevel(1); character.SetPos(pos); character.SetPose(pose); character.SetCamp(camp); tempChar = character; } //Diamond Resource else if ((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.DIAMOND) { DiamondResource character = new DiamondResource(); character.SetPos(pos); character.SetPose(pose); character.SetCamp(camp); tempChar = character; } //Small Mine else if ((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.MINE1) { SmallMine character = new SmallMine(); character.SetPos(pos); character.SetPose(pose); character.SetCamp(camp); tempChar = character; } //Large Mine else if ((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.MINE2) { LargeMine character = new LargeMine(); character.SetPos(pos); character.SetPose(pose); character.SetCamp(camp); tempChar = character; } //Small Geneator else if ((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.GENERATOR1) { SmallGeneator character = new SmallGeneator(); character.SetPos(pos); character.SetPose(pose); character.SetCamp(camp); tempChar = character; } //Large Geneator else if ((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.GENERATOR2) { LargeGeneator character = new LargeGeneator(); character.SetPos(pos); character.SetPose(pose); character.SetCamp(camp); tempChar = character; } //Targeting Facility else if ((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.TARGETING) { TargetingFacility character = new TargetingFacility(); character.SetPos(pos); character.SetPose(pose); character.SetCamp(camp); character.SetAttackRange(1); character.SetNeedPower(towerPowerList[5]); tempChar = character; } //Super Capacitor else if ((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.CAPACITOR) { SuperCapacitor character = new SuperCapacitor(); character.SetPos(pos); character.SetPose(pose); character.SetCamp(camp); character.SetAttackRange(1); character.SetNeedPower(towerPowerList[6]); tempChar = character; } //Alien Recovery else if ((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.ALIEN) { AlienRecovery character = new AlienRecovery(); character.SetPos(pos); character.SetPose(pose); character.SetCamp(camp); character.SetAttackRange(2); tempChar = character; } //Antenna else if ((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.ANTENNA) { Antenna character = new Antenna(); character.SetPos(pos); character.SetPose(pose); character.SetCamp(camp); character.SetAttackRange(antennaRange); tempChar = character; } //created the tower, add to the building list if (tempChar != null) { building.Add(tempChar); } else { throw new UnityException("no current building type to spawn!"); } } //add to the all character list allCharacter.Add(tempChar); this.END_METHOD("SpawnCharacter"); return(tempChar); }
void Start() { // ゲームパラメータ初期化 Global.Init(); // 敵管理を生成 Enemy.parent = new TokenMgr <Enemy>(); Enemy.parent.AddToken("Enemy", 128); Enemy.parent.AddToken("Enemy2", 128); //Enemy2.parent = new TokenMgr<Enemy2>("Enemy2", 128); // ショット管理を生成 Shot.parent = new TokenMgr <Shot>("Shot", 128); // パーティクル管理を生成 Particle.parent = new TokenMgr <Particle>("Particle", 256); // タワー管理を生成 Tower.parent = new TokenMgr <Tower>("Tower", 64); Tower2.parent = new TokenMgr <Tower2>("Tower2", 64); // マップ管理を生成 // プレハブを取得 GameObject prefab = null; prefab = Util.GetPrefab(prefab, "Field"); // インスタンス生成 Field field = Field.CreateInstance2 <Field>(prefab, 0, 0); // マップ読み込み field.Load(); // パスを取得 _path = field.Path; _path2 = field.Path2; // コリジョンレイヤーを取得 _lCollision = field.lCollision; _lCollision2 = field.lCollision2; // カーソルを取得 _cursor = GameObject.Find("Cursor").GetComponent <Cursor>(); _cursor2 = GameObject.Find("Cursor2").GetComponent <Cursor2>(); // GUIを生成 _gui = new Gui(); _gui2 = new Gui2(); // 敵生成管理を生成 _enemyGenerator = new EnemyGenerator(_path); _enemyGenerator2 = new EnemyGenerator2(_path2); // Wave開始演出を取得 _waveStart = MyCanvas.Find <WaveStart>("TextWaveStart"); // 射程範囲カーソルを取得する _cursorRange = GameObject.Find("CursorRange").GetComponent <CursorRange>(); // 初期状態は選択しないモード ChangeSelMode(eSelMode.None); ChangeSelMode2(eSelMode2.None); //初期タワー配置 Tower.Add(-1.12f, -1.76f); Tower2.Add(1.12f, -1.76f); }
// 更新・メイン void UpdateMain() { // 敵生成管理の更新 _enemyGenerator.Update(); _enemyGenerator2.Update(); // カーソルの下にあるオブジェクトをチェック int mask = 1 << LayerMask.NameToLayer("Tower"); Collider2D col = Physics2D.OverlapPoint(_cursor.GetPosition(), mask); _selObj = null; if (col != null) { // 選択中のオブジェクトを格納 _selObj = col.gameObject; } // カーソルの下にあるオブジェクトをチェック int mask2 = 1 << LayerMask.NameToLayer("Tower"); Collider2D col2 = Physics2D.OverlapPoint(_cursor2.GetPosition(), mask2); _selObj2 = null; if (col2 != null) { // 選択中のオブジェクトを格納 _selObj2 = col2.gameObject; } if (Input.GetButtonDown("Done1p")) { if (_selObj != null) { // 砲台をクリックした // 選択した砲台オブジェクトを取得 _selTower = _selObj.GetComponent <Tower>(); // アップグレードモードに移行する ChangeSelMode(eSelMode.Upgrade); } else { switch (_selMode) { case eSelMode.Buy: if (_cursor.SelObj == null) { if (_cursor.Placeable) { if (_cursor._Placeable) { // 所持金を減らす int cost = Cost.TowerProduction(); if (Global.Money < cost) { // お金が足りないので通常モードに戻る ChangeSelMode(eSelMode.None); } else { Global.UseMoney(cost); // 何もないので砲台を配置 Tower.Add(_cursor.X, _cursor.Y); // 次のタワーの生産コストを取得する int cost2 = Cost.TowerProduction2(); if (Global.Money < cost) { // お金が足りないので通常モードに戻る ChangeSelMode(eSelMode.None); } } } } } break; case eSelMode.None: ChangeSelMode(eSelMode.Buy); break; case eSelMode.Upgrade: ChangeSelMode(eSelMode.None); break; } } } if (Input.GetButtonDown("Done2p")) { if (_selObj2 != null) { // 砲台をクリックした // 選択した砲台オブジェクトを取得 _selTower2 = _selObj2.GetComponent <Tower2>(); // アップグレードモードに移行する ChangeSelMode2(eSelMode2.Upgrade); } else { switch (_selMode2) { case eSelMode2.Buy: if (_cursor2.SelObj == null) { if (_cursor2.Placeable) { if (_cursor2._Placeable) { // 所持金を減らす int cost = Cost.TowerProduction(); if (Global.Money2 < cost) { // お金が足りないので通常モードに戻る ChangeSelMode2(eSelMode2.None); } else { Global.UseMoney2(cost); // 何もないので砲台を配置 Tower2.Add(_cursor2.X, _cursor2.Y); // 次のタワーの生産コストを取得する int cost2 = Cost.TowerProduction2(); if (Global.Money2 < cost2) { // お金が足りないので通常モードに戻る ChangeSelMode2(eSelMode2.None); } } } } } break; case eSelMode2.None: ChangeSelMode2(eSelMode2.Buy); break; case eSelMode2.Upgrade: ChangeSelMode2(eSelMode2.None); break; } } } if (Input.GetButtonDown("Range1p")) { OnClickRange(); } if (Input.GetButtonDown("Range2p")) { OnClickRange2(); } if (Input.GetButtonDown("Firerate1p")) { OnClickFirerate(); } if (Input.GetButtonDown("Firerate2p")) { OnClickFirerate2(); } if (Input.GetButtonDown("Power1p")) { OnClickPower(); } if (Input.GetButtonDown("Power2p")) { OnClickPower2(); } }
private void Update() { GameResources.AddResourceAmount(GameResources.ResourceType.Year, (int)Math.Round(Time.deltaTime * 100)); //if (Input.GetMouseButtonDown(1)) { we remove the mouse controls for towers to automate it // Construct a Tower if (housecount < 15) { if (Tower.TrySpendResourcesCost()) { // Our vector takes our starting build point Vector3 towerSpawnPosition = new Vector3(spawnx, spawny, 0); housecount += 1; Tower.Create(towerPrefab, towerSpawnPosition, () => { if (housecount % 2 == 0) { SpawnGathererUnit(towerSpawnPosition + new Vector3(0, -3)); GameResources.AddResourceAmount(GameResources.ResourceType.Population, 1); } }); // Have to move our x axis so towers don't overlap spawnx += 30 * (spawnside * -1); // After a certain point we would be building off camera so I moved up our y axis and reset the x to create a new line to build on if (spawnx > camerasize || spawnx < (camerasize * -1)) { // flips the side of building spawnx = 15 * spawnside; // if we have flipped once, we must now build up to avoid building on top of existing buildings if (sidecount % 2 == 0) { spawny += 30; // if (Camera.main.orthographicSize <= 400) // autozoom out to keep town in frame Camera.main.orthographicSize += 25; } // update control variables spawnside = spawnside * -1; sidecount += 1; //if (Camera.main.fieldOfView <= 125) // Camera.main.fieldOfView += 2; } } } if (housecount >= 15) { if (Tower2.TrySpendResourcesCost()) { // Our vector takes our starting build point Vector3 towerSpawnPosition = new Vector3(spawnx, spawny, 0); Tower2.Create(towerPrefab, towerSpawnPosition, () => { if (housecount % 2 == 0) { SpawnGathererUnit(towerSpawnPosition + new Vector3(0, -3)); GameResources.AddResourceAmount(GameResources.ResourceType.Population, 1); } housecount += 1; }); // Have to move our x axis so towers don't overlap spawnx += 40 * (spawnside * -1); // After a certain point we would be building off camera so I moved up our y axis and reset the x to create a new line to build on if (spawnx > camerasize || spawnx < (camerasize * -1)) { // flips the side of building spawnx = 15 * spawnside; // if we have flipped once, we must now build up to avoid building on top of existing buildings if (sidecount % 2 == 0) { spawny += 30; // if (Camera.main.orthographicSize <= 400) // autozoom out to keep town in frame Camera.main.orthographicSize += 40; camerasize += 100; } // update control variables spawnside = spawnside * -1; sidecount += 1; //if (Camera.main.fieldOfView <= 125) // Camera.main.fieldOfView += 2; } } } if (Camera.main.orthographicSize >= 170 && !alreadyAdded) { AddNewResources(treeNodeTransformArray2, "tree"); AddNewResources(goldNodeTransformArray2, "gold"); alreadyAdded = true; } }