예제 #1
0
    public override void DoPostConfigureComplete(GameObject go)
    {
        SolidBooster solidBooster = go.AddOrGet <SolidBooster>();

        solidBooster.mainEngine = false;
        solidBooster.efficiency = ROCKETRY.ENGINE_EFFICIENCY.BOOSTER;
        solidBooster.fuelTag    = ElementLoader.FindElementByHash(SimHashes.Iron).tag;
        Storage storage = go.AddOrGet <Storage>();

        storage.SetDefaultStoredItemModifiers(Storage.StandardSealedStorage);
        storage.capacityKg       = 800f;
        solidBooster.fuelStorage = storage;
        ManualDeliveryKG manualDeliveryKG = go.AddComponent <ManualDeliveryKG>();

        manualDeliveryKG.SetStorage(storage);
        manualDeliveryKG.requestedItemTag = solidBooster.fuelTag;
        manualDeliveryKG.refillMass       = storage.capacityKg / 2f;
        manualDeliveryKG.capacity         = storage.capacityKg / 2f;
        manualDeliveryKG.choreTypeIDHash  = Db.Get().ChoreTypes.MachineFetch.IdHash;
        ManualDeliveryKG manualDeliveryKG2 = go.AddComponent <ManualDeliveryKG>();

        manualDeliveryKG2.SetStorage(storage);
        manualDeliveryKG2.requestedItemTag = ElementLoader.FindElementByHash(SimHashes.OxyRock).tag;
        manualDeliveryKG2.refillMass       = storage.capacityKg / 2f;
        manualDeliveryKG2.capacity         = storage.capacityKg / 2f;
        manualDeliveryKG2.choreTypeIDHash  = Db.Get().ChoreTypes.MachineFetch.IdHash;
        RocketModule rocketModule = go.AddOrGet <RocketModule>();

        rocketModule.SetBGKAnim(Assets.GetAnim("rocket_solid_booster_bg_kanim"));
        EntityTemplates.ExtendBuildingToRocketModule(go);
    }
    public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
    {
        BuildingConfigManager.Instance.IgnoreDefaultKComponent(typeof(RequiresFoundation), prefab_tag);
        go.AddOrGet <LoopingSounds>();
        go.GetComponent <KPrefabID>().AddTag(RoomConstraints.ConstraintTags.IndustrialMachinery, false);
        RocketModule rocketModule = go.AddOrGet <RocketModule>();

        rocketModule.SetBGKAnim(Assets.GetAnim("rocket_command_module_bg_kanim"));
        LaunchConditionManager launchConditionManager = go.AddOrGet <LaunchConditionManager>();

        launchConditionManager.triggerPort = "TriggerLaunch";
        launchConditionManager.statusPort  = "LaunchReady";
        Storage storage = go.AddOrGet <Storage>();

        storage.SetDefaultStoredItemModifiers(new List <Storage.StoredItemModifier>
        {
            Storage.StoredItemModifier.Hide,
            Storage.StoredItemModifier.Seal,
            Storage.StoredItemModifier.Insulate
        });
        go.AddOrGet <CommandModule>();
        go.AddOrGet <CommandModuleWorkable>();
        go.AddOrGet <MinionStorage>();
        go.AddOrGet <ArtifactFinder>();
        go.AddOrGet <LaunchableRocket>();
    }
    public override void DoPostConfigureComplete(GameObject go)
    {
        Storage storage = go.AddOrGet <Storage>();

        storage.capacityKg       = 2700f;
        storage.allowSublimation = false;
        storage.SetDefaultStoredItemModifiers(new List <Storage.StoredItemModifier>
        {
            Storage.StoredItemModifier.Hide,
            Storage.StoredItemModifier.Seal,
            Storage.StoredItemModifier.Insulate
        });
        OxidizerTank oxidizerTank = go.AddOrGet <OxidizerTank>();

        oxidizerTank.storage = storage;
        go.AddOrGet <DropToUserCapacity>();
        ConduitConsumer conduitConsumer = go.AddOrGet <ConduitConsumer>();

        conduitConsumer.conduitType          = ConduitType.Liquid;
        conduitConsumer.consumptionRate      = 10f;
        conduitConsumer.capacityTag          = ElementLoader.FindElementByHash(SimHashes.LiquidOxygen).tag;
        conduitConsumer.capacityKG           = storage.capacityKg;
        conduitConsumer.forceAlwaysSatisfied = true;
        conduitConsumer.wrongElementResult   = ConduitConsumer.WrongElementResult.Dump;
        RocketModule rocketModule = go.AddOrGet <RocketModule>();

        rocketModule.SetBGKAnim(Assets.GetAnim("rocket_oxidizer_tank_liquid_bg_kanim"));
        EntityTemplates.ExtendBuildingToRocketModule(go);
    }
