Ejemplo n.º 1
0
    /// <summary>
    /// 通过传过来的关卡初始化(单个)
    /// </summary>
    /// <param name="info"></param>
    public void InitStage(StageInfo info)
    {
        /***********建议读表i***********/
        if (m_RootStageHandler != null)
        {
            return;
        }

        NormalStageData StageData  = null; // 生成的怪物的Enemy
        IStageScore     StageScore = null; // 通关的成绩
        IStageHandler   NewStage   = null;

        ////1
        StageData = new NormalStageData(1, GetSpawnPosition());
        StageData.AddStageData(ENUM_Enemy.Keraha, 1);
        StageScore = new StageScoreEnemyKilledCount(1, this);
        NewStage   = new NormalStageHandler(StageScore, StageData);

        // 设置初始关卡
        m_RootStageHandler = NewStage;

        //指定第一个关卡
        m_NowStageHandler = m_RootStageHandler;

        level = 0;
    }
Ejemplo n.º 2
0
    /// <summary>
    /// 通过传过来的关卡初始化(列表)
    /// </summary>
    /// <param name="info"></param>
    public void InitStage(List <StageInfo> infos)
    {
        #region
        /***********建议读表i***********/
        if (m_RootStageHandler != null)
        {
            return;
        }

        NormalStageData StageData  = null; // 生成的怪物的Enemy
        IStageScore     StageScore = null; // 通关的成绩
        IStageHandler   NewStage   = null;

        ////1
        StageData = new NormalStageData(1, GetSpawnPosition());
        StageData.AddStageData(ENUM_Enemy.Keraha, 1);
        StageScore = new StageScoreEnemyKilledCount(1, this);
        NewStage   = new NormalStageHandler(StageScore, StageData);

        // 设置初始关卡
        m_RootStageHandler = NewStage;

        ////2
        //StageData = new NormalStageData(2, GetSpawnPosition(), AttackPosition);
        //StageData.AddStageData(ENUM_Enemy.Keraha, 3);
        //StageScore = new StageScoreEnemyKilledCount(6, this);
        //NewStage = NewStage.SetNextHandler(new NormalStageHandler(StageScore, StageData));


        ////3
        //StageData = new NormalStageData(3, GetSpawnPosition(), AttackPosition);
        //StageData.AddStageData(ENUM_Enemy.Keraha, 3);
        //StageScore = new StageScoreEnemyKilledCount(9, this);
        //NewStage = NewStage.SetNextHandler(new NormalStageHandler(StageScore, StageData));
        #endregion
    }
