protected override void ExecuteCommand() { Logging(); Data d; TopCommand runTopCommand = instructionPan.GetTopCommandAt(playerCMDNo); switch (runTopCommand.myCode) { case TopCommand.Code.Inbox: d = playerInbox.sendFirstData(); if (d) { player.PickupData(d); ExecuteNextIfNotPaused(); } else { FailFeedback("There's no more data to \"Take\" off your line.", playerFeedback); } break; case TopCommand.Code.Outbox: d = player.SendData(); if (runTopCommand.subCommandRef.myCode == SubCommand.Code.Boss) { if (d) { playerOutbox.AcceptData(d); if (hasSolved == 0 && d.dataStr == "O") { hasSolved = 1; InformFeedback("Thanks! The next letter that I need is \"K\".", playerFeedback); StartCoroutine(DiminishAfterSec(playerFeedback, 1f)); ExecuteNextIfNotPaused(); } else if (hasSolved == 0 && d.dataStr == "K") { FailFeedback("I was expecting to receive \"O\" first. Try to \"Store\" \"K\" in a cell first.", playerFeedback); } else if (hasSolved == 1 && d.dataStr == "K") { hasSolved = 2; SucceedFeedback("Well done!", playerFeedback, "Challenge5"); } else if (hasSolved == 1 && d.dataStr == "O") { FailFeedback("I was not expecting to receive \"O\" twice.", playerFeedback); } } else { FailFeedback("You're not holding anything. Please \"Take\" or \"Load\" before \"Giving\" me data.", playerFeedback); } } else if (runTopCommand.subCommandRef.myCode == SubCommand.Code.Distrust) { if (d) { distrustOutbox.AcceptData(d); FailFeedback("I was not expecting to receive any data.", distrustFeedback); } else { FailFeedback("Fool. \"Take\" or \"Load\" before \"Giving\" me data.", distrustFeedback); } } break; case TopCommand.Code.Load: if (runTopCommand.subCommandRef.myCode == SubCommand.Code.Zero) { d = memoryBar.CloneDataAt(0); } else { d = memoryBar.CloneDataAt(1); } if (d) { player.PickupData(d); ExecuteNextIfNotPaused(); } else { FailFeedback("That cell is empty!", playerFeedback); } break; case TopCommand.Code.Store: d = player.CloneData(); if (d) { if (runTopCommand.subCommandRef.myCode == SubCommand.Code.Zero) { memoryBar.AcceptDataAt(0, d); } else { memoryBar.AcceptDataAt(1, d); } ExecuteNextIfNotPaused(); } else { FailFeedback("You're not holding any data to store.", playerFeedback); } break; } }
protected override void ExecuteCommand() { Logging(); Data d; TopCommand runTopCommand = instructionPan.GetTopCommandAt(playerCMDNo); switch (runTopCommand.myCode) { case TopCommand.Code.Inbox: d = playerInbox.sendFirstData(); if (d) { player.PickupData(d); ExecuteNextIfNotPaused(); } else { FailFeedback("There's no more data to \"Take\" off your line.", playerFeedback); } break; case TopCommand.Code.Outbox: d = player.SendData(); if (runTopCommand.subCommandRef.myCode == SubCommand.Code.Boss) { if (d) { playerOutbox.AcceptData(d); if (hasSolved == 0 && d.dataStr == "O") { hasSolved = 1; InformFeedback("Thanks, I got what I need.", playerFeedback); StartCoroutine(DiminishAfterSec(playerFeedback, 1f)); ExecuteNextIfNotPaused(); } else if (hasSolved == 2 && d.dataStr == "O") { hasSolved = 3; SucceedFeedback("Well done!", playerFeedback, "Challenge4"); } else if (hasSolved == 1 && d.dataStr == "O") { FailFeedback("I was not expecting more letters", playerFeedback); } } else { FailFeedback("Hmm? Please \"Load\" before \"Giving\" me data.", playerFeedback); } } else if (runTopCommand.subCommandRef.myCode == SubCommand.Code.Distrust) { if (d) { distrustOutbox.AcceptData(d); if (hasSolved == 0 && d.dataStr == "O") { hasSolved = 2; InformFeedback("Thanks, I got what I need.", distrustFeedback); StartCoroutine(DiminishAfterSec(distrustFeedback, 1f)); ExecuteNextIfNotPaused(); } else if (hasSolved == 2 && d.dataStr == "O") { FailFeedback("I was not expecting to receive \"O\" twice.", distrustFeedback); } else if (hasSolved == 1 && d.dataStr == "O") { hasSolved = 3; SucceedFeedback("Nice work.", distrustFeedback, "Challenge4"); } } else { FailFeedback("You're empty handed? \"Load\" before \"Giving\" me data.", distrustFeedback); } } break; case TopCommand.Code.Load: if (runTopCommand.subCommandRef.myCode == SubCommand.Code.Zero) { d = memoryBar.CloneDataAt(0); } else { d = memoryBar.CloneDataAt(1); } if (d) { player.PickupData(d); ExecuteNextIfNotPaused(); } else { FailFeedback("No data to load there!", playerFeedback); } break; } }
protected override void ExecuteCommand() { Logging(); Data d; TopCommand runTopCommand = instructionPan.GetTopCommandAt(playerCMDNo); switch (runTopCommand.myCode) { case TopCommand.Code.Inbox: d = playerInbox.sendFirstData(); if (d) { player.PickupData(d); ExecuteNextIfNotPaused(); } else { FailFeedback("There's no more data to \"Take\" off your line.", playerFeedback); } break; case TopCommand.Code.Outbox: d = player.SendData(); if (runTopCommand.subCommandRef.myCode == SubCommand.Code.Boss) { if (d) { playerOutbox.AcceptData(d); if (hasSolved == 0 && d.dataStr == "O") { FailFeedback("I was not expecting to receive \"O\".", playerFeedback); } else if (hasSolved == 0 && d.dataStr == "K") { FailFeedback("You dropped the letter \"O\".", distrustFeedback); } else if (hasSolved == 1 && d.dataStr == "K") { hasSolved += 1; SucceedFeedback("Well done!", playerFeedback, "Challenge3"); } } else { FailFeedback("You're hands are empty. Please \"Take\" before \"Giving\" me data.", playerFeedback); } } else if (runTopCommand.subCommandRef.myCode == SubCommand.Code.Distrust) { if (d) { distrustOutbox.AcceptData(d); if (hasSolved == 0 && d.dataStr == "O") { hasSolved += 1; InformFeedback("Thanks, I got what I need.", distrustFeedback); StartCoroutine(DiminishAfterSec(distrustFeedback, 1f)); ExecuteNextIfNotPaused(); } else if (hasSolved == 0 && d.dataStr == "K") { FailFeedback("Fool! This is the wrong piece of data!", distrustFeedback); } else if (hasSolved == 1 && d.dataStr == "K") { FailFeedback("I don't need all this information.", distrustFeedback); } } else { FailFeedback("You're hands are empty. Please \"Take\" before \"Giving\" me data.", distrustFeedback); } } break; } }