47 lines
1.5 KiB
C#
47 lines
1.5 KiB
C#
using Gameplay.Building.Data;
|
|
using Gameplay.Building.Impl;
|
|
namespace Gameplay.Building
|
|
{
|
|
public static class UnitBuildFactory
|
|
{
|
|
|
|
public static UnitBuild CreateBuild(BuildConfigData configData, uint uId, int troopId)
|
|
{
|
|
UnitBuild unitBuild = null;
|
|
switch (configData.buildType)
|
|
{
|
|
case EFightBuildType.Wall:
|
|
var wall = new BuildWall(uId, troopId);
|
|
unitBuild = wall;
|
|
break;
|
|
case EFightBuildType.Trap:
|
|
var trap = new BuildTrap(uId, troopId);
|
|
unitBuild = trap;
|
|
break;
|
|
case EFightBuildType.Pillbox:
|
|
var pillBox = new BuildPillBox(uId, troopId);
|
|
unitBuild = pillBox;
|
|
break;
|
|
case EFightBuildType.Mine:
|
|
var mine = new BuildMine(uId, troopId);
|
|
unitBuild = mine;
|
|
break;
|
|
case EFightBuildType.WatchTower:
|
|
var watchTower = new BuildWatchTower(uId, troopId);
|
|
unitBuild = watchTower;
|
|
break;
|
|
}
|
|
if (unitBuild != null)
|
|
{
|
|
unitBuild.InitConfig(configData);
|
|
}
|
|
else
|
|
{
|
|
DebugUtil.LogError("暂未实现的建筑类型:" + configData.buildType);
|
|
}
|
|
return unitBuild;
|
|
}
|
|
|
|
}
|
|
}
|