示例#1
0
            private void RefreshBaseNode()
            {
                GameObject _oldNode = GameObject.Find("HemorrhoidsBusterParent");

                _baseNode = new GameObject("HemorrhoidsBusterParent");
                Destroy(_oldNode);

                if (_selectedParent.IsNullOrEmpty())
                {
                    _needRefreshBaseNode = false;
                    _needRefreshRefNode  = true;
                    return;
                }

                ChaReference.RefObjKey _key           = (ChaReference.RefObjKey)Enum.Parse(typeof(ChaReference.RefObjKey), _selectedParent);
                GameObject             _referenceInfo = _chaCtrl.GetReferenceInfo(_key);

                _baseNode.transform.SetParent(_referenceInfo.transform.parent, false);
                _baseNode.transform.localPosition = _referenceInfo.transform.localPosition;
                _baseNode.transform.localRotation = _referenceInfo.transform.localRotation;
                _baseNode.transform.localScale    = _referenceInfo.transform.localScale;

                _needRefreshBaseNode = false;
                _needRefreshRefNode  = true;
            }
示例#2
0
        public GameObject GetReferenceInfo(ChaReference.RefObjKey key)
        {
            ChaControl chaControl = this as ChaControl;

            if (Object.op_Inequality((Object)null, (Object)chaControl))
            {
                switch (key)
                {
                case ChaReference.RefObjKey.HeadParent:
                    if (Object.op_Equality((Object)null, (Object)chaControl.cmpBoneBody))
                    {
                        return((GameObject)null);
                    }
                    return(Object.op_Equality((Object)null, (Object)chaControl.cmpBoneBody.targetEtc.trfHeadParent) ? (GameObject)null : ((Component)chaControl.cmpBoneBody.targetEtc.trfHeadParent).get_gameObject());

                case ChaReference.RefObjKey.k_f_shoulderL_00:
                    if (Object.op_Equality((Object)null, (Object)chaControl.cmpBoneBody))
                    {
                        return((GameObject)null);
                    }
                    return(Object.op_Equality((Object)null, (Object)chaControl.cmpBoneBody.targetEtc.trf_k_shoulderL_00) ? (GameObject)null : ((Component)chaControl.cmpBoneBody.targetEtc.trf_k_shoulderL_00).get_gameObject());

                case ChaReference.RefObjKey.k_f_shoulderR_00:
                    if (Object.op_Equality((Object)null, (Object)chaControl.cmpBoneBody))
                    {
                        return((GameObject)null);
                    }
                    return(Object.op_Equality((Object)null, (Object)chaControl.cmpBoneBody.targetEtc.trf_k_shoulderR_00) ? (GameObject)null : ((Component)chaControl.cmpBoneBody.targetEtc.trf_k_shoulderR_00).get_gameObject());

                case ChaReference.RefObjKey.k_f_handL_00:
                    if (Object.op_Equality((Object)null, (Object)chaControl.cmpBoneBody))
                    {
                        return((GameObject)null);
                    }
                    return(Object.op_Equality((Object)null, (Object)chaControl.cmpBoneBody.targetEtc.trf_k_handL_00) ? (GameObject)null : ((Component)chaControl.cmpBoneBody.targetEtc.trf_k_handL_00).get_gameObject());

                case ChaReference.RefObjKey.k_f_handR_00:
                    if (Object.op_Equality((Object)null, (Object)chaControl.cmpBoneBody))
                    {
                        return((GameObject)null);
                    }
                    return(Object.op_Equality((Object)null, (Object)chaControl.cmpBoneBody.targetEtc.trf_k_handR_00) ? (GameObject)null : ((Component)chaControl.cmpBoneBody.targetEtc.trf_k_handR_00).get_gameObject());
                }
            }
            GameObject gameObject = (GameObject)null;

            this.dictRefObj.TryGetValue((int)key, out gameObject);
            return(gameObject);
        }
