Beispiel #1
0
    public void restoreActorsAnimator(int logicFrameID)
    {
        LogicFrameAnimatorRecord record = null;

        if (!totalFrameRecords.TryGetValue(logicFrameID, out record))
        {
            Debuger.Log("No Actor animator Record????....." + logicFrameID);
            return;
        }

        ball.transform.position = record.ballPosition;


        Debuger.Log("restoreActorsAnimator " + logicFrameID + " ballPosition:" + record.ballPosition);

        record.recordActors.forEach(a =>
        {
            AnimatorRecord entityAnimatorRecord = a.Value;
            if (entityAnimatorRecord != null)
            {
                EntityView view = null;
                if (sceneEntityList.TryGetValue(a.Key, out view))
                {
                    view.restoreAnimatorRecord(entityAnimatorRecord);
                }
            }
        });

        //totalFrameRecords.Clear();
    }
Beispiel #2
0
    public void createRecord(int logicFrameID)
    {
        if (!recordingAnimatorState)
        {
            return;
        }

        //Debuger.Log("createRecord " + logicFrameID);

        LogicFrameAnimatorRecord record = new LogicFrameAnimatorRecord();

        foreach (var item in sceneEntityList)
        {
            AnimatorRecord entityAnimatorRecord = item.Value.createAnimatorRecord();
            if (entityAnimatorRecord != null)
            {
                record.recordActors.Add(item.Value.id, entityAnimatorRecord);
            }
        }
        record.ballPosition = ball.transform.position;
        totalFrameRecords.Add(logicFrameID, record);
    }