예제 #4
0
    public override void DoPostConfigureComplete(GameObject go)
    {
        Storage storage = go.AddOrGet <Storage>();

        storage.capacityKg       = 2700f;
        storage.allowSublimation = false;
        storage.SetDefaultStoredItemModifiers(new List <Storage.StoredItemModifier>
        {
            Storage.StoredItemModifier.Hide,
            Storage.StoredItemModifier.Seal,
            Storage.StoredItemModifier.Insulate
        });
        OxidizerTank oxidizerTank = go.AddOrGet <OxidizerTank>();

        oxidizerTank.storage = storage;
        go.AddOrGet <DropToUserCapacity>();
        ManualDeliveryKG manualDeliveryKG = go.AddOrGet <ManualDeliveryKG>();

        manualDeliveryKG.SetStorage(storage);
        manualDeliveryKG.requestedItemTag       = ElementLoader.FindElementByHash(SimHashes.OxyRock).tag;
        manualDeliveryKG.refillMass             = storage.capacityKg;
        manualDeliveryKG.capacity               = storage.capacityKg;
        manualDeliveryKG.operationalRequirement = FetchOrder2.OperationalRequirement.None;
        manualDeliveryKG.choreTypeIDHash        = Db.Get().ChoreTypes.MachineFetch.IdHash;
        RocketModule rocketModule = go.AddOrGet <RocketModule>();

        rocketModule.SetBGKAnim(Assets.GetAnim("rocket_oxidizer_tank_bg_kanim"));
        EntityTemplates.ExtendBuildingToRocketModule(go);
    }
