Class ModelManager

java.lang.Object
cn.lanink.gamecore.modelmanager.ModelManager
All Implemented Interfaces:
IModelManager

public class ModelManager extends Object implements IModelManager
Author:
iGxnon
  • Field Details

    • MODEL_LIST

      private static final ConcurrentMap<String,cn.nukkit.entity.data.Skin> MODEL_LIST
    • GSON

      private final com.google.gson.Gson GSON
  • Constructor Details

    • ModelManager

      public ModelManager()
  • Method Details

    • getModel

      public cn.nukkit.entity.data.Skin getModel(String key)
      Description copied from interface: IModelManager
      从模型列表获取模型
      Specified by:
      getModel in interface IModelManager
      Parameters:
      key - 模型 identifier
      Returns:
      Skin 模型 | null key值无效
    • getModel

      public cn.nukkit.entity.data.Skin getModel(Path dir, String... children)
      Description copied from interface: IModelManager
      从指定模型文件夹获取模型
      Specified by:
      getModel in interface IModelManager
      Parameters:
      dir - Path 目录
      children - 子目录
      Returns:
      Skin 模型 | null 模型目录或文件错误 注: 最终目录一定要是个文件夹
    • getModel

      public cn.nukkit.entity.data.Skin getModel(File dir, String... children)
      Description copied from interface: IModelManager
      从指定模型文件夹获取模型
      Specified by:
      getModel in interface IModelManager
      Parameters:
      dir - File 目录
      children - 子目录
      Returns:
      Skin 模型 | null 模型目录或文件错误 注: 最终目录一定要是个文件夹
    • getModel

      public cn.nukkit.entity.data.Skin getModel(File json, File image)
      Description copied from interface: IModelManager
      从指定模型文件读取模型
      Specified by:
      getModel in interface IModelManager
      Parameters:
      json - Json文件
      image - 图像文件
      Returns:
      Skin 模型 | null 模型目录或文件错误
    • getAndRegisterModel

      public cn.nukkit.entity.data.Skin getAndRegisterModel(String key, File json, File image)
      Description copied from interface: IModelManager
      获取模型并以 key为 identifier注册进模型列表
      Specified by:
      getAndRegisterModel in interface IModelManager
      Parameters:
      key - 模型 identifier
      json - Json文件
      image - 图像文件
      Returns:
      Skin 模型 | null 注册失败
    • getAndRegisterModel

      public cn.nukkit.entity.data.Skin getAndRegisterModel(String key, File dir)
      Description copied from interface: IModelManager
      获取模型并以 key为 identifier注册进模型列表
      Specified by:
      getAndRegisterModel in interface IModelManager
      Parameters:
      key - 模型 identifier
      dir - 模型目录
      Returns:
      Skin 模型 | null 注册失败
    • register

      public boolean register(String key, cn.nukkit.entity.data.Skin skin)
      Description copied from interface: IModelManager
      以 key为 identifier注册进模型列表
      Specified by:
      register in interface IModelManager
      Parameters:
      key - 模型 identifier
      skin - Skin 模型
      Returns:
      是否注册成功
    • register

      public boolean register(String key, File dir)
      Description copied from interface: IModelManager
      读取指定目录并以 key为 identifier注册进模型列表
      Specified by:
      register in interface IModelManager
      Parameters:
      key - 模型 identifier
      dir - 模型目录
      Returns:
      是否注册成功
    • getModels

      public ConcurrentMap<String,cn.nukkit.entity.data.Skin> getModels()
      Description copied from interface: IModelManager
      获取模型列表
      Specified by:
      getModels in interface IModelManager
      Returns:
      模型列表
    • getManager

      public IManager getManager(Path path)
      Specified by:
      getManager in interface IModelManager
      Parameters:
      path - 路径
      Returns:
      获取模型POJO管理器
    • getManager

      public IManager getManager(File file)
      Specified by:
      getManager in interface IModelManager
      Parameters:
      file - 路径
      Returns:
      获取模型POJO管理器
    • getManagerFromJsonStr

      public IManager getManagerFromJsonStr(String json)
      Specified by:
      getManagerFromJsonStr in interface IModelManager
      Parameters:
      json - 模型json字符串
      Returns:
      获取模型POJO管理器
    • generateJsonStr

      public String generateJsonStr(IModelManager modelManager)
      Specified by:
      generateJsonStr in interface IModelManager
      Parameters:
      modelManager - 模型POJO管理器
      Returns:
      生成的模型json 字符串