예제 #1
0
    void ChangeState(StageScene stage)
    {
        switch (stage) {
        case StageScene.FIRST_PLAY:
            Time.timeScale = 0;

            GetComponent<SpriteRenderer>().enabled = true;

            break;

        case StageScene.RUNNING:
            Time.timeScale = 1;

            GetComponent<SpriteRenderer>().enabled = false;

            break;

        case StageScene.DEATH:
            Time.timeScale = 0;

            GetComponent<SpriteRenderer>().enabled = true;

            break;
        }

        this._stage = stage;
    }
예제 #2
0
    void ChangeState(StageScene stage)
    {
        switch (stage)
        {
        case StageScene.FIRST_PLAY:
            Time.timeScale = 0;

            GetComponent <SpriteRenderer>().enabled = true;

            break;

        case StageScene.RUNNING:
            Time.timeScale = 1;

            GetComponent <SpriteRenderer>().enabled = false;

            break;

        case StageScene.DEATH:
            Time.timeScale = 0;

            GetComponent <SpriteRenderer>().enabled = true;

            break;
        }

        this._stage = stage;
    }
 public override void Destroy()
 {
     mScene     = null;
     mRes       = null;
     mEndModule = null;
     EventSystem.Instance.removeEventListener(StageEndUIEvent.STAGE_END_FINISH, onGameOver);
 }
예제 #4
0
    public StageSceneBalanceComponent(StageScene scene)
    {
        mScene = scene;

        mRes = mScene.GetStageRes();

        EventSystem.Instance.addEventListener(StageEndUIEvent.STAGE_END_FINISH, OnStageEndFinish);
    }
예제 #5
0
    public StageSceneReliveComponent(StageScene scene)
    {
        mScene = scene;

        mRes = mScene.GetStageRes();

        EventSystem.Instance.addEventListener(StageReliveEvent.STAGE_RELIVE_REQUEST, onReliveRequest);
        EventSystem.Instance.addEventListener(StageReliveEvent.STAGE_RELIVE_RESPOND, onReliveRespond);
    }
예제 #6
0
    // 销毁
    public override void Destroy()
    {
        mScene = null;

        mRes = null;

        EventSystem.Instance.removeEventListener(StageReliveEvent.STAGE_RELIVE_REQUEST, onReliveRequest);
        EventSystem.Instance.removeEventListener(StageReliveEvent.STAGE_RELIVE_RESPOND, onReliveRespond);
    }
    public ActiveSceneBalanceComponent(StageScene scene)
    {
        mScene = scene;
        mRes   = mScene.GetStageRes();

        EventSystem.Instance.addEventListener(StageEndUIEvent.STAGE_END_FINISH, onGameOver);

        Init();
    }
예제 #8
0
    override public BaseScene CreateScene(int resId)
    {
        BaseScene scene = new StageScene();

        if (!InitScene(scene, resId))
        {
            return(null);
        }

        return(scene);
    }
예제 #9
0
    // AwakeメソッドはStartメソッドよりも先に実行したい初期化処理を記述します。
    void Awake()
    {
        // 生成されたインスタンス(自分自身)をstaticな変数に保存
        instance = this;

        // Resourcesフォルダーからステージのプレハブを読み込む
        var prefabName  = string.Format("stage{0}", stageNo);
        var stagePrefab = Resources.Load <GameObject>(prefabName);

        Instantiate(stagePrefab, transform);
    }
예제 #10
0
    public static IEnumerator LoadMatch(byte[] stageInfo)
    {
        IEnumerator itor = AnimationLoader.LoadStageSceneAnimation(RoomData.PlayMusciInfo.m_strMusicSource, RoomData.PlaySongMode);

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

        CSceneInfo sceneInfo = StaticData.SceneDataMgr.GetSceneByID((byte)RoomData.PlayScene);

        if (sceneInfo != null)
        {
            itor = SceneLoader.LoadStageScene(sceneInfo.m_strSceneStage);
            while (itor.MoveNext())
            {
                yield return(null);
            }
        }

        StageScene stageScene = null;

        if (CSceneBehaviour.Current != null)
        {
            stageScene = CSceneBehaviour.Current.gameObject.AddComponent <StageScene>();
            CSceneBehaviour.Current.CurScene = stageScene;
        }

        itor = UIMgr.ShowUIAsync(UIFlag.ui_taigu, null);
        while (itor.MoveNext())
        {
            yield return(null);
        }

        itor = CMatchBase.CurrentMatch.PrepareMatch(true, true, stageInfo);
        while (itor.MoveNext())
        {
            yield return(null);
        }

        if (stageScene != null)
        {
            stageScene.gameObject.SendMessage("PlayerEnterScene", true, SendMessageOptions.RequireReceiver);
        }

        CMatchBase.CurrentMatch.BeginMatch();
    }
