//--------------------------------------------------------------------- public void create(CRenderScene scene, TbDataFish vib_fish_data) { mScene = scene; mVibFishData = vib_fish_data; mFishCycleGap = mScene.getLayerAlloter().EachFishGap / 10f; bool has_cycle = !string.IsNullOrEmpty(mVibFishData.CycleAnimationName); for (int i = 0; i < mFishNumber; i++) { mFishs.Add(mScene.getRenderObjectPool().newFishStillSprite()); if (has_cycle) { mRedBottom = new CSpriteRedBottom(); mRedBottom.create(mScene, this, mVibFishData); } } foreach (var it in mFishs) { it.init(this, scene); } float fish_scale = ((float)mVibFishData.FishHeight / (float)mVibFishData.FishPixelHeight); foreach (var it in mFishs) { it.setScale(0.7f * fish_scale); } playAnimation(mVibFishData.FishAnimMove); if (mVibFishData.Red == TbDataFish.IsRed.YES) { mInitColor = new Color(1, 0, 0); resetColor(1); } }