예제 #1
0
    // Helper function makes sure there are no duplicate sockets in the list
    // of sockets associated with each button
    private void AddSingleButtonSocketPair(Button button, EnergySocket socket)
    {
        List <EnergySocket> sockets = buttonSocketPairs[button];

        if (!sockets.Contains(socket))
        {
            sockets.Add(socket);
        }
    }
예제 #2
0
 /*
  * Public interface
  */
 public void AddButtonSocketPair(Button button, EnergySocket socket)
 {
     if (!buttonSocketPairs.ContainsKey(button))
     {
         buttonSocketPairs.Add(button, new List <EnergySocket>());
         button.onClick.AddListener(TransferEnergyCallback(button));
     }
     AddSingleButtonSocketPair(button, socket);
 }
예제 #3
0
    // Transfer energy to the given energy socket and call the event if it exists
    public void TransferEnergy(EnergySocket socket)
    {
        int amountAbsorbed = socket.AbsorbEnergy(this);

        energyTransferredEvent.Invoke(new EnergyEventData(this, socket, amountAbsorbed));
    }
예제 #4
0
 public EnergyAbsorbedEventData(EnergySocket energySocket, Energy energyAbsorbed, int amtAbsorbed)
 {
     _socket         = energySocket;
     _energy         = energyAbsorbed;
     _amountAbsorbed = amtAbsorbed;
 }
예제 #5
0
 public EnergyTransferredEventData(EnergySocket energySocket, EnergySource energySource, int energyTransferred)
 {
     _socket            = energySocket;
     _source            = energySource;
     _amountTransferred = energyTransferred;
 }
예제 #6
0
 public EnergyEventData(EnergySource src, EnergySocket dest, int amt)
 {
     source = src;
     socket = dest;
     energy = amt;
 }