예제 #1
0
 // Token: 0x060021B8 RID: 8632 RVA: 0x000B3904 File Offset: 0x000B1D04
 private void Start()
 {
     if (Level.isEditor)
     {
         this.updateWired(true);
     }
     else
     {
         ushort maxValue = ushort.MaxValue;
         if (base.isPlant)
         {
             byte            b;
             byte            b2;
             BarricadeRegion barricadeRegion;
             BarricadeManager.tryGetPlant(base.transform.parent, out b, out b2, out maxValue, out barricadeRegion);
         }
         List <InteractableGenerator> list = PowerTool.checkGenerators(base.transform.position, 64f, maxValue);
         for (int i = 0; i < list.Count; i++)
         {
             InteractableGenerator interactableGenerator = list[i];
             if (interactableGenerator.isPowered && interactableGenerator.fuel > 0 && (interactableGenerator.transform.position - base.transform.position).sqrMagnitude < interactableGenerator.sqrWirerange)
             {
                 this.updateWired(true);
                 return;
             }
         }
     }
 }
예제 #2
0
        private void updateWire()
        {
            if (this.engine != null)
            {
                this.engine.gameObject.SetActive(this.isPowered && this.fuel > 0);
            }
            ushort maxValue = ushort.MaxValue;

            if (base.isPlant)
            {
                byte            b;
                byte            b2;
                BarricadeRegion barricadeRegion;
                BarricadeManager.tryGetPlant(base.transform.parent, out b, out b2, out maxValue, out barricadeRegion);
            }
            List <InteractablePower> list = PowerTool.checkPower(base.transform.position, this.wirerange, maxValue);

            for (int i = 0; i < list.Count; i++)
            {
                InteractablePower interactablePower = list[i];
                if (interactablePower.isWired)
                {
                    if (!this.isPowered || this.fuel == 0)
                    {
                        bool flag = false;
                        List <InteractableGenerator> list2 = PowerTool.checkGenerators(interactablePower.transform.position, 64f, maxValue);
                        for (int j = 0; j < list2.Count; j++)
                        {
                            if (list2[j] != this && list2[j].isPowered && list2[j].fuel > 0 && (list2[j].transform.position - interactablePower.transform.position).sqrMagnitude < list2[j].sqrWirerange)
                            {
                                flag = true;
                                break;
                            }
                        }
                        if (!flag)
                        {
                            interactablePower.updateWired(false);
                        }
                    }
                }
                else if (this.isPowered && this.fuel > 0)
                {
                    interactablePower.updateWired(true);
                }
            }
        }