// 建立Soldier(Generice版) public ISoldier CreateSoldier <T>(ENUM_Weapon emWeapon, int Lv, Vector3 SpawnPosition) where T : ISoldier, new() { // 产生Soldier的参数 SoldierBuildParam SoldierParam = new SoldierBuildParam(); // 产生对应的T类别 SoldierParam.NewCharacter = new T(); if (SoldierParam.NewCharacter == null) { return(null); } // 设定共用参数 SoldierParam.emWeapon = emWeapon; SoldierParam.SpawnPosition = SpawnPosition; SoldierParam.Lv = Lv; // 产生对应的Builder及设定参数 SoldierBuilder theSoldierBuilder = new SoldierBuilder(); theSoldierBuilder.SetBuildParam(SoldierParam); // 产生 m_BuilderDirector.Construct(theSoldierBuilder); return(SoldierParam.NewCharacter as ISoldier); }
/// <summary> /// 创建角色 /// </summary> /// <param name="pos"></param> /// <returns></returns> public override ISolider CreatSolider(Vector3 pos) { if (PBDG_GameMain.Instance.m_player.GetMoney() < 100) { return(null); } else { PBDG_GameMain.Instance.m_player.SetMoeny(100); } SoldierBuildParam soldierBuildParam = new SoldierBuildParam(); soldierBuildParam.NewBuding = new Solider(); soldierBuildParam.AssetName = "Rookie"; soldierBuildParam.Position = pos; soldierBuildParam.AttrID = 1; SoldierBuilder soldierBuilder = new SoldierBuilder(); soldierBuilder.SetBuildParam(soldierBuildParam); m_builderSystem.Construct(soldierBuilder); return(soldierBuildParam.NewBuding as ISolider); }
// 建立Soldier public override ISoldier CreateSoldier(ENUM_Soldier emSoldier, ENUM_Weapon emWeapon, int Lv, Vector3 SpawnPosition) { // 產生Soldier的參數 SoldierBuildParam SoldierParam = new SoldierBuildParam(); // 產生對應的Character switch (emSoldier) { case ENUM_Soldier.Rookie: SoldierParam.NewCharacter = new SoldierRookie(); break; case ENUM_Soldier.Sergeant: SoldierParam.NewCharacter = new SoldierSergeant(); break; case ENUM_Soldier.Captain: SoldierParam.NewCharacter = new SoldierCaptain(); break; default: Debug.LogWarning("CreateSoldier:無法建立[" + emSoldier + "]"); return(null); } if (SoldierParam.NewCharacter == null) { return(null); } // 設定共用參數 SoldierParam.emWeapon = emWeapon; SoldierParam.SpawnPosition = SpawnPosition; SoldierParam.Lv = Lv; // 產生對應的Builder及設定參數 SoldierBuilder theSoldierBuilder = new SoldierBuilder(); theSoldierBuilder.SetBuildParam(SoldierParam); // 產生 m_BuilderDirector.Construct(theSoldierBuilder); return(SoldierParam.NewCharacter as ISoldier); }
public override ISoldier CreateSoldier(ENUM_Soldier enumSoldier, ENUM_Weapon enumWeapon, int Level, Vector3 SpawnPosition, Vector3 AttackPosition) { // 产生Soldier的参数 SoldierBuildParam SoldierParam = new SoldierBuildParam(); switch (enumSoldier) { case ENUM_Soldier.Rookie: SoldierParam.NewCharacter = new SoldierRookie(); break; case ENUM_Soldier.Sergeant: SoldierParam.NewCharacter = new SoldierSergeant(); break; case ENUM_Soldier.Captain: SoldierParam.NewCharacter = new SoldierCaptain(); break; default: Debug.LogWarning("CreateSoldier:无法产生[" + enumSoldier + "]"); return(null); } if (SoldierParam.NewCharacter == null) { return(null); } // 设置共享参数 SoldierParam.emWeapon = enumWeapon; SoldierParam.SpawnPosition = SpawnPosition; SoldierParam.Lv = Level; // 产生对应的Builder及设置参数 SoldierBuilder theSoldierBuilder = new SoldierBuilder(); theSoldierBuilder.SetBuildParam(SoldierParam); // 产生 m_BuilderDirector.Construct(theSoldierBuilder); return(SoldierParam.NewCharacter as ISoldier); }
// 建立Soldier public override Soldier CreateSoldier(CardData cardData, Vector3 SpawnPosition) { // 产生Soldier的参数 SoldierBuildParam SoldierParam = new SoldierBuildParam(); // 设定参数 SoldierParam.NewCharacter = new Soldier(); SoldierParam.SpawnPosition = SpawnPosition; SoldierParam.cardData = cardData; // 产生对应的Builder及设定参数 SoldierBuilder theSoldierBuilder = new SoldierBuilder(); theSoldierBuilder.SetBuildParam(SoldierParam); // 参数 m_BuilderDirector.Construct(theSoldierBuilder); return(SoldierParam.NewCharacter); }
public override ISoldier CreateSoldier(Player player, Vector3 SpawnPosition) { SoldierBuildParam SoldierParam = new SoldierBuildParam(); switch (player.roleType) { case ENUM_Role.鬼剑士: SoldierParam.NewCharacter = new SoldierGJS(); break; case ENUM_Role.黑暗武士: SoldierParam.NewCharacter = new SoldierHAWS(); break; default: Debug.LogWarning("无法创建[" + player.roleType.ToString() + "]"); return(null); } if (SoldierParam.NewCharacter == null) { return(null); } SoldierParam.emWeapon = player.roleWeapon; SoldierParam.SpawnPosition = SpawnPosition; SoldierParam.Lv = player.level; SoldierParam.AssetName = player.model; SoldierParam.IconSpriteName = player.icon; SoldierBuilder theSoldierBuilder = new SoldierBuilder(); theSoldierBuilder.SetBuildParam(SoldierParam); m_BuilderDirector.Construct(theSoldierBuilder); return(SoldierParam.NewCharacter as ISoldier); }
// 建立Soldier public override ISoldier CreateSoldier( ENUM_Soldier emSoldier, ENUM_Weapon emWeapon, int Lv, Vector3 SpawnPosition) { // 產生Soldier的參數 SoldierBuildParam SoldierParam = new SoldierBuildParam(); // 產生對應的Character switch( emSoldier) { case ENUM_Soldier.Rookie: SoldierParam.NewCharacter = new SoldierRookie(); break; case ENUM_Soldier.Sergeant: SoldierParam.NewCharacter = new SoldierSergeant(); break; case ENUM_Soldier.Captain: SoldierParam.NewCharacter = new SoldierCaptain(); break; default: Debug.LogWarning("CreateSoldier:無法建立[" + emSoldier + "]"); return null; } if( SoldierParam.NewCharacter == null) return null; // 設定共用參數 SoldierParam.emWeapon = emWeapon; SoldierParam.SpawnPosition = SpawnPosition; SoldierParam.Lv = Lv; // 產生對應的Builder及設定參數 SoldierBuilder theSoldierBuilder = new SoldierBuilder(); theSoldierBuilder.SetBuildParam( SoldierParam ); // 產生 m_BuilderDirector.Construct( theSoldierBuilder ); return SoldierParam.NewCharacter as ISoldier; }
public override ISoldier createSoldier(ENUM_Soldier emSoldier, ENUM_Weapon emWeapon, Vector3 spawnPosition) { SoldierBuildParam buildParam = new SoldierBuildParam(); switch (emSoldier) { case ENUM_Soldier.Assault: buildParam.character = new SoldierAssault(); break; default: Debug.Log("不存在该Soldier类型"); return(null); } buildParam.weapon = emWeapon; buildParam.spawnPosition = spawnPosition; SoldierBuilder soldierBuilder = new SoldierBuilder(); soldierBuilder.setBuildParam(buildParam); m_characterBuilderSystem.construct(soldierBuilder); return(buildParam.character as ISoldier); }
public override void SetBuildParam(ICharacterBuildParam theParam) { m_BuildParam = theParam as SoldierBuildParam; }
public override void setBuildParam(ICharacterBuildParam characterBuildParam) { m_soldierBuildParam = characterBuildParam as SoldierBuildParam; }
public override void SetBuildParam(ICharacterBuildParam theParam) { m_BuildParam = theParam as SoldierBuildParam; //monster = Deserialization.Instance.MonsterDatas[m_BuildParam.cardData.objId]; }
public override void SetBuildParam(IBuildingsParam buildingsParam) { m_buildParam = buildingsParam as SoldierBuildParam; }
public override void SetBuildParam( ICharacterBuildParam theParam ) { m_BuildParam = theParam as SoldierBuildParam; }