Example #1
0
    public override void Load(Stream fs)
    {
        currentStep = (FoundationScenarioStep)fs.ReadByte();
        if (currentStep >= FoundationScenarioStep.AnchorBuilding)
        {
            AssignAnchor(colony.GetBuilding(Structure.ANCHOR_BASEMENT_ID) as AnchorBasement);
        }
        //
        if (fs.ReadByte() == 1)
        {
            if (hexBuilder == null)
            {
                SetHexBuilder();
            }
            hexBuilder.Load(fs);
        }
        //
        int x = fs.ReadByte();

        if (x != 0)
        {
            FoundationScenarioStep fss = (FoundationScenarioStep)fs.ReadByte();
            subscenario = FDR_Subscenario.GetSubscenario(fss, this);
            if (subscenario != null)
            {
                subscenario.StartScenario();
                subscenario.Load(fs);
            }
        }
        //
        if (fs.ReadByte() == 1)
        {
            PrepareSettling();
        }
    }
Example #2
0
        public string[] GetQuestData(FoundationScenarioStep step)
        {
            switch (step)
            {
            case FoundationScenarioStep.AnchorBuilding:
            {
                return(new string[3] {
                        routeName,
                        lines[4] + ' ' + Localization.GetStructureName(Structure.ANCHOR_BASEMENT_ID) + ' ' + lines[5],
                        Localization.GetStructureName(Structure.ANCHOR_BASEMENT_ID)
                    });
            }

            case FoundationScenarioStep.AnchorStart:
            {
                return(new string[3]
                    {
                        routeName,
                        lines[8] + ' ' + ANCHOR_LAUNCH_ENERGYCOST.ToString() + lines[9] + Localization.GetWord(LocalizedWord.Anchor_verb) + lines[10],
                        Localization.GetPhrase(LocalizedPhrase.EnergyStored)
                    });
            }

            case FoundationScenarioStep.InnerRingBuilding:
            {
                return(new string[3]
                    {
                        routeName,
                        lines[13],
                        lines[14]
                    });
            }

            case FoundationScenarioStep.OuterRingBuilding:
            {
                return(new string[3]
                    {
                        routeName,
                        lines[20],
                        lines[14]
                    });
            }

            case FoundationScenarioStep.Finish:
            {
                return(new string[5]
                    {
                        routeName,
                        finishQuestText + '\n' + lines[62],
                        colonistsLabel,
                        islandStatsLabel,
                        lowerlandStatsLabel
                    });
            }

            default: return(null);
            }
        }
Example #3
0
        public string GetAnnounceTitle(FoundationScenarioStep step, byte subIndex)
        {
            switch (step)
            {
            case FoundationScenarioStep.Begin:
            {
                switch (subIndex)
                {
                case WINDOW_INFO_0: return(lines[1]);

                case WINDOW_INFO_1: return(lines[2] + ' ' + Localization.GetStructureName(Structure.ANCHOR_BASEMENT_ID) + lines[3]);
                }
                break;
            }

            case FoundationScenarioStep.AnchorStart:
            {
                switch (subIndex)
                {
                case WINDOW_INFO_0: return(lines[6] + ' ' + lines[8] + ' ' + ANCHOR_LAUNCH_ENERGYCOST / 1000 + ' ' + lines[7]);

                case WINDOW_INFO_1: return(lines[15]);
                }
                break;
            }

            case FoundationScenarioStep.InnerRingBuilding:
            {
                switch (subIndex)
                {
                case WINDOW_INFO_0: return(lines[11]);

                case WINDOW_INFO_1: return(lines[16]);
                }
                break;
            }

            case FoundationScenarioStep.PierPreparing:
            {
                switch (subIndex)
                {
                case WINDOW_INFO_0: return(lines[17]);

                case WINDOW_INFO_1: return(lines[18]);
                }
                break;
            }

            case FoundationScenarioStep.OuterRingBuilding:
            {
                return(lines[19]);
            }

            case FoundationScenarioStep.Finish: return(finishQuestText);
            }
            return(null);
        }
    public override void Load(FileStream fs)
    {
        currentStep = (FoundationScenarioStep)fs.ReadByte();
        if (currentStep > FoundationScenarioStep.AnchorBuilding)
        {
            AssignAnchor(colony.GetBuilding(Structure.ANCHOR_BASEMENT_ID) as AnchorBasement);
        }
        int x = fs.ReadByte();

        if (x != 0)
        {
            StartSubscenario();
            subscenario.Load(fs);
        }
    }
Example #5
0
        public static FDR_Subscenario GetSubscenario(FoundationScenarioStep step, FoundationRouteScenario baseScenario)
        {
            switch (step)
            {
            case FoundationScenarioStep.Finish: return(new FDR_Finish(baseScenario));

            case FoundationScenarioStep.OuterRingBuilding: return(new FDR_OuterRingBuilding(baseScenario));

            case FoundationScenarioStep.PierPreparing: return(new FDR_PierPreparing(baseScenario));

            case FoundationScenarioStep.InnerRingBuilding: return(new FDR_InnerRingBuilding(baseScenario));

            case FoundationScenarioStep.AnchorStart: return(new FDR_AnchorStart(baseScenario));

            case FoundationScenarioStep.AnchorBuilding: return(new FDR_AnchorBuilding(baseScenario));

            case FoundationScenarioStep.Begin: return(new FDR_Begin(baseScenario));

            default: return(null);
            }
        }
Example #6
0
 public void AnchorPoweredUp()
 {
     scenarioQuest?.MakeQuestCompleted();
     currentStep = FoundationScenarioStep.InnerRingBuilding;
     StartSubscenario();
 }
Example #7
0
 public override void StartScenario()
 {
     PrepareUI();
     currentStep = FoundationScenarioStep.Begin;
     StartSubscenario();
 }