gameScene을 다른 곳에서 쓰는 방법?

    //    fileprivate func tigRules_stresslessMode(_ vUpperBloc: AtomicBloc, _ vX: Int, _ vY: Int, _ effectX: CGFloat, _ effectY: CGFloat) {

    //        //        Shape.random(startingColumn: GS.s.hjhPreviewXposition, startingRow: GS.s.hjhPreviewYposition)

    //        let blocYposition : Int = vUpperBloc.mYposition

    //        var tigRulesY : Int = vUpperBloc.mYposition

    //

    //        while checkingDrawOrWin(typeUpper: vUpperBloc.mBlocType, typelower: GS.s.hjhBlocStorage?[vX, tigRulesY + 1]?.mBlocType ?? hjhBlocType.Rock) {

    //            debugPrint("tigRules2", vUpperBloc.mYposition)

    //

    //            tigRulesY += 1

    //            if tigRulesY >= GS.s.hjhMaxBlocksVertical - 1 {

    //                //                GS.s.hjhBlocStorage?[vX, GS.s.hjhMaxBlocksVertical - 1] = vUpperBloc

    //                tigRulesY -= 1

    //                break

    //            } else {

    //                //                GS.s.hjhBlocStorage?[vX, tigRulesY] = vUpperBloc.copy(column: vUpperBloc.mXposition, row: vUpperBloc.mYposition, type: vUpperBloc.mBlocType)

    //            }

    //        }

    //

    //

    //        GS.s.hjhBlocStorage?[vX, tigRulesY]?.deletingMeFromStorage()

    //        let moveAction = SKAction.move(to: GS.s.gameScene?.spritePositionCalculator_(column: vX, row: tigRulesY) ?? CGPoint(x: 0,y: 0), duration: TimeInterval(0.2))

    //        moveAction.timingMode = .easeOut

    //        vUpperBloc.mSprite?.run(SKAction.sequence([SKAction.group([moveAction]), SKAction.removeFromParent()]))

    //

    //        for i in blocYposition..<tigRulesY {

    //            totalScore += 10

    //

    //            GS.s.hjhBlocStorage?[vX, i]?.mSprite?.alpha = 1000

    //            let hjhAction002 = SKAction.scale(to: 0, duration: 0.5)

    //            GS.s.hjhBlocStorage?[vX, i]?.mSprite?.run(

    //                SKAction.sequence(

    //                    [SKAction.group([hjhAction002]),

    //                     SKAction.removeFromParent()]

    //                )

    //            )

    //

    //            GS.s.hjhBlocStorage?[vX, i]?.deletingMeFromStorage()

    //

    //            let effect = eff_baamTwoBlocks(x: effectX, y: effectY)

    //            GS.s.gameScene?.addChild(effect)

    //        }

    //

    //    }

간단하다. 싱글톤으로 쓰면 된다.

 

싱글톤 기법이 참 여러군데서 쓰이는데 C++ 전문 개발자 말고는 왠만하면 안 썼으면 한다.

프로그램 커지고 나면 메모리 단 까지 디버깅 할 수 있는 엔지니어야 괜찮은데

어설프게 쓰고 나서 코드 리뷰 들어가면, 결국 이직해야 하는 상황이 올 수도 있다.

뭐, 중간에 커뮤니케이션 잘 되는 실력 있는 개발자라면 같이 잘 해결하면 될 듯.

내가 추구하는 개발 문화까지 매 번 적으려니 노파심 쩐다. ㅋㅋㅋ 뭐 어쩔 수 있나...

다 통일해야 하는데.

'Blog History' 카테고리의 다른 글

431  (0) 2020.06.06
430  (0) 2020.06.06
428  (0) 2020.06.06
427  (0) 2020.06.06
426  (0) 2020.06.06

+ Recent posts