Ejemplo n.º 1
0
    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();
        }
    }
Ejemplo n.º 2
0
    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();
                }
            }
        }
    }
Ejemplo n.º 3
0
    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();
                }
            }
        }
    }