Ejemplo n.º 3
0
    // 初始所有關卡
    private void InitializeStageData()
    {
        if (m_RootStageHandler != null)
        {
            return;
        }

        // 參考點
        Vector3 AttackPosition = GetAttackPosition();

        NormalStageData StageData  = null;     // 關卡要產生的Enemy
        IStageScore     StageScore = null;     // 關卡過關資訊
        IStageHandler   NewStage   = null;

        // 第1關
        StageData = new NormalStageData(3f, GetSpawnPosition(), AttackPosition);
        StageData.AddStageData(ENUM_Enemy.Elf, ENUM_Weapon.Gun, 3);
        StageScore = new StageScoreEnemyKilledCount(3, this);
        NewStage   = new NormalStageHandler(StageScore, StageData);

        // 設定為起始關卡
        m_RootStageHandler = NewStage;

        // 第2關
        StageData = new NormalStageData(3f, GetSpawnPosition(), AttackPosition);
        StageData.AddStageData(ENUM_Enemy.Elf, ENUM_Weapon.Rifle, 3);
        StageScore = new StageScoreEnemyKilledCount(6, this);
        NewStage   = NewStage.SetNextHandler(new NormalStageHandler(StageScore, StageData));

        // 第3關
        StageData = new NormalStageData(3f, GetSpawnPosition(), AttackPosition);
        StageData.AddStageData(ENUM_Enemy.Elf, ENUM_Weapon.Rocket, 3);
        StageScore = new StageScoreEnemyKilledCount(9, this);
        NewStage   = NewStage.SetNextHandler(new NormalStageHandler(StageScore, StageData));

        // 第4關
        StageData = new NormalStageData(3f, GetSpawnPosition(), AttackPosition);
        StageData.AddStageData(ENUM_Enemy.Troll, ENUM_Weapon.Gun, 3);
        StageScore = new StageScoreEnemyKilledCount(12, this);
        NewStage   = NewStage.SetNextHandler(new NormalStageHandler(StageScore, StageData));

        // 第5關
        StageData = new NormalStageData(3f, GetSpawnPosition(), AttackPosition);
        StageData.AddStageData(ENUM_Enemy.Troll, ENUM_Weapon.Rifle, 3);
        StageScore = new StageScoreEnemyKilledCount(15, this);
        NewStage   = NewStage.SetNextHandler(new NormalStageHandler(StageScore, StageData));

        // 第5關:Boss關卡

        /*StageData     = new NormalStageData(3f, GetSpawnPosition(), AttackPosition);
         * StageData.AddStageData( ENUM_Enemy.Ogre, ENUM_Weapon.Rocket,3);
         * StageScore   = new StageScoreEnemyKilledCount(13, this);
         * NewStage = NewStage.SetNextHandler( new BossStageHandler( StageScore, StageData) );*/

        // 第6關
        StageData = new NormalStageData(3f, GetSpawnPosition(), AttackPosition);
        StageData.AddStageData(ENUM_Enemy.Troll, ENUM_Weapon.Rocket, 3);
        StageScore = new StageScoreEnemyKilledCount(18, this);
        NewStage   = NewStage.SetNextHandler(new NormalStageHandler(StageScore, StageData));

        // 第7關
        StageData = new NormalStageData(3f, GetSpawnPosition(), AttackPosition);
        StageData.AddStageData(ENUM_Enemy.Ogre, ENUM_Weapon.Gun, 3);
        StageScore = new StageScoreEnemyKilledCount(21, this);
        NewStage   = NewStage.SetNextHandler(new NormalStageHandler(StageScore, StageData));

        // 第8關
        StageData = new NormalStageData(3f, GetSpawnPosition(), AttackPosition);
        StageData.AddStageData(ENUM_Enemy.Ogre, ENUM_Weapon.Rifle, 3);
        StageScore = new StageScoreEnemyKilledCount(24, this);
        NewStage   = NewStage.SetNextHandler(new NormalStageHandler(StageScore, StageData));

        // 第9關
        StageData = new NormalStageData(3f, GetSpawnPosition(), AttackPosition);
        StageData.AddStageData(ENUM_Enemy.Ogre, ENUM_Weapon.Rocket, 3);
        StageScore = new StageScoreEnemyKilledCount(27, this);
        NewStage   = NewStage.SetNextHandler(new NormalStageHandler(StageScore, StageData));

        // 第10關
        StageData = new NormalStageData(3f, GetSpawnPosition(), AttackPosition);
        StageData.AddStageData(ENUM_Enemy.Elf, ENUM_Weapon.Rocket, 3);
        StageData.AddStageData(ENUM_Enemy.Troll, ENUM_Weapon.Rocket, 3);
        StageData.AddStageData(ENUM_Enemy.Ogre, ENUM_Weapon.Rocket, 3);
        StageScore = new StageScoreEnemyKilledCount(30, this);
        NewStage   = NewStage.SetNextHandler(new NormalStageHandler(StageScore, StageData));
    }
