Exemplo n.º 1
0
            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);
            }
Exemplo n.º 2
0
    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);
    }
Exemplo n.º 3
0
    // タワー生成
    public static Tower2 Add(float px, float py)
    {
        Tower2 t = parent.Add <Tower2>(px, py);

        if (t == null)
        {
            return(null);
        }
        t.Init();
        return(t);
    }
Exemplo n.º 4
0
    /// 更新
    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);
        }
    }
Exemplo n.º 5
0
        /// <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);
            }
        }
Exemplo n.º 6
0
	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;
	}
Exemplo n.º 7
0
    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;
        }
    }
Exemplo n.º 8
0
	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;
	}
Exemplo n.º 9
0
    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);
    }
Exemplo n.º 10
0
    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);
    }
Exemplo n.º 11
0
    // 更新・メイン
    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();
        }
    }
Exemplo n.º 12
0
 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;
     }
 }