Sorry, I don't see any "general" forum thread so I chose what I thought might be closest.
I've had this way of behaviour since I was a kid. I don't know what it's called or if it's even a mental illness or whatnot.
Basically they way it goes is like this: when I'm treated above and beyond and I feel really happy and really grateful like I am in debt to you, the best comes out of me. I have no problems going the extra mile for you and put all my passion and energy into things in return.
But if I feel unhappy, dissatisfied, disgruntled, feelings of being cheated, robbed, injustice, anger, then I become really immature and I don't want to do anything for you back. I won't give unconditionally, and I just start to close up like a shell and slack off (whether it's a job/work, or relationship) and I don't want to do my best, don't want to give my all and I do intentionally because I want you to know it without me actually having to verbalize it and tell you why I'm upset. I'll just become a very cold distant disinterested person. I would also EXPECT that you would pick up on my signs/signals and then make it right by making me happy again and doing the stuff that I want.
I've been that way as young as I can remember and now in my 40s and still the same way. If I'm happy and feel like you have really pleased me and gone the extra mile for me to the point I feel so indebted to you, then the best of me comes out and I do extra back for you, even more and I'm passionate, loyal, energetic, and the easiest person to get along with as I take crap and will say yes to almost anything.
But if I feel angry because you've deprived me of anything to be thankful about, and I feel cheated like you gave me nothing and so I can't be happy and grateful, then the worst in me comes out, but I won't ever just verbalize it and tell you straight out what the problem is (although I want to but I don't want to be the first to initiate the conversation, I want you or EXPECT you to know there's something wrong and come to me and ask me what's the problem and show me you REALLY CARE and really want to help me then I'll tell you).