Esempio n. 1
0
 public void Initialize(RoomInstance room, JRoomContentConfig contentConfig, string param)
 {
     this.room          = room;
     isInitialize       = false;
     isLoadingBath      = false;
     this.room          = room;
     this.contentConfig = contentConfig;
     curBatch           = -1;
     OnInitialize(room, contentConfig);
 }
Esempio n. 2
0
    /// <summary>
    /// 初始化RoomContent
    /// </summary>
    JRoomContentConfig InitializeContentConfig(string name)
    {
        name = name.ToLower();
        JRoomContentConfig config = null;

        if (m_SourceConfigs.TryGetValue(name, out config))
        {
            //已初始化后,可以在SourceConfigs里删除了
            m_SourceConfigs.Remove(name);
            JRoomContentConfig parent = GetContentConfig(config.parent);
            if (parent != null)
            {
                config.InheritFromParent(parent);
            }
            m_InitializedContentConfigs.Add(config.name, config);
            return(config);
        }

        return(null);
    }
Esempio n. 3
0
    /// <summary>
    /// 获取RoomContent
    /// </summary>
    /// <param name="name"></param>
    /// <returns></returns>
    public JRoomContentConfig GetContentConfig(string name)
    {
        if (name == null || name == "")
        {
            return(null);
        }

        JRoomContentConfig config = null;

        if (m_InitializedContentConfigs.TryGetValue(name.ToLower(), out config))
        {
            return(config);
        }
        config = InitializeContentConfig(name);
        if (config == null)
        {
            Debug.LogError("找不到RoomContent " + name);
            return(null);
        }
        else
        {
            return(config);
        }
    }
Esempio n. 4
0
 /// <summary>
 /// 从父配置里继承数据
 /// </summary>
 /// <param name="parent"></param>
 public void InheritFromParent(JRoomContentConfig parent)
 {
     if (script == null || script == "")
     {
         script = parent.script;
     }
     if (param == null || param == "")
     {
         param = parent.param;
     }
     if (model == null || model == "")
     {
         model = parent.model;
     }
     if (contents == null && parent.contents != null)
     {
         contents = new Dictionary <int, JBatchContent>();
         var e = parent.contents.GetEnumerator();
         while (e.MoveNext())
         {
             contents.Add(e.Current.Key, new JBatchContent(e.Current.Value));
         }
     }
 }
Esempio n. 5
0
 public static RoomScriptBase Create(RoomInstance room, JRoomContentConfig contentConfig, string scriptName, string scriptParam)
 {
     if (scriptName == "null" || scriptName == null)
     {
         DefaultRoomScript script = new DefaultRoomScript();
         script.Initialize(room, contentConfig, scriptParam);
         return(script);
     }
     else
     {
         try
         {
             Type           type   = Type.GetType(scriptName);
             RoomScriptBase script = Activator.CreateInstance(type) as RoomScriptBase;
             script.Initialize(room, contentConfig, scriptParam);
             return(script);
         }
         catch (Exception e)
         {
             Debug.LogError("创建房间脚本" + scriptName + "失败!\n" + e.Message);
             return(null);
         }
     }
 }
Esempio n. 6
0
 protected virtual void OnInitialize(RoomInstance room, JRoomContentConfig contentConfig)
 {
 }