// Token: 0x06000087 RID: 135 RVA: 0x0000572C File Offset: 0x0000392C //创建建筑定义 public override BuildingDef CreateBuildingDef() { //使用BuildingTemplates.CreateBuildingDef方法创建建筑定义 BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef("AutoMiner", 2, 2, "auto_miner_kanim", 10, 10f, BUILDINGS.CONSTRUCTION_MASS_KG.TIER3, MATERIALS.REFINED_METALS, 1600f, BuildLocationRule.OnFoundationRotatable, BUILDINGS.DECOR.PENALTY.TIER2, NOISE_POLLUTION.NOISY.TIER0, 0.2f); //设置是否可淹没 buildingDef.Floodable = false; //设置声音类别 buildingDef.AudioCategory = "Metal"; //设置是否需要电力输入 buildingDef.RequiresPowerInput = true; //设置工作时的能量消耗 buildingDef.EnergyConsumptionWhenActive = 120f; //设置工作时的排气功率 buildingDef.ExhaustKilowattsWhenActive = 0f; //设置工作时的自发热功率 buildingDef.SelfHeatKilowattsWhenActive = 2f; //设置可旋转方向 buildingDef.PermittedRotations = PermittedRotations.R360; //设置逻辑输入端口 buildingDef.LogicInputPorts = LogicOperationalController.CreateSingleInputPortList(new CellOffset(0, 0)); //将建筑注册到覆盖屏幕上 GeneratedBuildings.RegisterWithOverlay(OverlayScreen.SolidConveyorIDs, "AutoMiner"); return buildingDef; }

// Token: 0x06000088 RID: 136 RVA: 0x000057D3 File Offset: 0x000039D3 //配置建筑模板 public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag) { //添加操作组件 go.AddOrGet(); //添加循环声音组件 go.AddOrGet(); //添加挖掘声音组件 go.AddOrGet(); }

// Token: 0x06000089 RID: 137 RVA: 0x000057EA File Offset: 0x000039EA //完成预览后的处理 public override void DoPostConfigurePreview(BuildingDef def, GameObject go) { //添加可视化组件 AutoMinerConfig.AddVisualizer(go, true); }

// Token: 0x0600008A RID: 138 RVA: 0x000057F3 File Offset: 0x000039F3 //建筑正在建造过程中的处理 public override void DoPostConfigureUnderConstruction(GameObject go) { //添加可视化组件 AutoMinerConfig.AddVisualizer(go, false); }

// Token: 0x0600008B RID: 139 RVA: 0x000057FC File Offset: 0x000039FC //完成建造后的处理 public override void DoPostConfigureComplete(GameObject go) { //添加逻辑操作控制器组件 go.AddOrGet(); //添加自动挖掘组件 AutoMiner autoMiner = go.AddOrGet(); autoMiner.x = -7; autoMiner.y = 0; autoMiner.width = 16; autoMiner.height = 9; autoMiner.vision_offset = new CellOffset(0, 1); //添加可视化组件 AutoMinerConfig.AddVisualizer(go, false); }

// Token: 0x0600008C RID: 140 RVA: 0x00005848 File Offset: 0x00003A48 //添加可视化组件 private static void AddVisualizer(GameObject prefab, bool movable) { //添加范围可视化组件 RangeVisualizer rangeVisualizer = prefab.AddOrGet(); rangeVisualizer.RangeMin.x = -7; rangeVisualizer.RangeMin.y = -1; rangeVisualizer.RangeMax.x = 8; rangeVisualizer.RangeMax.y = 7; rangeVisualizer.OriginOffset = new Vector2I(0, 1); rangeVisualizer.BlockingTileVisible = false; //当实例化时设置阻挡回调 prefab.GetComponent().instantiateFn += delegate (GameObject go) { go.GetComponent().BlockingCb = new Func<int, bool>(AutoMiner.DigBlockingCB); };

Token 0x06000087 RID 135 RVA 0x0000572C File Offset 0x0000392C	public override BuildingDef CreateBuildingDef			BuildingDef buildingDef = BuildingTemplatesCreateBuildingDefAutoMiner 2 2 auto_miner_kani

原文地址: https://www.cveoy.top/t/topic/hpAo 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录