public object CaptureState() { AICSaveStruct savingStruct = new AICSaveStruct(); savingStruct.savedWaypointDwellTime = waypointDwellTime; savingStruct.savedTimeSinceLastSawPlayer = timeSinceLastSawPlayer; savingStruct.savedNextPosition = new SerializableVector3(nextPosition); return(savingStruct); }
public void RestoreState(object state) { AICSaveStruct savingStruct = (AICSaveStruct)state; waypointDwellTime = savingStruct.savedWaypointDwellTime; nextPosition = savingStruct.savedNextPosition.ToVector(); if (timeSinceLastSawPlayer <= Mathf.Epsilon) { timeSinceLastSawPlayer = Mathf.Infinity; } else { timeSinceLastSawPlayer = savingStruct.savedTimeSinceLastSawPlayer; } }