public int GetPlayerID() { if (PlayerID != 0) { return(PlayerID); } else { BranchController bc = transform.parent.gameObject.GetComponent <BranchController>(); if (bc) { return(bc.GetPlayerID()); } GameController gc = transform.parent.gameObject.GetComponent <GameController>(); if (gc) { return(gc.PlayerID); } Debug.Log("Fail to find player ID!"); return(0); } }