public override void Execute() { IEnemy enemy = null; switch (mEnemyType) { case EnemyType.Elf: enemy = FactoryManager.enemyFactory.CreateCharacter <EnemyEif>(mWeaponType, mPosition, 1) as IEnemy; break; case EnemyType.Ogre: enemy = FactoryManager.enemyFactory.CreateCharacter <EnemyOgre>(mWeaponType, mPosition, 1) as IEnemy; break; case EnemyType.Troll: enemy = FactoryManager.enemyFactory.CreateCharacter <EnemyTroll>(mWeaponType, mPosition, 1) as IEnemy; break; default: Debug.LogError("无法执行命令,无法根据EnemyType:" + mEnemyType + "创建俘兵"); return; } //将生成的俘兵从敌人list中移除 并加入士兵list GameFacade.Instance.RemoveEnemy(enemy); SoldierCaptive captive = new SoldierCaptive(enemy); GameFacade.Instance.AddSoldier(captive); }
public override void Excute() { IEnemy enemy = null; switch (mEnemyType) { case EnemyType.Elf: enemy = FactoryManager.EnemyFactory.CreateCharacter <EnemyElf>(mWeaponType, mPos, mLv) as IEnemy; break; case EnemyType.Ogre: enemy = FactoryManager.EnemyFactory.CreateCharacter <EnemyOgre>(mWeaponType, mPos, mLv) as IEnemy; break; case EnemyType.Troll: enemy = FactoryManager.EnemyFactory.CreateCharacter <EnemyTroll>(mWeaponType, mPos, mLv) as IEnemy; break; default: break; } GameFacade.Instance.removeEnemy(enemy); SoldierCaptive captive = new SoldierCaptive(enemy); GameFacade.Instance.addSoldier(captive); }
public override void Execute() { IEnemy enemy = null; switch (mEnemyType) { case EnemyType.Elf: enemy = FactoryManager.enemyFactory.CreateCharacter <EnemyElf>(mWeaponType, mPosition) as IEnemy; break; case EnemyType.Ogre: enemy = FactoryManager.enemyFactory.CreateCharacter <EnemyElf>(mWeaponType, mPosition) as IEnemy; break; case EnemyType.Troll: enemy = FactoryManager.enemyFactory.CreateCharacter <EnemyElf>(mWeaponType, mPosition) as IEnemy; break; default: Debug.LogError("无法创建俘兵:" + mEnemyType); return; } GameFacade.Insance.RemoveEnemy(enemy); SoldierCaptive captive = new SoldierCaptive(enemy); GameFacade.Insance.AddSoldier(captive); }
public override void Excute() { IEnemy enemy = null; switch (mEnemyType) { case EnemyType.Elf: enemy = FactoryManager.enemyFactory.CreateCharacter <EnemyElf>(mWeaponType, mPosition, mLv) as IEnemy; break; case EnemyType.Ogre: enemy = FactoryManager.enemyFactory.CreateCharacter <EnemyOgre>(mWeaponType, mPosition, mLv) as IEnemy; break; case EnemyType.Troll: enemy = FactoryManager.enemyFactory.CreateCharacter <EnemyTroll>(mWeaponType, mPosition, mLv) as IEnemy; break; default: Debug.LogError("无法创建EnemyType:" + mEnemyType + "的敌人"); break; } //角色被创建时会自动被加入到角色系统的敌人阵营,所以需要移除 GameFacade.Instance.RemoveEnemy(enemy); SoldierCaptive captive = new SoldierCaptive(enemy); GameFacade.Instance.AddSoldier(captive); }
public override void Execute() { Enemy enemy = FactoryManger.EnemyFactory.CreatCharacter(enemyType, weaponType, spawnPos) as Enemy; //创建俘兵 GameFacade.Instance.CharacterSystem.RemoveEnemy(enemy); //从敌人list中移除 SoldierCaptive captive = new SoldierCaptive(enemy); //创建适配器 GameFacade.Instance.CharacterSystem.AddSoldier(captive); //加入到战士List }
public override void Execute() { IEnemy enemy = null; IWeapon weapon = null; switch (mWeaponType) { case WeaponType.Gun: weapon = new WeaponGun(); break; case WeaponType.Rifle: weapon = new WeaponRifle(); break; case WeaponType.Rocket: weapon = new WeaponRocket(); break; default: Debug.LogError("无法创建武器类型:" + mWeaponType); break; } switch (mEnemyType) { case EnemyType.Elf: enemy = FactoryManager.GetEnemyFactory.CreatCharacter <EnemyElf>(mWeaponType, weapon, mSpawnPostion) as IEnemy; break; case EnemyType.Ogre: enemy = FactoryManager.GetEnemyFactory.CreatCharacter <EnemyOgre>(mWeaponType, weapon, mSpawnPostion) as IEnemy; break; case EnemyType.Troll: enemy = FactoryManager.GetEnemyFactory.CreatCharacter <EnemyTroll>(mWeaponType, weapon, mSpawnPostion) as IEnemy; break; default: Debug.LogError("无法创建敌人类型:" + mEnemyType); break; } GameFacade.Instance.RemoveEnemy(enemy); //从敌人阵营里移除 SoldierCaptive captive = new SoldierCaptive(enemy); //适配为俘兵 GameFacade.Instance.AddSoldier(captive); //加入战士阵营 }
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); }
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 ); }
public ICharacter CreateCharacter(string characterName) { ISoldier soldier = null; string assetName = ""; switch (characterName) { case "Captain": assetName = "Captain"; break; case "Captive": assetName = "Captive"; break; case "Rookie": assetName = "Rookie"; break; case "Sergeant": assetName = "Sergeant"; break; } IAssetsFactory resoureLoadFactory = new ResouresLoadFactory(); GameObject GO = resoureLoadFactory.LoadSoldier(assetName); switch (characterName) { case "Captain": soldier = new SoldierCaptain(); break; case "Captive": soldier = new SoldierCaptive(); break; case "Rookie": soldier = new SoldierRookie(); break; case "Sergeant": soldier = new SoldierSergeant(); break; } return(soldier); }
// 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 ); }
// 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 ); }
// 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 ); }
// 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 ); }
public override void VisitSoldierCaptive (SoldierCaptive Captive) { base.VisitSoldierCaptive(Captive); SoldierCaptiveCount++; }
public virtual void VisitSoldierCaptive(SoldierCaptive Captive) { VisitSoldier(Captive); }
public override void VisitSoldierCaptive(SoldierCaptive Captive) { base.VisitSoldierCaptive(Captive); SoldierCaptiveCount++; }
public virtual void VisitSoldierCaptive(SoldierCaptive Captive) { VisitSoldier( Captive ); }