Example #1
0
        internal static void AddQuestEntities(HelicopterDetail questDetail, DataSet dataSet, List <Fox2EntityClass> entityList)
        {
            List <Helicopter> helis = questDetail.helicopters;

            if (helis.Count() > 1) // reinforceHeli does not need fox2 entries
            {
                foreach (Helicopter heli in helis)
                {
                    if (heli.ID == 0)
                    {
                        continue;
                    }

                    GameObjectLocator        heliLocator          = new GameObjectLocator(heli.GetObjectName(), dataSet, "TppEnemyHeli");
                    Transform                heliTransform        = new Transform(heliLocator, new Core.Classes.InfiniteHeaven.Position());
                    TppHeli2LocatorParameter heliLocatorParameter = new TppHeli2LocatorParameter(heliLocator);

                    heliLocator.SetTransform(heliTransform);
                    heliLocator.SetParameter(heliLocatorParameter);

                    entityList.Add(heliLocator);
                    entityList.Add(heliTransform);
                    entityList.Add(heliLocatorParameter);
                }
            }
        }
Example #2
0
 internal static void GetDefinition(HelicopterDetail questDetail, DefinitionLua definitionLua)
 {
     if (questDetail.helicopters.Any(helicopter => helicopter.isSpawn))
     {
         definitionLua.AddDefinition($"hasEnemyHeli = {(questDetail.helicopters.Any(helicopter => helicopter.isSpawn) ? "true" : "false")}");
     }
 }
Example #3
0
        private static Table BuildHeliList(HelicopterDetail questDetail)
        {
            Table heliList = new Table("heliList");

            foreach (Helicopter heli in questDetail.helicopters)
            {
                if (!heli.isSpawn)
                {
                    continue;
                }

                string DRouteString;
                uint   route;
                if (uint.TryParse(heli.dRoute, out route)) // no quotations if the route is hashed
                {
                    DRouteString = heli.dRoute;
                }
                else
                {
                    DRouteString = $@"""{heli.dRoute}""";
                }

                string CRouteString;
                if (uint.TryParse(heli.cRoute, out route))
                {
                    CRouteString = heli.cRoute;
                }
                else
                {
                    CRouteString = $@"""{heli.cRoute}""";
                }

                string dRouteCommand = $@"{{id = ""SetSneakRoute"", route = {DRouteString}}}";
                string cRouteCommand = $@"{{id = ""SetCautionRoute"", route = {CRouteString}}}";

                heliList.Add($@"
        {{
            heliName = ""{heli.GetObjectName()}"",
            routeName = {DRouteString},
            commands = {{{dRouteCommand},{cRouteCommand}}},{((heli.heliClass == "DEFAULT") ? "" : $@"
            coloringType = TppDefine.ENEMY_HELI_COLORING_TYPE.{heli.heliClass},")}
        }}");
Example #4
0
 internal static void GetMain(HelicopterDetail questDetail, MainLua mainLua)
 {
     if (questDetail.helicopters.Any(helicopter => helicopter.isSpawn))
     {
         mainLua.AddToQuestTable(BuildHeliList(questDetail));
         mainLua.AddToAuxiliary(setHelicopterAttributes);
         if (questDetail.helicopters.Any(helicopter => helicopter.isTarget))
         {
             mainLua.AddToQStep_Main(QStep_MainCommonMessages.mechaNoCaptureTargetMessages);
             CheckQuestGenericEnemy helicopterCheck = new CheckQuestGenericEnemy(mainLua);
             foreach (Helicopter heli in questDetail.helicopters)
             {
                 if (heli.isTarget)
                 {
                     mainLua.AddToTargetList(heli.GetObjectName());
                 }
             }
         }
     }
 }
Example #5
0
 public HelicopterManager(HelicopterDetail detail) : base(detail, visualizer)
 {
 }