private void AssessmentCheck() { GUIStyle redLabel = new GUIStyle(EditorStyles.label); GUIStyle yellowLabel = new GUIStyle(EditorStyles.label); redLabel.normal.textColor = Color.red; yellowLabel.normal.textColor = new Color(0.47f, 0.38f, 0.1f); WorldObjectScript worldObjectScript = target as WorldObjectScript; PickableScript pickableScript = target as PickableScript; ActorScript actorScript = target as ActorScript; if (worldObjectScript != null) { } else if (pickableScript != null) { if (PickableHasAnyTag() == false) { GUILayout.Label("No 'pickable' tag detected!", redLabel); } if (PickableItemDataFormMatch(pickableScript) == false) { GUILayout.Label("FormID & ItemDat not match.", yellowLabel); } } }
private bool PickableItemDataFormMatch(PickableScript pickScript) { bool result = false; var formID = target.Get_ObjectRefData().formID; ItemData itemDat = pickScript.Get_Pickable_Data().itemData; if (formID.BaseID == itemDat.ID && formID.DatabaseID == itemDat.DatabaseName && formID.ObjectType == MainUtility.Convert_ItemToObjectType(itemDat.item_Type)) { result = true; } //match form with itemdat return(result); }
private void CreateNew_Actor() { WorldObjectScript worldObjectScript = target as WorldObjectScript; PickableScript pickableScript = target as PickableScript; ActorScript actorScript = target as ActorScript; var dir = NewFolder(target.gameObject.name); var path = $"{dir}/{target.gameObject.name}.prefab"; var prefab1 = PrefabUtility.SaveAsPrefabAssetAndConnect(target.gameObject, path, InteractionMode.UserAction); Actor actor = new Actor(); actor.ID = actorScript.Get_ObjectRefData().formID.BaseID; actor.gameModel = prefab1; objectDatabase.Data.allBaseActors.Add(actor); }
private void CreateNew_Pickables() { WorldObjectScript worldObjectScript = target as WorldObjectScript; PickableScript pickableScript = target as PickableScript; ActorScript actorScript = target as ActorScript; var dir = NewFolder(target.gameObject.name); var path = $"{dir}/{target.gameObject.name}.prefab"; var prefab1 = PrefabUtility.SaveAsPrefabAssetAndConnect(target.gameObject, path, InteractionMode.UserAction); ItemData_Type itemType = MainUtility.Convert_ObjectToItemType(pickableScript.Get_Pickable_Data().formID.ObjectType); if (itemType == ItemData_Type.Ammo) { Item_Ammo item = new Item_Ammo(); item.ID = pickableScript.Get_ObjectRefData().formID.BaseID; item.gameModel = prefab1; objectDatabase.Data.allItemAmmo.Add(item); } else if (itemType == ItemData_Type.Armor) { Item_Armor item = new Item_Armor(); item.ID = pickableScript.Get_ObjectRefData().formID.BaseID; item.gameModel = prefab1; objectDatabase.Data.allItemArmors.Add(item); } else if (itemType == ItemData_Type.Consume) { Item_Consumables item = new Item_Consumables(); item.ID = pickableScript.Get_ObjectRefData().formID.BaseID; item.gameModel = prefab1; objectDatabase.Data.allItemConsumables.Add(item); } else if (itemType == ItemData_Type.Junk) { Item_Junk item = new Item_Junk(); item.ID = pickableScript.Get_ObjectRefData().formID.BaseID; item.gameModel = prefab1; objectDatabase.Data.allItemJunk.Add(item); } else if (itemType == ItemData_Type.Key) { Item_Key item = new Item_Key(); item.ID = pickableScript.Get_ObjectRefData().formID.BaseID; item.gameModel = prefab1; objectDatabase.Data.allItemKey.Add(item); } else if (itemType == ItemData_Type.Misc) { Item_Misc item = new Item_Misc(); item.ID = pickableScript.Get_ObjectRefData().formID.BaseID; item.gameModel = prefab1; objectDatabase.Data.allItemMiscs.Add(item); } else if (itemType == ItemData_Type.Weapon) { Item_Weapon item = new Item_Weapon(); item.ID = pickableScript.Get_ObjectRefData().formID.BaseID; item.gameModel = prefab1; objectDatabase.Data.allItemWeapon.Add(item); } }