Exemplo n.º 1
0
 //假如以输入设备为中心
 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);
     }
 }
Exemplo n.º 3
0
 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;
             }
         }
     }
 }