Exemple #1
0
 public override void Dump()
 {
     _data.Fx = XClip.LocateRes(_fx);
     if (_bone != null)
     {
         _data.Bone = XClip.LocateBone(_bone);
     }
     _data.BindIdx = _bind_idx - 1;
 }
Exemple #2
0
        protected override void OnInnerGUI(XCutSceneData data)
        {
            _bind_idx = CutSceneWindow.ActorList.FindIndex(FindActor);

            _fx       = EditorGUILayout.ObjectField("Fx Object", _fx, typeof(GameObject), true) as GameObject;
            _bind_idx = EditorGUILayout.Popup("Bind To", _bind_idx, CutSceneWindow.ActorList.ToArray());
            EditorGUILayout.Space();
            if (_bind_idx > 0)
            {
                EditorGUI.BeginChangeCheck();
                _bone = EditorGUILayout.ObjectField("Bind To", _bone, typeof(GameObject), true) as GameObject;
                if (EditorGUI.EndChangeCheck() || !_bone_refresh)
                {
                    if (_bone != null || !_bone_refresh)
                    {
                        if (_bone != null)
                        {
                            _bone_refresh = true;
                        }
                        if (_bone_refresh)
                        {
                            _data.Bone = XClip.LocateBone(_bone);
                        }
                    }
                    else
                    {
                        _data.Bone = null;
                    }
                }
                if (_data.Bone != null && _data.Bone.Length > 0)
                {
                    EditorGUILayout.LabelField("Bone", _data.Bone.Substring(_data.Bone.LastIndexOf("/") + 1));
                }
                _data.Follow = EditorGUILayout.Toggle("Follow", _data.Follow);
                _data.Scale  = EditorGUILayout.FloatField("Scale", _data.Scale);
            }
            else
            {
                _bone      = null;
                _data.Bone = null;

                Vector3 Appear = Vector3FieldEx("Appear At", new Vector3(_data.AppearX, _data.AppearY, _data.AppearZ), ref _appear_fold, false, false);
                _data.AppearX = Appear.x; _data.AppearY = Appear.y; _data.AppearZ = Appear.z;

                Vector3 Face = XCommon.singleton.FloatToAngle(_data.Face);
                _data.Face = XCommon.singleton.AngleToFloat(Vector3FieldEx("Face To", Face, ref _face_fold, true, false));
            }

            EditorGUILayout.Space();
            EditorGUILayout.BeginHorizontal();
            _data.Destroy_Delay = EditorGUILayout.FloatField("Delay Destroy", _data.Destroy_Delay);
            GUILayout.Label("(s)");
            EditorGUILayout.EndHorizontal();

            _bind_prefab = CutSceneWindow.ActorList[_bind_idx];
        }