Example #1
0
    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;
        }
        }
    }
Example #2
0
    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;
            }
        }
    }