示例#1
0
    private void SetArms(ArmWeaponInfoSO data)
    {
        SetLimbData(_arms.LeftUpperArm, data.LeftArm.UpperArmPosition, data.LeftArm.UpperArmRotation);
        SetLimbData(_arms.LeftForearm, data.LeftArm.ForearmPosition, data.LeftArm.ForearmRotation);
        SetLimbData(_arms.LeftHand, data.LeftArm.HandPosition, data.LeftArm.HandRotation);

        SetLimbData(_arms.RightUpperArm, data.RightArm.UpperArmPosition, data.RightArm.UpperArmRotation);
        SetLimbData(_arms.RightForearm, data.RightArm.ForearmPosition, data.RightArm.ForearmRotation);
        SetLimbData(_arms.RightHand, data.RightArm.HandPosition, data.RightArm.HandRotation);
    }
示例#2
0
    public override void OnInspectorGUI()
    {
        GUI.enabled = false;
        DrawDefaultInspector();
        GUI.enabled = true;

        _armsHolder = (Transform)EditorGUILayout.ObjectField("Arms Holder", _armsHolder, typeof(Transform), true);

        if (GUILayout.Button("Save"))
        {
            ArmWeaponInfoSO awi = target as ArmWeaponInfoSO;

            Transform left  = null;
            Transform right = null;

            Transform _lUpperArm = null;
            Transform _lForearm  = null;
            Transform _lHand     = null;

            Transform _rUpperArm = null;
            Transform _rForearm  = null;
            Transform _rHand     = null;

            foreach (Transform trans in _armsHolder)
            {
                if (trans.CompareTag("LeftArm"))
                {
                    left = trans;
                }
                if (trans.CompareTag("RightArm"))
                {
                    right = trans;
                }
            }

            foreach (Transform trans in left)
            {
                if (trans.CompareTag("UpperArm"))
                {
                    _lUpperArm = trans;
                }
                if (trans.CompareTag("Forearm"))
                {
                    _lForearm = trans;
                }
                if (trans.CompareTag("Hand"))
                {
                    _lHand = trans;
                }
            }

            foreach (Transform trans in right)
            {
                if (trans.CompareTag("UpperArm"))
                {
                    _rUpperArm = trans;
                }
                if (trans.CompareTag("Forearm"))
                {
                    _rForearm = trans;
                }
                if (trans.CompareTag("Hand"))
                {
                    _rHand = trans;
                }
            }

            SetInfo(awi.LeftArm, _lUpperArm, _lForearm, _lHand);
            SetInfo(awi.RightArm, _rUpperArm, _rForearm, _rHand);



            EditorUtility.SetDirty(target);
        }
    }