示例#3
0
 public SelectionChangedInfo(int accessoryParentKey, int refObjKey)
 {
     AccessoryParentKey = (ChaAccessoryDefine.AccessoryParentKey)accessoryParentKey;
     RefObjKey          = (ChaReference.RefObjKey)refObjKey;
 }
示例#4
0
            private void RefreshRefNode()
            {
                foreach (Transform _child in _baseNode.transform)
                {
                    Destroy(_child.gameObject);
                }

                if (_selectedParent.IsNullOrEmpty())
                {
                    _needRefreshRefNode = false;
                    return;
                }

                List <ChaFileAccessory.PartsInfo> _parts = ListPartsInfo();

                for (int _slotIndex = 0; _slotIndex < _parts.Count; _slotIndex++)
                {
                    if (!_checkboxList.ContainsKey(_slotIndex))
                    {
                        continue;
                    }
                    if (!_checkboxList[_slotIndex])
                    {
                        continue;
                    }

                    GameObject _ca_slot = _chaCtrl.GetAccessoryObject(_slotIndex);
                    if (_ca_slot == null)
                    {
                        continue;
                    }

                    ChaReference.RefObjKey _key           = (ChaReference.RefObjKey)Enum.Parse(typeof(ChaReference.RefObjKey), _parts[_slotIndex].parentKey);
                    GameObject             _referenceInfo = _chaCtrl.GetReferenceInfo(_key);

                    GameObject             _ref_ca_slot = new GameObject($"ref_ca_slot{_slotIndex:00}");
                    HemorrhoidsBusterChild _cmp         = _ref_ca_slot.AddComponent <HemorrhoidsBusterChild>();
                    _cmp.SlotIndex = _slotIndex;
                    _ref_ca_slot.transform.SetParent(_baseNode.transform, false);
                    _ref_ca_slot.transform.position   = _referenceInfo.transform.position;
                    _ref_ca_slot.transform.rotation   = _referenceInfo.transform.rotation;
                    _ref_ca_slot.transform.localScale = new Vector3(_referenceInfo.transform.localScale.x / _baseNode.transform.localScale.x, _referenceInfo.transform.localScale.y / _baseNode.transform.localScale.y, _referenceInfo.transform.localScale.z / _baseNode.transform.localScale.z);

                    Transform _n_move = _ca_slot.GetComponentsInChildren <Transform>().Where(x => x.name == "N_move").FirstOrDefault();
                    if (_n_move == null)
                    {
                        continue;
                    }
                    _cmp.N_move = _n_move;
                    GameObject _refe_N_move = new GameObject($"N_move");
                    _refe_N_move.transform.SetParent(_ref_ca_slot.transform, false);
                    _refe_N_move.transform.position   = _n_move.position;
                    _refe_N_move.transform.rotation   = _n_move.rotation;
                    _refe_N_move.transform.localScale = new Vector3(_n_move.localScale.x / _baseNode.transform.localScale.x, _n_move.localScale.y / _baseNode.transform.localScale.y, _n_move.localScale.z / _baseNode.transform.localScale.z);

                    Transform _n_move2 = _ca_slot.GetComponentsInChildren <Transform>().Where(x => x.name == "N_move2").FirstOrDefault();
                    if (_n_move2 != null && !_n_move.GetComponentsInChildren <Transform>().Any(x => x.name == "N_move2"))
                    {
                        _cmp.N_move2 = _n_move2;
                        GameObject _refe_N_move2 = new GameObject($"N_move2");
                        _refe_N_move2.transform.SetParent(_ref_ca_slot.transform, true);
                        _refe_N_move2.transform.position   = _n_move2.position;
                        _refe_N_move2.transform.rotation   = _n_move2.rotation;
                        _refe_N_move2.transform.localScale = new Vector3(_n_move2.localScale.x / _baseNode.transform.localScale.x, _n_move2.localScale.y / _baseNode.transform.localScale.y, _n_move2.localScale.z / _baseNode.transform.localScale.z);
                    }
                }

                _needRefreshRefNode = false;
            }