コード例 #1
0
ファイル: CameraControl.cs プロジェクト: ditrit/OGREE-3D
    ///<summary>
    /// Called when an OnFocusEvent is raised
    ///</summary>
    ///<param name="_e">The raised event</param>
    private void OnFocus(OnFocusEvent _e)
    {
        SCameraTrans target = GetRegisteredCameraTrans(_e.obj.name);

        if (string.IsNullOrEmpty(target.label))
        {
            RegisterTransform();
            MoveToObject(_e.obj.transform);
        }
        else
        {
            transform.position    = target.pos;
            transform.eulerAngles = target.rot;
            labeledTransforms.RemoveAt(labeledTransforms.Count - 1);
        }
    }
コード例 #2
0
ファイル: CameraControl.cs プロジェクト: ditrit/OGREE-3D
    ///<summary>
    /// Register camera position with a label in labeledTransforms.
    ///</summary>
    private void RegisterTransform()
    {
        SCameraTrans newTrans = new SCameraTrans();

        if (labeledTransforms.Count == 0)
        {
            newTrans.label = "NoFocus";
            newTrans.pos   = transform.position;
            newTrans.rot   = transform.eulerAngles;
        }
        else
        {
            newTrans.label = GameManager.gm.focus[GameManager.gm.focus.Count - 2].name;
            newTrans.pos   = transform.position;
            newTrans.rot   = transform.eulerAngles;
        }
        labeledTransforms.Add(newTrans);
    }