예제 #1
0
 public override BTState EBUpdate()
 {
     if (AutoStart && !isInit)
     {
         return(Init());
     }
     else
     {
         if (electricity == null)
         {
             electricity = GetComponent <ElectricityConsumption> ();
         }
         foreach (Light light in lights)
         {
             light.gameObject.SetActive(!light.gameObject.activeInHierarchy);
             if (light.gameObject.activeInHierarchy)
             {
                 electricity.Consume(1, phase1ActiveDelta, phase1ReactiveDelta);
                 electricity.Consume(2, phase2ActiveDelta, phase2ReactiveDelta);
                 electricity.Consume(3, phase3ActiveDelta, phase3ReactiveDelta);
             }
             else
             {
                 electricity.Release(1, phase1ActiveDelta, phase1ReactiveDelta);
                 electricity.Release(2, phase2ActiveDelta, phase2ReactiveDelta);
                 electricity.Release(3, phase3ActiveDelta, phase3ReactiveDelta);
             }
         }
         return(BTState.SUCCEEDED);
     }
 }
예제 #2
0
    private void Decrease()
    {
        ElectricityConsumption electricity = GetComponent <ElectricityConsumption> ();

        electricity.Release(1, phase1ActiveDelta, phase1ReactiveDelta);
        electricity.Release(2, phase2ActiveDelta, phase2ReactiveDelta);
        electricity.Release(3, phase3ActiveDelta, phase3ReactiveDelta);
    }
예제 #3
0
    public override BTState EBUpdate()
    {
        ElectricityConsumption electricity = GetComponent <ElectricityConsumption> ();

        electricity.Release(1, phase1ActiveDelta, phase1ReactiveDelta);
        electricity.Release(2, phase2ActiveDelta, phase2ReactiveDelta);
        electricity.Release(3, phase3ActiveDelta, phase3ReactiveDelta);

        return(BTState.SUCCEEDED);
    }
예제 #4
0
    public override BTState EBUpdate()
    {
        Debug.Log("Start increase");
        ElectricityConsumption electricity = GetComponent <ElectricityConsumption> ();

        electricity.Consume(1, phase1ActiveDelta, phase1ReactiveDelta);
        electricity.Consume(2, phase2ActiveDelta, phase2ReactiveDelta);
        electricity.Consume(3, phase3ActiveDelta, phase3ReactiveDelta);

        return(BTState.SUCCEEDED);
    }
예제 #5
0
 private BTState Init()
 {
     if (electricity == null)
     {
         electricity = GetComponent <ElectricityConsumption> ();
     }
     foreach (Light light in lights)
     {
         if (light.gameObject.activeInHierarchy)
         {
             electricity.Consume(1, phase1ActiveDelta, phase1ReactiveDelta);
             electricity.Consume(2, phase2ActiveDelta, phase2ReactiveDelta);
             electricity.Consume(3, phase3ActiveDelta, phase3ReactiveDelta);
         }
     }
     isInit = true;
     return(BTState.SUCCEEDED);
 }
예제 #6
0
    private void Noise()
    {
        int scale = 10;
        ElectricityConsumption electricity = GetComponent <ElectricityConsumption> ();

        if (!noiseAdded)
        {
            electricity.Consume(1, phase1ActiveDelta / scale, phase1ReactiveDelta / scale);
            electricity.Consume(2, phase2ActiveDelta / scale, phase2ReactiveDelta / scale);
            electricity.Consume(3, phase3ActiveDelta / scale, phase3ReactiveDelta / scale);
            noiseAdded = true;
        }
        else
        {
            electricity.Release(1, phase1ActiveDelta / scale, phase1ReactiveDelta / scale);
            electricity.Release(2, phase2ActiveDelta / scale, phase2ReactiveDelta / scale);
            electricity.Release(3, phase3ActiveDelta / scale, phase3ReactiveDelta / scale);
            noiseAdded = false;
        }
    }