예제 #1
0
        //---------------------------------------------------------------------
        public void update(float elapsed_tm)
        {
            switch (mOutFishState)
            {
            case OutFishState.None:
                break;

            case OutFishState.Normal:
                _checkAndCreateFishCrowd(elapsed_tm);
                break;

            case OutFishState.WaitingFormation:
                mOutFamtionDelay -= elapsed_tm;
                if (mOutFamtionDelay < 0)
                {
                    generateFormation(mParticleSystemName);
                    mOutFishState = OutFishState.Formation;
                }
                break;

            case OutFishState.Formation:
                if (mBaseFishLordMgr.getParticleSystemCount() <= 0)
                {
                    mOutFishState = OutFishState.Normal;
                }
                break;
            }
        }
예제 #2
0
        //---------------------------------------------------------------------
        public void create(CLogicScene scene, BaseFishLordMgr base_fish_lord_mgr)
        {
            mScene = scene;
            mBaseFishLordMgr = base_fish_lord_mgr;

            mFishGroupRouteAlloter = new FishGroupRouteAlloter();
            mFishRouteMap = new FishRouteMap();
            Dictionary<int, EbData> mapData = EbDataMgr.Instance.getMapData<TbDataRoute>();
            foreach (var it in mapData)
            {
                if (TbDataRoute.DataState.ACTIVE == ((TbDataRoute)it.Value).State)
                {
                    mListRoute.Add(it.Key);
                }
            }

            mFormationNameList = mBaseFishLordMgr.getPrototypeNameList();
            mFormationNameList.Remove(mNormalFishParticleFileName);
            mFormationNameList.Remove(mRedFishParticleFileName);

            mOutFishState = OutFishState.Normal;
        }
예제 #3
0
        //---------------------------------------------------------------------
        public void create(CLogicScene scene, BaseFishLordMgr base_fish_lord_mgr)
        {
            mScene           = scene;
            mBaseFishLordMgr = base_fish_lord_mgr;

            mFishGroupRouteAlloter = new FishGroupRouteAlloter();
            mFishRouteMap          = new FishRouteMap();
            Dictionary <int, EbData> mapData = EbDataMgr.Instance.getMapData <TbDataRoute>();

            foreach (var it in mapData)
            {
                if (TbDataRoute.DataState.ACTIVE == ((TbDataRoute)it.Value).State)
                {
                    mListRoute.Add(it.Key);
                }
            }

            mFormationNameList = mBaseFishLordMgr.getPrototypeNameList();
            mFormationNameList.Remove(mNormalFishParticleFileName);
            mFormationNameList.Remove(mRedFishParticleFileName);

            mOutFishState = OutFishState.Normal;
        }
예제 #4
0
 //---------------------------------------------------------------------
 public void outFormation()
 {
     mOutFishState       = OutFishState.WaitingFormation;
     mOutFamtionDelay    = 2f;
     mParticleSystemName = mFormationNameList[getRandoNumber(0, 1000) % mFormationNameList.Count];
 }
예제 #5
0
 //---------------------------------------------------------------------
 public void update(float elapsed_tm)
 {
     switch (mOutFishState)
     {
         case OutFishState.None:
             break;
         case OutFishState.Normal:
             _checkAndCreateFishCrowd(elapsed_tm);
             break;
         case OutFishState.WaitingFormation:
             mOutFamtionDelay -= elapsed_tm;
             if (mOutFamtionDelay < 0)
             {
                 generateFormation(mParticleSystemName);
                 mOutFishState = OutFishState.Formation;
             }
             break;
         case OutFishState.Formation:
             if (mBaseFishLordMgr.getParticleSystemCount() <= 0)
             {
                 mOutFishState = OutFishState.Normal;
             }
             break;
     }
 }
예제 #6
0
 //---------------------------------------------------------------------
 public void outFormation()
 {
     mOutFishState = OutFishState.WaitingFormation;
     mOutFamtionDelay = 2f;
     mParticleSystemName = mFormationNameList[getRandoNumber(0, 1000) % mFormationNameList.Count];
 }