예제 #11
0
    public bool CheckPicksable(string pickname)
    {
        bool       usable = CheckTempMoney();
        StageScene bs     = SceneManager.Instance.GetCurScene() as StageScene;

        if (bs == null)
        {
            return(false);
        }

        List <Pick> picks = bs.SearchObjsByAlias <Pick>(pickname);

        if (picks == null || picks.Count == 0)
        {
            GameDebug.Log("当前没有pickbuff");
            return(false);
        }
        GameDebug.Log("设置buf状态:" + usable + "pick_buff数目:" + picks.Count);
        if (usable && isShowPrompt)
        {
            PromptUIManager.Instance.AddNewPrompt(StringHelper.GetString("buy_daibi"));
        }

        foreach (var pick in picks)
        {
            if (usable)
            {
                pick.ChangeAlpha(1);
                pick.mIsPickable = true;
            }
            else
            {
                pick.ChangeAlpha(0.3f);
                pick.mIsPickable = false;
            }
        }
        return(true);
    }
예제 #12
0
    // 初始化数据
    private void Init()
    {
        BaseScene scene = SceneManager.Instance.GetCurScene();

        if (scene == null)
        {
            return;
        }

        if (!typeof(StageScene).IsAssignableFrom(scene.GetType()))
        {
            return;
        }

        StageScene stage = scene as StageScene;

        mRes = stage.GetStageRes();
        if (mRes == null)
        {
            return;
        }

        if (mModule == null)
        {
            mModule = ModuleManager.Instance.FindModule <StageBalanceModule>();
        }

        mOKBtn.SetActive(false);

        mNormalPanel.SetActive(false);
        mExtraPanel.SetActive(false);
        mAwardPanel.SetActive(false);
        mExtraAwardPanel.SetActive(false);
        mNormalEffectUI.Stop();
        mExtraEffectUI.Stop();

        // 不显示普通翻牌
        if (mRes.mRandomAwardTimes < 1 || mRes.mRandomAwardBoxId < 0)
        {
            mLeftAwardTimes = 0;
            mState          = UIState.STATE_3;
        }
        else
        {
            mNormalPanel.SetActive(true);
            mLeftAwardTimes = mRes.mRandomAwardTimes;
            mState          = UIState.STATE_0;
        }

        mNormalTimesLabel1.text = GetCardTypeText(mRes.mRandomAwardCostId);

        foreach (StageBalanceItemUI item in mItemNormalList)
        {
            item.SetCostId(mRes.mRandomAwardCostId);
            item.AddListener();
        }

        UpdateAwardTimes();
        //RandomAward();

        // 不显示钻石翻牌
        if (mRes.mExtraAwardTimes < 1 || mRes.mExtraAwardBoxId < 0)
        {
            mLeftExtraAwardTimes = 0;
            if (mState == UIState.STATE_3)
            {
                mState = UIState.STATE_DESTROY;
                mOKBtn.SetActive(true);
            }
        }
        else
        {
            mLeftExtraAwardTimes = mRes.mExtraAwardTimes;
        }

        mExtraTimesLabel1.text = GetCardTypeText(mRes.mExtraAwardCostId);

        foreach (StageBalanceItemUI item in mItemExtraList)
        {
            item.SetCostId(mRes.mExtraAwardCostId);
            item.AddListener();
        }

        UpdateExtraAwardTimes();
        //RandomExtraAward();
    }
예제 #13
0
 public TDBalanceComponent(StageScene scene) : base(scene)
 {
 }
예제 #14
0
 public MonsterFloodBlanceComponent(StageScene scene) : base(scene)
 {
 }