initial commit

This commit is contained in:
Caleb
2026-03-01 15:59:27 +08:00
commit a9e97d56cb
1426 changed files with 172367 additions and 0 deletions

View File

@@ -0,0 +1,71 @@
//
// FUItem.h
// FUAvatarSDK
//
// Created by ly-Mac on 2020/11/16.
//
#import <Foundation/Foundation.h>
#import "FUParam.h"
#import "FURenderableObject.h"
NS_ASSUME_NONNULL_BEGIN
@interface FUItem : FURenderableObject
@property (nonatomic, copy) NSString *name; // 道具名称
@property (nonatomic, copy) NSString *path; // 道具绝对路径
@property (nonatomic, copy, readonly) NSString *fileId;
@property (nonatomic, assign) BOOL supportARMode; // 是否支持 AR 模式
@property (nonatomic, copy) NSSet<NSNumber *> *bodyInvisibleList; // 身体隐藏区域
/// 根据道具路径创建道具对象,可支持自动加载
/// @param path 道具路径
/// @param name 道具名称
/// @param fileId itemList 中的 path
- (instancetype)initWithPath:(NSString *)path name:(nullable NSString *)name fileId:(nullable NSString *)fileId;
/// 根据道具路径创建道具对象,可支持自动加载
/// @param path 道具路径
/// @param name 道具名称
- (instancetype)initWithPath:(NSString *)path name:(nullable NSString *)name;
+ (instancetype)itemWithPath:(NSString *)path name:(nullable NSString *)name fileId:(nullable NSString *)fileId;
+ (instancetype)itemWithPath:(NSString *)path name:(nullable NSString *)name;
- (int)setParam:(FUParam *)param;
- (int)setParam:(id)param forName:(NSString *)name paramType:(FUParamType)paramType;
- (id)getParamForName:(NSString *)name paramType:(FUParamType)paramType;
//把缓存的属性值全部设置一边
- (BOOL)setAllProperty;
////replaceObj 被替换的对象
//- (BOOL)replaceOldObj:(FUItem *)replaceObj;
////replaceOldBeauty 过滤不替换的属性名称
//@property (nonatomic, copy) NSArray *(^FiltersBlock)(void);
//
///**
// * 遇到结构体属性上抛给特定的FUItem处理如 FUMakeupFUHairItem*
// * typeName属性类型name 属性名称
// */
//@property (nonatomic, copy) void (^StructBlock)(NSString *typeName, NSString *name);
//
///**
// * 遇到资源类的item上抛给特定的FUItem处理如FUMakeup
// * oldItem 属性类的item如果是资源类上层处理。否则就递归处理非资源类FUItem
// * name 属性名称
// */
//@property (nonatomic, copy) void (^ResourceBlock)(FUItem *oldItem, NSString *name);
@end
NS_ASSUME_NONNULL_END