A basic mechanism could be represented by locks.
As an example, let's suppose that A's block depends on B's one. You can control the "dependency" this way:
//B script:
var BLogicPerformed = false;
//...
//Code on which A depends:
function Update(){
if (BLogicPerformed == false){
//your operations...
BLogicPerformed = true;
}
}
//------------------------------------------------
//A script:
//...
//Code that depends on B:
function Update(){
if (this.GetComponent("B").BLogicPerformed == true){
//Perform logic that depends on B
this.GetComponent("B").BLogicPerformed = false;
}
}
(ugly comparisons with boolean values where just made to keep the code as much clear as I could :-))
I program in Unityscript and, since your question is tagged with both unityscript and c#, I hope that's sufficient for you.