Apply material color to target orbject when this object is touching ( or under) an other object
you could do something with dynamic painting. at the physics property is a tap called dynamic paint, you can set the cube as a brush and the drones as the canvas. Then make the setting so they give an output for vertex colors, make sure that the canvas drys fast and then use the wet map. you can find the vertex colors in your material nodes and then use it as a mix map or whatever you want. the only problem is that you have to update the drones once in a while. 
hope this helps