// 更新
    public override void Update()
    {
        if (m_StageData.Count == 0)
        {
            return;
        }

        // 是否可以产生
        m_CoolDown -= Time.deltaTime;
        if (m_CoolDown > 0)
        {
            return;
        }
        m_CoolDown = m_MaxCoolDown;

        // 取得上场的角色
        StageData theNewEnemy = GetEnemy();

        if (theNewEnemy == null)
        {
            return;
        }

        // 一次产生一个单位
        ICharacterFactory Factory = PBDFactory.GetCharacterFactory();

        Factory.CreateEnemy(theNewEnemy.emEnemy, theNewEnemy.emWeapon, m_SpawnPosition, m_AttackPosition);
    }
Пример #2
0
    public override void Execute()
    {
        // 先产生Enemy
        ICharacterFactory Factory  = PBDFactory.GetCharacterFactory();
        IEnemy            theEnemy = Factory.CreateEnemy(m_emEnemy, ENUM_Weapon.Gun, m_Position, Vector3.zero);

        // 再建立俘兵(轉接器)
        SoldierCaptive NewSoldier = new SoldierCaptive(theEnemy);

        // 移除Enemy
        m_PBDGame.RemoveEnemy(theEnemy);

        // 加入Soldier
        m_PBDGame.AddSoldier(NewSoldier);
    }
    // Update is called once per frame
    void UnitTest_CharacterCreate()
    {
        ICharacterFactory Factory = PBDFactory.GetCharacterFactory();

        // 建立Soldier
        ISoldier theSoldier = Factory.CreateSoldier(ENUM_Soldier.Rookie, ENUM_Weapon.Gun, 1, new Vector3(0, 0, 0));

        // 建立Enemy
        IEnemy theEnemy = Factory.CreateEnemy(ENUM_Enemy.Elf, ENUM_Weapon.Rocket, new Vector3(0, 0, 0), new Vector3(100, 0, 0));

        // 建立俘兵
        ISoldier theCaptive = new SoldierCaptive(theEnemy);

        // Soldier打Enemy
        //theSoldier.Attack( theEnemy );

        // Enemy打Soldier
        //theEnemy.Attack( theSoldier );
    }
Пример #4
0
    /// <summary>
    /// 更新
    /// </summary>
    public override void Update()
    {
        if (m_StageData.Count == 0)
        {
            return;
        }


        // 取得上場的角色
        StageData theNewEnemy = GetEnemy();

        if (theNewEnemy == null)
        {
            return;
        }

        // 工厂创建并组装好怪物
        ICharacterFactory Factory = GameFactory.GetCharacterFactory();

        Factory.CreateEnemy(theNewEnemy.emEnemy, m_SpawnPosition);
    }
    // Soldier能力
    void UnitTest_SoldierValue()
    {
        ICharacterFactory Factory = PBDFactory.GetCharacterFactory();

        // 建立Soldier
        ISoldier theSoldier = Factory.CreateSoldier(ENUM_Soldier.Rookie, ENUM_Weapon.Gun, 1, new Vector3(0, 0, 0));

        // 加上前輟能力
        IAttrFactory ValueFactory = PBDFactory.GetAttrFactory();
        SoldierAttr  PreAttr      = ValueFactory.GetEliteSoldierAttr(ENUM_AttrDecorator.Prefix, 11, theSoldier.GetSoldierValue());

        theSoldier.SetCharacterAttr(PreAttr);

        // 加上後輟能力
        SoldierAttr SufValue = ValueFactory.GetEliteSoldierAttr(ENUM_AttrDecorator.Suffix, 21, theSoldier.GetSoldierValue());

        theSoldier.SetCharacterAttr(SufValue);

        // 建立Enemy
        IEnemy theEnemy = Factory.CreateEnemy(ENUM_Enemy.Elf, ENUM_Weapon.Rocket, new Vector3(0, 0, 0), new Vector3(100, 0, 0));

        // 建立俘兵
        ISoldier theCaptive = new SoldierCaptive(theEnemy);

        // 加上前輟能力
        PreAttr = ValueFactory.GetEliteSoldierAttr(ENUM_AttrDecorator.Prefix, 11, theCaptive.GetSoldierValue());
        theCaptive.SetCharacterAttr(PreAttr);

        // 加上後輟能力
        SufValue = ValueFactory.GetEliteSoldierAttr(ENUM_AttrDecorator.Suffix, 21, theCaptive.GetSoldierValue());
        theCaptive.SetCharacterAttr(SufValue);

        // Soldier打Enemy
        //theSoldier.Attack( theEnemy );

        // Enemy打Soldier
        //theEnemy.Attack( theSoldier );
    }