/// <summary> /// Receive power pushed from another transmitter /// </summary> /// <param name="source">The transmitter that pushed the power</param>> /// <param name="amount">How much power was received</param> private void ReceivePower(PowerTransmitter source, float amount) { // Make sure the two objects are on the same voltage if (isTransformer || (source.voltage == voltage)) { // Adjusts power based on sources efficiency float efficiencyAdjusted = amount * source.efficiency; // Pulling entire amount due to efficiency losses source.powerStorage.PullPower(amount); // Adding the adjusted amount due to efficiency losses float powerOverflow = powerStorage.PushPower(efficiencyAdjusted); // Adds the overflow power back to the source if (powerOverflow > -1) { source.powerStorage.PushPower(powerOverflow); } } else { //Debug.Log("Voltages don't match, not sending power"); // TODO: Make stuff go boom } }
public void Start() { transmitter = gameObject.GetComponent <PowerTransmitter>(); StartCoroutine(DrawWires()); }