示例#1
0
    private void showChatMessage(long sessionId, string message, int sizzleclipID, bool isAwaitingModeration = false, bool isLocalChatPhrase = false)
    {
        bool flag = dataEntityCollection.IsLocalPlayer(sessionId);

        if (!string.IsNullOrEmpty(message))
        {
            WorldSpeechBubble speechBubble = getSpeechBubble(sessionId);
            if (isAwaitingModeration)
            {
                if (isLocalChatPhrase)
                {
                    speechBubble.ShowChatPhraseMessage(sessionId, message);
                }
                else
                {
                    speechBubble.ShowAwaitingModerationMessage(sessionId, message);
                }
            }
            else if (!isLocalChatPhrase || !flag)
            {
                speechBubble.ShowChatMessage(sessionId, message);
            }
        }
        if (sizzleclipID > 0 && (isAwaitingModeration || !flag))
        {
            Transform avatar = getAvatar(sessionId);
            if (avatar != null && LocomotionUtils.CanPlaySizzle(avatar.gameObject))
            {
                Animator component = avatar.GetComponent <Animator>();
                component.SetInteger(AnimationHashes.Params.Emote, sizzleclipID);
                component.SetTrigger(AnimationHashes.Params.PlayEmote);
            }
        }
    }