internal static void AddQuestEntities(UAVDetail detail, DataSet dataSet, List <Fox2EntityClass> entityList) { List <UAV> UAVs = detail.UAVs; if (UAVs.Count() > 0) { GameObject tppUAV = new GameObject("UavGameObject", dataSet, "TppUav", UAVs.Count(), UAVs.Count()); // realized count is apparently fova? TppUavParameter tppUAVParameter = new TppUavParameter(tppUAV); tppUAV.SetParameter(tppUAVParameter); entityList.Add(tppUAV); entityList.Add(tppUAVParameter); foreach (UAV UAV in UAVs) { GameObjectLocator UAVLocator = new GameObjectLocator(UAV.GetObjectName(), dataSet, "TppUav"); Transform UAVTransform = new Transform(UAVLocator, UAV.position); TppUavLocatorParameter UAVLocatorParameter = new TppUavLocatorParameter(UAVLocator); UAVLocator.SetTransform(UAVTransform); UAVLocator.SetParameter(UAVLocatorParameter); entityList.Add(UAVLocator); entityList.Add(UAVTransform); entityList.Add(UAVLocatorParameter); } } }
internal static void GetUAVAssets(UAVDetail questDetail, FileAssets fileAssets) { if (questDetail.UAVs.Count > 0) { fileAssets.AddFPKFolder(Path.Combine(UAVAssetsPath, "FPK_Files")); fileAssets.AddFPKDFolder(Path.Combine(UAVAssetsPath, "FPKD_Files")); } }
internal static void GetMain(UAVDetail detail, MainLua mainLua) { if (detail.UAVs.Count > 0) { mainLua.AddToQuestTable(BuildUAVList(detail.UAVs)); mainLua.AddToQStep_Main(QStep_MainCommonMessages.mechaNoCaptureTargetMessages); mainLua.AddToQStep_Start_OnEnter(setupUAV); mainLua.AddToAuxiliary(setupUAV); if (detail.UAVs.Any(uav => uav.isTarget)) { CheckQuestGenericEnemy checkUAV = new CheckQuestGenericEnemy(mainLua); foreach (UAV drone in detail.UAVs) { if (drone.isTarget) { mainLua.AddToTargetList(drone.GetObjectName()); } } } } }