public virtual void OnBodyCreated() { m_OwnerAni = new AnimationCell(m_OwnerPlayer.RoleBody.gameObject); AddMovingScript(); //ChangeMoveAnimation(); //ChangeVehicleAnimation(); InitAnimation(); }
private void parseCellBank(Stream stream) { using (var r = new BinaryReader(stream)) { int cellCount = r.ReadUInt16(); var attributes = r.ReadUInt16(); Cells = new List <AnimationCell>(cellCount); uint cellOffset = r.ReadUInt32(); Mapping = (MappingFormat)r.ReadUInt32(); var sectionPtr = r.ReadUInt32(); //2 junk pointers that aren't used stream.Position = cellOffset; int tileIndexShift = ((int)Mapping) & 3; long cellDataSize = (attributes == 1) ? 16 : 8; long oamStart = cellOffset + cellDataSize * cellCount; for (int cellIndex = 0; cellIndex < cellCount; ++cellIndex) { var cell = new AnimationCell(); int numOAMS = r.ReadUInt16(); r.Skip(2); //attributes long oamOffset = r.ReadUInt32(); { long curPos = stream.Position; stream.Position = oamStart + oamOffset; var oams = new List <OAMEntry>(numOAMS); for (int oamIndex = 0; oamIndex < numOAMS; ++oamIndex) { var oam = new OAMEntry(); oam.Load(r, tileIndexShift, 0); oams.Add(oam); } cell.oams = oams; Cells.Add(cell); stream.Position = curPos; } if (attributes == 1) { r.Skip(8); } } } }