==============================
深夜看完你的教程
关于增加一个新类 我有这样一个思路 来讨论讨论
==============================
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public static class NewClassManager
{
//用一个字典去包含所有的要新加的类 第一个string为类名 第二个string为方法名 如Start Update 第三个Action 为具体的实现方法
//然后在xlua里面里面直接扩充这个dictionary就可以
public static Dictionary{string, Dictionary{string, Action}} classDict = new Dictionary>();
public static void AddScript(GameObject go, string className)
{
NewClass newClass = go.AddComponent();
newClass.className = className;
newClass.Awake();
}
}
===========================
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class NewClass : MonoBehaviour
{
public string className = "";
Dictionary{string, Action} actionDict;
public void Awake()
{
if (className == "")
{
return;
}
actionDict = NewClassManager.classDict[className];
string actionName = "Awake";
if (actionDict.ContainsKey(actionName))
{
actionDict[actionName]();
}
}
// Use this for initialization
void Start()
{
string actionName = "Start";
if (actionDict.ContainsKey(actionName))
{
actionDict[actionName]();
}
}
// Update is called once per frame
void Update()
{
string actionName = "Update";
if (actionDict.ContainsKey(actionName))
{
actionDict[actionName]();
}
}
}