예제 #1
0
    public virtual void Build()
    {
        List <FieldInfo> fields = GetType().GetFields().ToList().FindAll(t => t.FieldType.InheritsFrom(typeof(TileComponent_)));

        foreach (FieldInfo field in fields)
        {
            TileComponent_ tileComponent = (TileComponent_)CreateInstance(field.FieldType.Name);
            tileComponent.Build(this);
            field.SetValue(this, tileComponent);
        }
    }
예제 #2
0
    public virtual void Build(TileOwner_ tileOwner)
    {
        this.tileOwner = tileOwner;
        List <FieldInfo> fields = GetType().GetFields().ToList().FindAll(t => t.FieldType.InheritsFrom(typeof(TileComponent_)));

        foreach (FieldInfo field in fields)
        {
            TileComponent_ tileComponent_ = (TileComponent_)CreateInstance(field.FieldType);
            tileComponent_.Build(tileOwner);
            field.SetValue(this, tileComponent_);
        }
    }
예제 #3
0
    public override void Build(TileOwner_ tileOwner)
    {
        base.Build(tileOwner);

        List <FieldInfo> fields = GetType().GetFields().ToList().FindAll(t => t.FieldType.InheritsFrom(typeof(TileComponent_)));

        foreach (FieldInfo field in fields)
        {
            string         fieldName     = "TreeTile" + char.ToUpper(field.FieldType.Name.Substring("Tile".Length)[0]) + field.FieldType.Name.Substring(1 + "Tile".Length);
            TileComponent_ tileComponent = (TileComponent_)CreateInstance(fieldName);
            field.SetValue(this, tileComponent);
        }
    }