// 添加追踪 public static void AddTracking(object obj) { bool flag = StateTracker.instance != null; if (flag) { List <MemberInfo> membersInfo = Utils.GetMembersInfo(obj.GetType()); int i = 0; int count = membersInfo.Count; while (i < count) { MemberInfo memberInfo = membersInfo[i]; object[] customAttributes = memberInfo.GetCustomAttributes(true); bool flag2 = customAttributes != null; if (flag2) { int j = 0; int num = customAttributes.Length; while (j < num) { bool flag3 = customAttributes[j] is AddTracking; if (flag3) { StateTracker.AddTracking(obj, memberInfo.Name); } j++; } } i++; } } }
/** * @brief Initializes internal properties based on whether there is a {@link TSCollider2D} attached. **/ public void Initialize() { if (initialized) { return; } tsCollider = GetComponent <FPCollider2D>(); if (transform.parent != null) { tsParent = transform.parent.GetComponent <FPTransform2D>(); } if (!_serialized) { UpdateEditMode(); } if (tsCollider != null) { if (tsCollider.IsBodyInitialized) { tsCollider.Body.TSPosition = _position + scaledCenter; tsCollider.Body.TSOrientation = _rotation * FP.Deg2Rad; } } else { StateTracker.AddTracking(this); } initialized = true; }
/** * @brief Generates a new instance based on a given seed. **/ public static FPRandom New(int seed) { FPRandom r = new FPRandom(seed); StateTracker.AddTracking(r, "mt"); StateTracker.AddTracking(r, "mti"); return(r); }
void Awake() { FrameSyncConfig currentConfig = ActiveConfig; lockedTimeStep = currentConfig.lockedTimeStep; StateTracker.Init(currentConfig.rollbackWindow); // TODO: 随机数种子在这里指定,需要修改为由 Server 统一指定 FPRandom.Init(); if (currentConfig.physics2DEnabled || currentConfig.physics3DEnabled) { PhysicsManager.New(currentConfig); PhysicsManager.instance.LockedTimeStep = lockedTimeStep; PhysicsManager.instance.Init(); } StateTracker.AddTracking(this, "time"); }
public FrameSyncManagedBehaviour(IFrameSyncBehaviour FrameSyncBehavior) { StateTracker.AddTracking(this); StateTracker.AddTracking(FrameSyncBehavior); this.FrameSyncBehavior = FrameSyncBehavior; }