Пример #1
0
ICharacter *MovieClip::createCharacter(const ITag* tag, const PlaceObjectTag* place) {
	ICharacter *character = NULL;
	switch ( tag->code() ) {
	case TAG_DEFINE_SPRITE:
		character = new MovieClip(_owner, this, ((DefineSpriteTag*)tag)->getMovieFrames(), place);
		character->update();
		_characters.push_back(character);
		break;
	case TAG_DEFINE_BUTTON2:
		character = new Button(*this, *(DefineButton2Tag*)tag);
		_characters.push_back(character);
		break;
	case TAG_DEFINE_EDIT_TEXT:
		character = new Text(*(DefineEditTextTag*)tag, place);
		_characters.push_back(character);
		break;
	case TAG_IMPORT_ASSETS2:
		character = ((ImportAssets2Tag*)tag)->getCharacter();
		break;
	default:
		character = (DefineShapeTag*)tag;
		break;
	}
	return character;
}