Пример #1
0
    void SetActiveKeyFrame(KeyframeBase keyFrame)
    {
        if (keyFrame.avatar != null)
        {
            KeyframeAvatar keyframeAvatar = keyFrame.avatar;
            int            avatarID       = keyFrame.avatar.avatarID;
            string         action         = keyFrame.avatar.action;
            string         expression     = keyFrame.avatar.expression;
            string         chat           = keyFrame.avatar.chat;
            Vector3        moveTo         = keyFrame.moveTo;
            Vector3        pos            = keyFrame.pos;

            print("___avatar id: " + keyFrame.avatar.avatarID + " timer " + timer + " moveTO:" + moveTo);

            if (chat != null && chat.Length > 0)
            {
                uiTimeline.GetComponent <UIChatManager>().OnCharacterSay(avatarID, chat);
            }
            else
            if (moveTo != Vector3.zero)
            {
                charactersManager.MoveCharacter(avatarID, moveTo);
            }
            else
            {
                charactersManager.PositionateCharacter(avatarID, pos);
                charactersManager.ChangeExpression(avatarID, expression);
                charactersManager.CharacterAction(avatarID, action);
            }
        }
    }
Пример #2
0
    public float GetLastRecordedKeyFrame(int avatarID)
    {
        float keyframeTime = 0;

        foreach (KeyframeBase keyFrame in GetActiveScenesTimeline().keyframes)
        {
            if (keyFrame.avatar != null)
            {
                KeyframeAvatar keyframeAvatar = keyFrame.avatar;
                if (keyframeAvatar.avatarID == avatarID)
                {
                    keyframeTime = keyFrame.time;
                }
            }
        }
        return(keyframeTime);
    }
Пример #3
0
    KeyframeBase GetNewKeyframeAvatar(Character character)
    {
        //RemoveLaterKeyFramesFor (character.id);
        KeyframeBase keyframe = new KeyframeBase();

        keyframe.time = GetRoundedTimer(uiTimeline.timer);

        KeyframeAvatar keyframeAvatar = new KeyframeAvatar();

        keyframeAvatar.avatarID   = character.data.id;
        keyframeAvatar.action     = character.actions.action.ToString();
        keyframeAvatar.expression = character.customizer.value;
        keyframe.avatar           = keyframeAvatar;

        keyframe.pos = character.transform.position;
        return(keyframe);
    }
Пример #4
0
    void RemoveLaterKeyFramesFor(int avatarID)
    {
        List <KeyframeBase> keyframesToDelete = new List <KeyframeBase>();

        foreach (KeyframeBase keyFrame in GetActiveScenesTimeline().keyframes)
        {
            if (keyFrame.avatar != null)
            {
                KeyframeAvatar keyframeAvatar = keyFrame.avatar;
                if (keyframeAvatar.avatarID == avatarID && keyFrame.time >= uiTimeline.timer)
                {
                    keyframesToDelete.Add(keyFrame);
                }
            }
        }
        foreach (KeyframeBase k in keyframesToDelete)
        {
            GetActiveScenesTimeline().keyframes.Remove(k);
        }
    }