//protected ObjState supressStateMask; //public ObjState SupressStateMask { get { return supressStateMask; } } public virtual void OnCaptureCurrentState(int frameId) { //if (GetComponent<SyncPickup>()) // Debug.LogError(name + " " + ticksUntilRespawn); Frame frame = frames[frameId]; //Debug.Log(name + " " + photonView.ControllerActorNr + " countdown: <b>" + ticksUntilRespawn + "</b> " + hadInitialSpawn); /// First check for a respawn - this may belong in post or pre sim, but here for now if (!hadInitialSpawn || respawnEnable) { if (ticksUntilRespawn == 0) { syncState.Respawn(false); hadInitialSpawn = true; } ticksUntilRespawn--; frame.ticksUntilRespawn = ticksUntilRespawn; } if (despawnEnable) { if (ticksUntilDespawn == 0) { syncState.Despawn(false); } ticksUntilDespawn--; frame.ticksUntilDespawn = ticksUntilDespawn; } }
protected virtual void RootVitalBecameZero(Vital vital) { for (int i = 0, cnt = OnRootVitalBecameZero.Count; i < cnt; ++i) { OnRootVitalBecameZero[i].OnRootVitalBecameZero(vital, null); } if (autoDespawn) { if (syncState) { if (ReferenceEquals(rootVital, vital)) { syncState.Despawn(false); } } } }