コード例 #1
0
    private void AddListenerToList(StoryEventListener listener, StoryEventType eventType)
    {
        switch (eventType)
        {
        case StoryEventType.OnApproachingLoc:
            ApproachLocListeners.AddLast(listener);
            break;

        case StoryEventType.OnCharacterDeath:
            CharacterDeathListeners.AddLast(listener);
            break;

        case StoryEventType.OnSquadDeath:
            SquadDeathListeners.AddLast(listener);
            break;

        case StoryEventType.OnPlayerDropItem:
            PlayerDropItemListeners.AddLast(listener);
            break;

        case StoryEventType.OnPlayerSellItem:
            PlayerSellItemListeners.AddLast(listener);
            break;

        case StoryEventType.OnPlayerTakeItem:
            PlayerTakeItemListeners.AddLast(listener);
            break;

        case StoryEventType.OnPlayerReadNote:
            PlayerReadNoteListeners.AddLast(listener);
            break;
        }
    }
コード例 #2
0
    public void AddDelegateListener(StoryEventDelegate callBack, StoryEventType eventType)
    {
        StoryEventListener listener = new StoryEventListener();

        listener.Type         = StoryEventListenerType.Delegate;
        listener.OnStoryEvent = callBack;
        AddListenerToList(listener, eventType);
    }
コード例 #3
0
    public void AddScriptListener(string scriptName, StoryEventType eventType)
    {
        StoryEventListener listener = new StoryEventListener();

        listener.Type       = StoryEventListenerType.Script;
        listener.ScriptName = scriptName;
        AddListenerToList(listener, eventType);

        Debug.Log("Added script listener " + scriptName);
    }