コード例 #1
0
        public Transform GetBone(EquipmentRegion region)
        {
            EquipmentBone bone = Bones.Find(x => x.region == region);

            if (bone == null || bone.bone == null)
            {
                Debug.LogWarning("Missing Bone Map configuration: " + gameObject.name);
                return(null);
            }
            return(bone.bone.transform);
        }
コード例 #2
0
        private SerializedProperty InsertEquipmentBone(EquipmentRegion region)
        {
            SerializedProperty bones = serializedObject.FindProperty("m_Bones");

            serializedObject.Update();
            bones.InsertArrayElementAtIndex(bones.arraySize);
            SerializedProperty current = bones.GetArrayElementAtIndex(bones.arraySize - 1);

            current.FindPropertyRelative("region").objectReferenceValue = region;
            current.FindPropertyRelative("bone").objectReferenceValue   = null;
            serializedObject.ApplyModifiedProperties();
            return(current);
        }
コード例 #3
0
        private void MergeEquipmentRegions()
        {
            List <EquipmentRegion> items = this.m_Source.equipments.Where(y => !this.m_Destination.equipments.Any(z => z.Name == y.Name)).ToList();

            for (int i = 0; i < items.Count; i++)
            {
                EquipmentRegion item = ScriptableObject.Instantiate(items[i]);
                item.hideFlags = HideFlags.HideInHierarchy;
                AssetDatabase.AddObjectToAsset(item, this.m_Destination);
                AssetDatabase.SaveAssets();
                AssetDatabase.Refresh();
                this.m_Destination.equipments.Add(item);
                EditorUtility.SetDirty(this.m_Destination);
            }
        }