Ejemplo n.º 4
0
	// 初始所有關卡
	private void InitializeStageData()
	{
		if( m_RootStageHandler!=null)
			return ;

		// 參考點
		Vector3 AttackPosition = GetAttackPosition();

		NormalStageData StageData = null; // 關卡要產生的Enemy
		IStageScore StageScore = null; // 關卡過關資訊
		IStageHandler NewStage = null;

		// 第1關
		StageData 	= new NormalStageData(3f, GetSpawnPosition(), AttackPosition );
		StageData.AddStageData( ENUM_Enemy.Elf, ENUM_Weapon.Gun, 3); 
		StageScore 	= new StageScoreEnemyKilledCount(3, this);
		NewStage = new NormalStageHandler(StageScore, StageData );

		// 設定為起始關卡
		m_RootStageHandler = NewStage;

		// 第2關
		StageData 	= new NormalStageData(3f, GetSpawnPosition(), AttackPosition);
		StageData.AddStageData( ENUM_Enemy.Elf, ENUM_Weapon.Rifle,3); 
		StageScore 	= new StageScoreEnemyKilledCount(6, this);
		NewStage = NewStage.SetNextHandler( new NormalStageHandler( StageScore, StageData) );

		// 第3關
		StageData 	= new NormalStageData(3f, GetSpawnPosition(), AttackPosition);
		StageData.AddStageData( ENUM_Enemy.Elf, ENUM_Weapon.Rocket,3); 
		StageScore 	= new StageScoreEnemyKilledCount(9, this);
		NewStage = NewStage.SetNextHandler( new NormalStageHandler( StageScore, StageData) );

		// 第4關
		StageData 	= new NormalStageData(3f, GetSpawnPosition(), AttackPosition);
		StageData.AddStageData( ENUM_Enemy.Troll, ENUM_Weapon.Gun,3); 
		StageScore 	= new StageScoreEnemyKilledCount(12, this);
		NewStage = NewStage.SetNextHandler( new NormalStageHandler( StageScore, StageData) );

		// 第5關
		StageData 	= new NormalStageData(3f, GetSpawnPosition(), AttackPosition);
		StageData.AddStageData( ENUM_Enemy.Troll, ENUM_Weapon.Rifle,3); 
		StageScore 	= new StageScoreEnemyKilledCount(15, this);
		NewStage = NewStage.SetNextHandler( new NormalStageHandler( StageScore, StageData) );

		// 第5關:Boss關卡
		/*StageData 	= new NormalStageData(3f, GetSpawnPosition(), AttackPosition);
		StageData.AddStageData( ENUM_Enemy.Ogre, ENUM_Weapon.Rocket,3); 
		StageScore 	= new StageScoreEnemyKilledCount(13, this);
		NewStage = NewStage.SetNextHandler( new BossStageHandler( StageScore, StageData) );*/

		// 第6關
		StageData 	= new NormalStageData(3f, GetSpawnPosition(), AttackPosition);
		StageData.AddStageData( ENUM_Enemy.Troll, ENUM_Weapon.Rocket,3); 
		StageScore 	= new StageScoreEnemyKilledCount(18, this);
		NewStage = NewStage.SetNextHandler( new NormalStageHandler( StageScore, StageData) );

		// 第7關
		StageData 	= new NormalStageData(3f, GetSpawnPosition(), AttackPosition);
		StageData.AddStageData( ENUM_Enemy.Ogre, ENUM_Weapon.Gun,3); 
		StageScore 	= new StageScoreEnemyKilledCount(21, this);
		NewStage = NewStage.SetNextHandler( new NormalStageHandler( StageScore, StageData) );
		
		// 第8關
		StageData 	= new NormalStageData(3f, GetSpawnPosition(), AttackPosition);
		StageData.AddStageData( ENUM_Enemy.Ogre, ENUM_Weapon.Rifle,3); 
		StageScore 	= new StageScoreEnemyKilledCount(24, this);
		NewStage = NewStage.SetNextHandler( new NormalStageHandler( StageScore, StageData) );
		
		// 第9關
		StageData 	= new NormalStageData(3f, GetSpawnPosition(), AttackPosition);
		StageData.AddStageData( ENUM_Enemy.Ogre, ENUM_Weapon.Rocket,3); 
		StageScore 	= new StageScoreEnemyKilledCount(27, this);
		NewStage = NewStage.SetNextHandler( new NormalStageHandler( StageScore, StageData) );

		// 第10關
		StageData 	= new NormalStageData(3f, GetSpawnPosition(), AttackPosition);
		StageData.AddStageData( ENUM_Enemy.Elf, ENUM_Weapon.Rocket,3); 
		StageData.AddStageData( ENUM_Enemy.Troll, ENUM_Weapon.Rocket,3); 
		StageData.AddStageData( ENUM_Enemy.Ogre, ENUM_Weapon.Rocket,3); 
		StageScore 	= new StageScoreEnemyKilledCount(30, this);
		NewStage = NewStage.SetNextHandler( new NormalStageHandler( StageScore, StageData) );
	}