Exemplo n.º 1
0
    override public void execute(SequencePlayer player)
    {
        myPlayer = player;

        if (player.inRewindMode)
        {
            undo();
        }
        else
        {
            GameObject  target   = sequencerData.targets [targetIndexList].target;
            VN_CharBase charcomp = target.GetComponent <VN_CharBase>();

            prevAttireIndex    = charcomp.getCurrentAttire();
            prevExpressionName = charcomp.getCurrentExpressionName();

            charcomp.setAttire(attireListIndex);
            charcomp.setExpression(expressionName, false);
        }

        myPlayer.callBackFromCommand();
    }
Exemplo n.º 2
0
    override public void execute(SequencePlayer player)
    {
        myPlayer = player;

        if (player.inRewindMode)
        {
            undo();
        }
        else
        {
            //clear previous
            positions   = new List <Vector3>();
            visibilitys = new List <bool>();
            attires     = new List <int>();
            expressions = new List <string>();

            //attempt save state:

            //music
            musicClipName   = SoundManager.Get().getCurrentMusicClipName();
            musicClipVolume = SoundManager.Get().getCurrentMusicClipVolume();

            SoundManager.Get().stopMusic();

            //characters (visible, pos, attire, expression)
            foreach (SequencerTargetModel model in myPlayer.sequencerData.targets)
            {
                if (model.target == null)
                {
                    positions.Add(Vector3.zero);
                    visibilitys.Add(false);
                    attires.Add(0);
                    expressions.Add("none");
                    continue;
                }

                positions.Add(model.target.transform.position);
                visibilitys.Add(model.target.activeInHierarchy);
                VN_CharBase hasCharComp = model.target.GetComponent <VN_CharBase>();

                if (hasCharComp != null)
                {
                    attires.Add(hasCharComp.getCurrentAttire());
                    expressions.Add(hasCharComp.getCurrentExpressionName());
                }
                else
                {
                    attires.Add(-1);
                    expressions.Add("");
                }

                //TODO: in future use type instead? backgrounds are characters too ?
                if (hasCharComp != null)
                {
                    model.target.SetActive(false);
                }
            }

            //future: vars
        }

        myPlayer.callBackFromCommand();
    }