예제 #5
0
    public override void DoPostConfigureComplete(GameObject go)
    {
        FuelTank fuelTank = go.AddOrGet <FuelTank>();

        fuelTank.capacityKg = fuelTank.minimumLaunchMass;
        fuelTank.SetDefaultStoredItemModifiers(new List <Storage.StoredItemModifier>
        {
            Storage.StoredItemModifier.Hide,
            Storage.StoredItemModifier.Seal,
            Storage.StoredItemModifier.Insulate
        });
        go.AddOrGet <DropToUserCapacity>();
        ManualDeliveryKG manualDeliveryKG = go.AddOrGet <ManualDeliveryKG>();

        manualDeliveryKG.SetStorage(fuelTank);
        manualDeliveryKG.refillMass             = fuelTank.capacityKg;
        manualDeliveryKG.capacity               = fuelTank.capacityKg;
        manualDeliveryKG.operationalRequirement = FetchOrder2.OperationalRequirement.None;
        manualDeliveryKG.choreTypeIDHash        = Db.Get().ChoreTypes.MachineFetch.IdHash;
        ConduitConsumer conduitConsumer = go.AddOrGet <ConduitConsumer>();

        conduitConsumer.conduitType          = ConduitType.Liquid;
        conduitConsumer.consumptionRate      = 10f;
        conduitConsumer.capacityTag          = GameTags.Liquid;
        conduitConsumer.capacityKG           = fuelTank.capacityKg;
        conduitConsumer.forceAlwaysSatisfied = true;
        conduitConsumer.wrongElementResult   = ConduitConsumer.WrongElementResult.Store;
        RocketModule rocketModule = go.AddOrGet <RocketModule>();

        rocketModule.SetBGKAnim(Assets.GetAnim("rocket_liquid_fuel_tank_bg_kanim"));
        EntityTemplates.ExtendBuildingToRocketModule(go);
    }
    public override void DoPostConfigureComplete(GameObject go)
    {
        RocketEngine rocketEngine = go.AddOrGet <RocketEngine>();

        rocketEngine.fuelTag             = ElementLoader.FindElementByHash(SimHashes.Petroleum).tag;
        rocketEngine.efficiency          = ROCKETRY.ENGINE_EFFICIENCY.MEDIUM;
        rocketEngine.explosionEffectHash = SpawnFXHashes.MeteorImpactDust;
        EntityTemplates.ExtendBuildingToRocketModule(go);
        RocketModule rocketModule = go.AddOrGet <RocketModule>();

        rocketModule.SetBGKAnim(Assets.GetAnim("rocket_petroleum_engine_bg_kanim"));
    }
    public override void DoPostConfigureComplete(GameObject go)
    {
        RocketEngine rocketEngine = go.AddOrGet <RocketEngine>();

        rocketEngine.fuelTag             = ElementLoader.FindElementByHash(SimHashes.LiquidHydrogen).tag;
        rocketEngine.efficiency          = ROCKETRY.ENGINE_EFFICIENCY.STRONG;
        rocketEngine.explosionEffectHash = SpawnFXHashes.MeteorImpactDust;
        rocketEngine.exhaustElement      = SimHashes.Steam;
        rocketEngine.exhaustTemperature  = 2000f;
        EntityTemplates.ExtendBuildingToRocketModule(go);
        RocketModule rocketModule = go.AddOrGet <RocketModule>();

        rocketModule.SetBGKAnim(Assets.GetAnim("rocket_hydrogen_engine_bg_kanim"));
    }
    public override void DoPostConfigureComplete(GameObject go)
    {
        CargoBay cargoBay = go.AddOrGet <CargoBay>();

        cargoBay.storage            = go.AddOrGet <Storage>();
        cargoBay.storageType        = CargoBay.CargoType.solids;
        cargoBay.storage.capacityKg = 1000f;
        cargoBay.storage.SetDefaultStoredItemModifiers(Storage.StandardSealedStorage);
        RocketModule rocketModule = go.AddOrGet <RocketModule>();

        rocketModule.SetBGKAnim(Assets.GetAnim("rocket_storage_solid_bg_kanim"));
        EntityTemplates.ExtendBuildingToRocketModule(go);
        go.AddOrGet <SolidConduitDispenser>();
    }
예제 #9
0
    public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
    {
        BuildingConfigManager.Instance.IgnoreDefaultKComponent(typeof(RequiresFoundation), prefab_tag);
        go.AddOrGet <LoopingSounds>();
        go.GetComponent <KPrefabID>().AddTag(RoomConstraints.ConstraintTags.IndustrialMachinery, false);
        RocketModule rocketModule = go.AddOrGet <RocketModule>();

        rocketModule.SetBGKAnim(Assets.GetAnim("rocket_research_module_bg_kanim"));
        go.AddOrGet <ResearchModule>();
        BuildingAttachPoint buildingAttachPoint = go.AddOrGet <BuildingAttachPoint>();

        buildingAttachPoint.points = new BuildingAttachPoint.HardPoint[1]
        {
            new BuildingAttachPoint.HardPoint(new CellOffset(0, 5), GameTags.Rocket, null)
        };
    }
예제 #10
0
    public override void DoPostConfigureComplete(GameObject go)
    {
        CargoBay cargoBay = go.AddOrGet <CargoBay>();

        cargoBay.storage            = go.AddOrGet <Storage>();
        cargoBay.storageType        = CargoBay.CargoType.liquids;
        cargoBay.storage.capacityKg = 1000f;
        cargoBay.storage.SetDefaultStoredItemModifiers(Storage.StandardSealedStorage);
        RocketModule rocketModule = go.AddOrGet <RocketModule>();

        rocketModule.SetBGKAnim(Assets.GetAnim("rocket_storage_liquid_bg_kanim"));
        ConduitDispenser conduitDispenser = go.AddOrGet <ConduitDispenser>();

        conduitDispenser.conduitType = ConduitType.Liquid;
        conduitDispenser.storage     = cargoBay.storage;
    }