コード例 #1
0
ファイル: Rooms.cs プロジェクト: jawbreakerr/Adventure.Net
        public static void Load(IStory story)
        {
            rooms.Clear();
            Assembly ax = story.GetType().Assembly;

            rooms.AddRange(ax.SubclassOf <Room>());
            ax = Assembly.GetExecutingAssembly();
            rooms.AddRange(ax.SubclassOf <Room>());
        }
コード例 #2
0
ファイル: Objects.cs プロジェクト: jawbreakerr/Adventure.Net
        public static void Load(IStory story)
        {
            objects.Clear();

            Assembly ax = story.GetType().Assembly;

            Type[] types = ax.GetTypes();

            foreach (var type in types)
            {
                if (type.IsSubclassOf(typeof(Object)) && !type.IsAbstract && !type.IsSubclassOf(typeof(Room)))
                {
                    var obj = Activator.CreateInstance(type) as Object;
                    if (obj != null)
                    {
                        objects.Add(obj);
                    }
                }
            }
        }