Ejemplo n.º 1
0
    private ISubject GetGameEvent(Enum_GameEvent gameEvent)
    {
        if (gameevents.ContainsKey(gameEvent))
        {
            return(gameevents[gameEvent]);
        }
        ISubject subject = null;

        switch (gameEvent)
        {
        case Enum_GameEvent.EnemyKilled:
            subject = new EnemyKilledSubject();
            break;

        case Enum_GameEvent.WeaponCollectioned:
            subject = new WeaponCollectionedSubject();
            break;

        case Enum_GameEvent.TrapTriggered:
            subject = new TrapTriggeredSubject();
            break;

        default:
            Debug.Log("还没有产生指定的主题类");
            return(null);
        }
        gameevents.Add(gameEvent, subject);
        return(subject);
    }
 //设置观察主题
 public void SetSubject(ISubject subject)
 {
     weaponCollectionedSubject = subject as WeaponCollectionedSubject;
 }