private void DoSpecialAction(SPECIAL_ACTION action) { switch (action) { case SPECIAL_ACTION.HUM_MUSIC: { // FIXME: LH: Messy way to do this? cause specialActions may not necessarily be sprite reactions // - whatever I'm tired reactionSpriteRenderer.sprite = reactionSprites[(int)SPECIAL_ACTION.HUM_MUSIC]; robotSpriteRenderer.sprite = robotSprites[(int)SPECIAL_ACTION.HUM_MUSIC]; animator.Play(Animator.StringToHash("RobotSpriteReaction")); PlayNoise(HAPPY_NOISE_INDEX); break; } case SPECIAL_ACTION.NEW_DISCOVERY: { reactionSpriteRenderer.sprite = reactionSprites[(int)SPECIAL_ACTION.NEW_DISCOVERY]; robotSpriteRenderer.sprite = robotSprites[(int)SPECIAL_ACTION.NEW_DISCOVERY]; animator.Play(Animator.StringToHash("RobotSpriteReaction")); PlayNoise(SURPRISED_NOISE_INDEX); break; } case SPECIAL_ACTION.CLEANING: { reactionSpriteRenderer.sprite = reactionSprites[(int)SPECIAL_ACTION.CLEANING]; robotSpriteRenderer.sprite = robotSprites[(int)SPECIAL_ACTION.CLEANING]; animator.Play(Animator.StringToHash("RobotSpriteReaction")); PlayNoise(SAD_NOISE_INDEX); break; } case SPECIAL_ACTION.FIXING: { reactionSpriteRenderer.sprite = reactionSprites[(int)SPECIAL_ACTION.FIXING]; robotSpriteRenderer.sprite = robotSprites[(int)SPECIAL_ACTION.FIXING]; animator.Play(Animator.StringToHash("RobotSpriteReaction")); PlayNoise(ANGRY_NOISE_INDEX); break; } case SPECIAL_ACTION.EXCLAMATION: { reactionSpriteRenderer.sprite = reactionSprites[(int)SPECIAL_ACTION.EXCLAMATION]; robotSpriteRenderer.sprite = robotSprites[(int)SPECIAL_ACTION.EXCLAMATION]; animator.Play(Animator.StringToHash("RobotSpriteReaction")); PlayNoise(HAPPY_NOISE_INDEX); break; } } }
public void CompleteActionOfType(SPECIAL_ACTION completedActionType) { for (int i = 0; i < specialActionTypes.Length; ++i) { if (specialActionTypes[i] == completedActionType) { if (specialActionsNeededToCompleteType[i] > 0) { --specialActionsNeededToCompleteType[i]; } return; } } }