using BrewMonster; /// /// Stub实现 — 在没有真实TMP_SpriteAsset(emotion atlas)时使用的占位映射。 /// Stub implementation used when no real TMP_SpriteAsset (emotion atlas) is available yet. /// /// 当准备好atlas后,创建一个新的IEmotionSpriteMap实现,替换掉这个stub。 /// When atlas is ready, create a real IEmotionSpriteMap implementation and swap it in /// ChatEmotionDisplayPipeline / CECGameUIMan emotion pipeline. /// public class StubEmotionSpriteMap : IEmotionSpriteMap { private const int EMOTIONS_PER_SET = 50; private const int FRAMES_PER_EMOTION = 4; private const int DEFAULT_FPS = 10; public bool TryGetSprite(int emotionSet, int emotionIndex, out EmotionSpriteInfo info) { int startFrame = (emotionSet * EMOTIONS_PER_SET + emotionIndex) * FRAMES_PER_EMOTION; BMLogger.Log("[Cuong] TryGetSprite"); info = new EmotionSpriteInfo { SpriteIndex = startFrame, IsAnimated = true, AnimEndFrame = startFrame + FRAMES_PER_EMOTION - 1, AnimFPS = DEFAULT_FPS }; return true; } }