コード例 #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;
    }
コード例 #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
    }
コード例 #3
0
 public BossStageHandler(IStageScore StateScore, IStageData StageData) : base(StateScore, StageData)
 {
 }
コード例 #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));
    }
コード例 #5
0
 // 設定分數及關卡資料
 public NormalStageHandler(IStageScore StateScore, IStageData StageData)
 {
     m_StageScore = StateScore;
     m_StatgeData = StageData;
 }
コード例 #6
0
	// 設定分數及關卡資料
	public NormalStageHandler(IStageScore StateScore, IStageData StageData )
	{
		m_StageScore  = StateScore;
		m_StatgeData  = StageData;
	}
コード例 #7
0
	public BossStageHandler(IStageScore StateScore, IStageData StageData ):base(StateScore,StageData) 
	{}
コード例 #8
0
 protected NormalStageHandler(IStageScore statgeScore, IStageData stageData)
 {
     m_StageData  = stageData;
     m_StageScore = statgeScore;
 }