示例#1
0
	protected virtual void fixedUpdate(float elapsedTime)
	{
		if (mFrameComponentUpdate == null)
		{
			return;
		}
		int count = mFrameComponentUpdate.Count;
		for (int i = 0; i < count; ++i)
		{
			// 因为在更新过程中也可能销毁所有组件,所以需要每次循环都要判断
			if (mFrameComponentUpdate == null)
			{
				return;
			}
			FrameSystem component = mFrameComponentUpdate[i];
			if (component != null && !component.isDestroy())
			{
#if UNITY_EDITOR || DEVELOPMENT_BUILD
				Profiler.BeginSample(component.getName());
#endif
				component.fixedUpdate(elapsedTime);
#if UNITY_EDITOR || DEVELOPMENT_BUILD
				Profiler.EndSample();
#endif
			}
		}
	}
示例#2
0
	protected virtual void drawGizmos()
	{
		if (mFrameComponentUpdate == null)
		{
			return;
		}
		int count = mFrameComponentUpdate.Count;
		for (int i = 0; i < count; ++i)
		{
			// 因为在更新过程中也可能销毁所有组件,所以需要每次循环都要判断
			if (mFrameComponentUpdate == null)
			{
				return;
			}
			FrameSystem component = mFrameComponentUpdate[i];
			if (component != null && !component.isDestroy())
			{
				component.onDrawGizmos();
			}
		}
	}
示例#3
0
	protected virtual void lateUpdate(float elapsedTime)
	{
		if (mFrameComponentUpdate == null)
		{
			return;
		}
		int count = mFrameComponentUpdate.Count;
		for (int i = 0; i < count; ++i)
		{
			// 因为在更新过程中也可能销毁所有组件,所以需要每次循环都要判断
			if (mFrameComponentUpdate == null)
			{
				return;
			}
			FrameSystem component = mFrameComponentUpdate[i];
			if (component != null && !component.isDestroy())
			{
				component.lateUpdate(elapsedTime);
			}
		}
	}
示例#4
0
 // a小于b返回-1, a等于b返回0, a大于b返回1,升序排序
 static public int compareDestroy(FrameSystem a, FrameSystem b)
 {
     return(sign(a.mDestroyOrder - b.mDestroyOrder));
 }
示例#5
0
 // a小于b返回-1, a等于b返回0, a大于b返回1,升序排序
 static public int compareUpdate(FrameSystem a, FrameSystem b)
 {
     return(sign(a.mUpdateOrder - b.mUpdateOrder));
 }
示例#6
0
 // a小于b返回-1, a等于b返回0, a大于b返回1,升序排序
 static public int compareInit(FrameSystem a, FrameSystem b)
 {
     return(sign(a.mInitOrder - b.mInitOrder));
 }
示例#7
0
    private List <int> recycleList = new List <int>();                   //id回收列表

    /// <summary>
    /// 初始化
    /// </summary>
    public void InitFrameSys()
    {
        Intance = this;//单例赋值
    }
示例#8
0
    // Start is called before the first frame update
    void Awake()
    {
        FrameSystem frameSystem = GetComponent <FrameSystem>();

        frameSystem.InitFrameSys();
    }