public static void CreateCharacter(CS_CharacterGraph curGraph, Vector3 mousePosition) { if (curGraph == null) { return; } CS_CharacterBase currentCharacter = null; currentCharacter = ScriptableObject.CreateInstance <CS_CharacterBox>(); currentCharacter.CharacterName = "Name"; currentCharacter.sprite = Resources.Load("view_bg_normal", typeof(Sprite)) as Sprite; if (currentCharacter != null) { currentCharacter.InitCharacter(); Rect charRect = GetBoxPosition(curGraph); currentCharacter.CharacterRect = charRect; currentCharacter.ParentGraph = curGraph; curGraph.Characters.Add(currentCharacter); AssetDatabase.AddObjectToAsset(currentCharacter, curGraph); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); } }
private void ProcessEvents(Event e, Rect viewRect) { if (viewRect.Contains(e.mousePosition)) { if (e.button == 0 && e.type == EventType.MouseDown) { DeselectAllDialogs(); ShowProperties = false; bool setDialog = false; for (int i = 0; i < Characters.Count; i++) { if (Characters[i].CharacterRect.Contains(e.mousePosition)) { Characters[i].IsSelected = true; selectedCharacter = Characters[i]; setDialog = true; } } if (!setDialog) { DeselectAllDialogs(); } } } }
public static void DeleteCharacter(int characterID, CS_CharacterGraph curGraph) { if (curGraph != null) { if (curGraph.Characters.Count >= characterID) { CS_CharacterBase deleteDialog = curGraph.Characters[characterID]; if (deleteDialog != null) { curGraph.Characters.RemoveAt(characterID); GameObject.DestroyImmediate(deleteDialog, true); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); } } } }