コード例 #1
0
        public void MakeObjQueNode(int number = 1)
        {
            if (number < 1)
            {
                number = 1;
            }
            for (int i = 0; i < number; i++)
            {
                StageObjArr soa = RandomObjGenerator.GetInstance().RandomObjGen();

                StageST.EnqueStageObjs(soa);
            }
        }
コード例 #2
0
ファイル: StageEditorST.cs プロジェクト: Costie92/UnityRun
        bool UpperHuddleCheck(int spawnPointNum, E_SPAWN_OBJ_TYPE changingType, StageObjArr soa)
        {
            //검증단계
            if (spawnPointNum == 1)
            {
                if (soa.spawnObjType[0] == E_SPAWN_OBJ_TYPE.UPPER_HUDDLE_2 || soa.spawnObjType[0] == E_SPAWN_OBJ_TYPE.UPPER_HUDDLE_3)
                {
                    return(false);
                }

                if (changingType == E_SPAWN_OBJ_TYPE.UPPER_HUDDLE_3)
                {
                    return(false);
                }
            }
            if (spawnPointNum == 2)
            {
                if (soa.spawnObjType[1] == E_SPAWN_OBJ_TYPE.UPPER_HUDDLE_2 || soa.spawnObjType[1] == E_SPAWN_OBJ_TYPE.UPPER_HUDDLE_3)
                {
                    return(false);
                }

                if (changingType == E_SPAWN_OBJ_TYPE.UPPER_HUDDLE_3 || changingType == E_SPAWN_OBJ_TYPE.UPPER_HUDDLE_2)
                {
                    return(false);
                }
            }



            if (spawnPointNum == 0) //보정 단계
            {
                if (changingType == E_SPAWN_OBJ_TYPE.UPPER_HUDDLE_2)
                {
                    soa.spawnObjType[1] = E_SPAWN_OBJ_TYPE.NOTHING;
                }
                if (changingType == E_SPAWN_OBJ_TYPE.UPPER_HUDDLE_3)
                {
                    soa.spawnObjType[1] = E_SPAWN_OBJ_TYPE.NOTHING;
                    soa.spawnObjType[2] = E_SPAWN_OBJ_TYPE.NOTHING;
                }
            }
            else if (spawnPointNum == 1)
            {
                if (changingType == E_SPAWN_OBJ_TYPE.UPPER_HUDDLE_2)
                {
                    soa.spawnObjType[2] = E_SPAWN_OBJ_TYPE.NOTHING;
                }
            }
            return(true);
        }
コード例 #3
0
        //마그넷이 뜨면 코인의 확률을 더 올려준다든지,
        //!!!볼은 절대 연속으로 세번 나오거나 하면 안돼!!!!!
        //이제 타입 배열만 뱉도록 하게.
        public StageObjArr RandomObjGen()
        {
            int  upperFlag   = 0;
            bool uppered     = false;
            bool ballSpawned = false;

            StageObjArr soa = new StageObjArr();

            for (int i = 0; i < soa.spawnObjType.Length; i++)
            {
                if (upperFlag-- > 0)
                {
                    continue;
                }

                soa.spawnObjType[i] = GambleObjType(i, uppered: uppered, ballSpawned: ballSpawned);
                if (ballSpawned)
                {
                    ballSpawned = false;
                }
                if (soa.spawnObjType[i].Equals(E_SPAWN_OBJ_TYPE.BALL))
                {
                    ballSpawned = true;
                }
                if (soa.spawnObjType[i].Equals(E_SPAWN_OBJ_TYPE.UPPER_HUDDLE_1))
                {
                    uppered = true;
                }
                if (soa.spawnObjType[i].Equals(E_SPAWN_OBJ_TYPE.UPPER_HUDDLE_2))
                {
                    upperFlag = 1;
                    uppered   = true;
                }
                if (soa.spawnObjType[i].Equals(E_SPAWN_OBJ_TYPE.UPPER_HUDDLE_3))
                {
                    upperFlag = 2;
                    uppered   = true;
                }
            }
            return(soa);
        }
コード例 #4
0
        public static void ObjGen(E_STAGE whatStage, Transform spawnPointGroup, ref List <GameObject> objs)
        {
            if (objs == null || spawnPointGroup == null)
            {
                return;
            }

            if (StageST.objQueue.Count == 0)
            {
                if (whatStage == E_STAGE.INFINITY)
                {
                    InfinityFactory.GetInstance().MakeObjQueNode();
                }

                else
                {
                    return;
                }
            }

            StageObjArr soa = StageST.objQueue.Dequeue();

            FixedObjGenerator.FixedObjGen(spawnPointGroup, soa.spawnObjType, ref objs);
        }
コード例 #5
0
ファイル: StageEditorST.cs プロジェクト: Costie92/UnityRun
 public StageEditorST(int pos, E_WhichTurn whichTurn, StageObjArr soa)
 {
     this.pos       = pos;
     this.whichTurn = whichTurn;
     this.soa       = soa;
 }
コード例 #6
0
ファイル: StageST.cs プロジェクト: Costie92/UnityRun
 public static void EnqueStageObjs(StageObjArr soa)
 {
     objQueue.Enqueue(soa);
 }
コード例 #7
0
ファイル: StageST.cs プロジェクト: Costie92/UnityRun
        public static void EnqueStageObjs(E_SPAWN_OBJ_TYPE obj1st, E_SPAWN_OBJ_TYPE obj2nd, E_SPAWN_OBJ_TYPE obj3rd)
        {
            StageObjArr tempObjQue = new StageObjArr(obj1st, obj2nd, obj3rd);

            objQueue.Enqueue(tempObjQue);
        }