//假如以输入设备为中心 public MyElectricElement(SubsystemElectricity subsystemElectricity, CellFace cellFace_) : base(subsystemElectricity, cellFace_) { cellFace = cellFace_; //保存输入设备的坐标 subsystemBlockEntities = subsystemElectricity.Project.FindSubsystem <SubsystemBlockEntities>(); //获取该设备的实体 cptBase = subsystemBlockEntities.GetBlockEntity(cellFace.X, cellFace.Y, cellFace.Z).Entity.FindComponent <ComponentEnergyMachine>(true); cptBase.connections = subsystemItemElectric.getConlist(SubsystemElectricity.SubsystemTerrain.Terrain, cellFace.Point); }
public void updateList() { foreach (Point3 point in devices) { ComponentEnergyMachine cptBaseEgy = subsystemBlockEntities.GetBlockEntity(point.X, point.Y, point.Z).Entity.FindComponent <ComponentEnergyMachine>(true); Dictionary <Point3, int> temp = subsystemItemElectric.getConlist(SubsystemTerrain.Terrain, point); cptBaseEgy.connections = temp; cptBaseEgy.thisPosition = new Vector3(point); } }
public void getEnergy(int minnum) //寻找能量 { foreach (KeyValuePair <Point3, int> item in connections) { if ((item.Value == 1 || item.Value == 3) && (this.quantity + minnum) <= this.maxquantity) { ComponentEnergyMachine cpt = subsystemBlockEntities.GetBlockEntity(item.Key.X, item.Key.Y, item.Key.Z).Entity.FindComponent <ComponentEnergyMachine>(); if (cpt == null) { return; } if (cpt.quantity > minnum) { this.quantity += minnum; cpt.quantity -= minnum; } } } }