コード例 #1
0
    private void OnEventDirectionAngle(string dirValStr, int userId)
    {
        //Debug.Log("pcvr::OnEventDirectionAngle -> userId " + userId + ", val " + dirValStr);
        GamePlayerData playerDt = m_GamePlayerData.Find((dt) => { return(dt.m_PlayerWeiXinData.userId.Equals(userId)); });

        if (playerDt != null && playerDt.Index > -1 && playerDt.Index < m_MaxPlayerNum)
        {
            //Debug.Log("OnEventDirectionAngle -> playerIndex == " + playerDt.Index);
            playerDt.IsExitWeiXin = false;
            if (m_IndexPlayerActiveGameState[playerDt.Index] == (int)PlayerActiveState.JiHuo)
            {
                //处于激活状态的玩家才可以进行游戏操作.
                //传递玩家移动篮筐的数据信息.
                //dirValStr -> [0f, 100f].
                if (dirValStr == PlayerShouBingDir.up.ToString())
                {
                    //雷霆战车中玩家手指离开摇杆(摇杆回中了).
                    return;
                }

                float maxVal = 50f;
                float valTmp = System.Convert.ToInt32(dirValStr);
                //向左平移maxVal单位.
                valTmp -= maxVal;
                valTmp  = Mathf.Clamp(valTmp, -maxVal, maxVal);
                float inputVal = valTmp == 0f ? 0f : (valTmp / maxVal);
                InputEventCtrl.GetInstance().ClickHddPadLanKuangBt((SSGameDataCtrl.PlayerIndex)playerDt.Index, inputVal);
            }
        }
    }
コード例 #2
0
    public GamePlayerData setPlayerData(bool isPlayerSide, P_Hero heroData, Dictionary <string, string> units, Dictionary <string, string> skills)
    {
        if (heroData == null)
        {
            return(null);
        }

        string[] u = new string[5];
        u[0] = units[UnitSlot.U1];
        u[1] = units[UnitSlot.U2];
        u[2] = units[UnitSlot.U3];
        u[3] = units[UnitSlot.U4];
        u[4] = units[UnitSlot.U5];

        string[] s = new string[3];
        s[0] = skills[SkillSlot.S1];
        s[1] = skills[SkillSlot.S2];
        s[2] = skills[SkillSlot.S3];

        GamePlayerData gpd = new GamePlayerData(heroData.name);

        DebugManager.instance.setPlayerData(gpd, isPlayerSide, heroData.name,
                                            heroData.selEqts[HeroParts.HEAD],
                                            heroData.selEqts[HeroParts.BODY],
                                            heroData.selEqts[HeroParts.WEAPON],
                                            heroData.selEqts[HeroParts.VEHICLE],
                                            u, s, DebugManager.instance.pvpAi);

        return(gpd);
    }
コード例 #3
0
    /// <summary>
    /// 发射按键响应.
    /// </summary>
    private void OnEventActionOperation(string val, int userId)
    {
        //Debug.Log("pcvr::OnEventActionOperation -> userId " + userId + ", val " + val);
        GamePlayerData playerDt = m_GamePlayerData.Find((dt) => { return(dt.m_PlayerWeiXinData.userId.Equals(userId)); });

        if (playerDt != null && playerDt.Index > -1 && playerDt.Index < m_MaxPlayerNum)
        {
            //Debug.Log("OnEventActionOperation -> playerIndex == " + playerDt.Index);
            playerDt.IsExitWeiXin = false;
            if (m_IndexPlayerActiveGameState[playerDt.Index] == (int)PlayerActiveState.JiHuo)
            {
                //处于激活状态的玩家才可以进行游戏操作.
                if (val == PlayerShouBingFireBt.fireADown.ToString() ||
                    val == PlayerShouBingFireBt.fireXDown.ToString())
                {
                    InputEventCtrl.GetInstance().ClickStartBt((SSGameDataCtrl.PlayerIndex)playerDt.Index, InputEventCtrl.ButtonState.DOWN);
                }

                if (val == PlayerShouBingFireBt.fireBDown.ToString() ||
                    val == PlayerShouBingFireBt.fireYDown.ToString())
                {
                    InputEventCtrl.GetInstance().ClickStartBt((SSGameDataCtrl.PlayerIndex)playerDt.Index, InputEventCtrl.ButtonState.DOWN);
                }
            }
        }
    }
コード例 #4
0
 public void SetIndexPlayerActiveGameState(int index, byte activeState)
 {
     m_IndexPlayerActiveGameState[index] = activeState;
     if (activeState == (int)PlayerActiveState.WeiJiHuo)
     {
         GamePlayerData playerDt = m_GamePlayerData.Find((dt) => { return(dt.Index.Equals(index)); });
         if (playerDt != null)
         {
             if (playerDt.IsExitWeiXin)
             {
                 //玩家已经退出微信.
                 Debug.Log("player have exit weiXin! clean the player data...");
                 m_GamePlayerData.Remove(playerDt);
             }
             else
             {
                 //玩家血值耗尽应该续费了,找到玩家数据.
                 Debug.Log("player should buy game coin!");
                 //清理玩家微信数据,必须重新扫码才可继续游戏.
                 m_GamePlayerData.Remove(playerDt);
             }
         }
         CheckRemoveGmTVLoginDt(index);
     }
 }
コード例 #5
0
    public void loadEffectFromPlayerData(GamePlayerData pd, bool loadPlayerEffectOnly = false)
    {
        if (pd == null)
        {
            return;
        }
        loadEffectByBulletPatternIdAndAttackType(pd.partsWeapon.parts.baseId, pd.partsWeapon.parts.attackType.type);

        if (loadPlayerEffectOnly == false)
        {
            if (pd.unitResourceId != null)
            {
                foreach (string u in pd.unitResourceId)
                {
                    loadEffectFromUnitData(u);
                }
            }

            if (pd.skills != null)
            {
                foreach (string s in pd.skills)
                {
                    loadEffectFromHeroSkillData(s);
                }
            }
        }
    }
コード例 #6
0
    private void OnEventPlayerLoginBox(WebSocketSimpet.PlayerWeiXinData val)
    {
        Debug.Log("pcvr::OnEventPlayerLoginBox -> userName " + val.userName + ", userId " + val.userId);
        GamePlayerData playerDt = m_GamePlayerData.Find((dt) => {
            if (dt.m_PlayerWeiXinData != null)
            {
                return(dt.m_PlayerWeiXinData.userId.Equals(val.userId));
            }
            return(dt.m_PlayerWeiXinData.Equals(val));
        });

        int  indexPlayer    = -1;
        bool isActivePlayer = false;

        if (playerDt == null)
        {
            indexPlayer = GetActivePlayerIndex();
            if (indexPlayer > -1 && indexPlayer < m_MaxPlayerNum)
            {
                Debug.Log("Active player, indexPlayer == " + indexPlayer);
                playerDt = new GamePlayerData();
                playerDt.m_PlayerWeiXinData = val;
                playerDt.Index = indexPlayer;
                m_GamePlayerData.Add(playerDt);
                isActivePlayer = true;
            }
            else
            {
                Debug.Log("have not empty player!");
            }
        }
        else
        {
            Debug.Log("player have active game!");
            playerDt.IsExitWeiXin = false;
            if (playerDt.Index > -1 && playerDt.Index < m_MaxPlayerNum)
            {
                if (m_IndexPlayerActiveGameState[playerDt.Index] == (int)PlayerActiveState.WeiJiHuo)
                {
                    isActivePlayer = true;
                    indexPlayer    = playerDt.Index;
                }
            }
        }

        if (isActivePlayer)
        {
            switch (indexPlayer)
            {
            case 0:
            case 1:
            {
                SSGameDataCtrl.GetInstance().m_PlayerData[indexPlayer].PlayerHeadUrl = playerDt.m_PlayerWeiXinData.headUrl;
                InputEventCtrl.GetInstance().ClickStartBt((SSGameDataCtrl.PlayerIndex)indexPlayer, InputEventCtrl.ButtonState.DOWN);
                break;
            }
            }
        }
    }
コード例 #7
0
ファイル: GameRoom.cs プロジェクト: weimingtom/ACGCard-Server
        public GameRoom(int roomID, PlayerSocket playerSocketA, PlayerSocket playerSocketB)
        {
            this.roomID = roomID;
            this.playerSocketA = playerSocketA;
            this.playerSocketB = playerSocketB;

            this.playerDataA = new GamePlayerData(this, PlayerPosition.A);
            this.playerDataB = new GamePlayerData(this, PlayerPosition.B);
        }
コード例 #8
0
    public static GamePlayerData deserialize(string[] d, bool isFirstPlayer)
    {
        int index = 5;

        if (isFirstPlayer == false)
        {
            index = 25;
        }

        GamePlayerData gpd = new GamePlayerData(d[index]);

        gpd.level = Convert.ToInt16(d[index + 1]);
        gpd.ai    = d[index + 2];

        _tempStringList.Clear();
        for (int i = index + 3; i < index + 8; ++i)
        {
            if (string.IsNullOrEmpty(d[i]) == false)
            {
                _tempStringList.Add(d[i]);
            }
            else
            {
                _tempStringList.Add("");
            }
        }

        gpd.units = _tempStringList.ToArray();

        _tempStringList.Clear();
        for (int i = index + 8; i < index + 11; ++i)
        {
            if (string.IsNullOrEmpty(d[i]) == false)
            {
                _tempStringList.Add(d[i]);
            }
            else
            {
                _tempStringList.Add("");
            }
        }

        gpd.skills = _tempStringList.ToArray();

        gpd.partsHead    = new HeroPartsItem(gpd.id, d[index + 11]);
        gpd.partsBody    = new HeroPartsItem(gpd.id, d[index + 12]);
        gpd.partsWeapon  = new HeroPartsItem(gpd.id, d[index + 13]);
        gpd.partsVehicle = new HeroPartsItem(gpd.id, d[index + 14]);

        GameManager.me.uiManager.popupChampionshipResult.enemyId     = d[index + 15];
        GameManager.me.uiManager.popupChampionshipResult.matchNumber = Convert.ToInt32(d[index + 16]);

        UIPlay.playerLeagueGrade = Convert.ToInt32(d[index + 17]);
        UIPlay.pvpleagueGrade    = Convert.ToInt32(d[index + 18]);

        return(gpd);
    }
コード例 #9
0
    public GamePlayerData clone(bool includeRunes = true)
    {
        GamePlayerData target = new GamePlayerData(id);

        target.id           = id;
        target.level        = level;
        target.heroData     = heroData;
        target.partsHead    = partsHead;
        target.partsBody    = partsBody;
        target.partsWeapon  = partsWeapon;
        target.partsVehicle = partsVehicle;
        target.faceTexture  = faceTexture;
        target.ai           = ai;

        if (includeRunes)
        {
            if (_units == null)
            {
                target.units = null;
            }
            else
            {
                string[] tempUnits = new string[_units.Length];

                for (int i = 0; i < _units.Length; ++i)
                {
                    tempUnits[i] = _units[i];
                }
                target.units = tempUnits;
            }

            if (_skills == null)
            {
                target.skills = null;
            }
            else
            {
                string[] tempSkills = new string[_skills.Length];

                for (int i = 0; i < _skills.Length; ++i)
                {
                    tempSkills[i] = _skills[i];
                }
                target.skills = tempSkills;
            }
        }

        return(target);
    }
コード例 #10
0
    public static GamePlayerData getTestModePlayerData(string id, bool isPlayerSide, string ai, string handicapType = null)
    {
        TestModeData tmd = GameManager.info.testModeData[id];

        GamePlayerData testModeData = new GamePlayerData(tmd.hero);

        string[] u = new string[5];

        if (string.IsNullOrEmpty(handicapType) == false && (handicapType == WSDefine.HANDICAP_TYPE_UNIT || handicapType == WSDefine.HANDICAP_TYPE_BOTH))
        {
            u[0] = string.Empty;
            u[1] = string.Empty;
            u[2] = string.Empty;
            u[3] = string.Empty;
            u[4] = string.Empty;
        }
        else
        {
            u[0] = tmd.u1;
            u[1] = tmd.u2;
            u[2] = tmd.u3;
            u[3] = tmd.u4;
            u[4] = tmd.u5;
        }


        string[] s = new string[3];

        if (string.IsNullOrEmpty(handicapType) == false && (handicapType == WSDefine.HANDICAP_TYPE_SKILL || handicapType == WSDefine.HANDICAP_TYPE_BOTH))
        {
            s[0] = string.Empty;
            s[1] = string.Empty;
            s[2] = string.Empty;
        }
        else
        {
            s[0] = tmd.s1;
            s[1] = tmd.s2;
            s[2] = tmd.s3;
        }

        DebugManager.instance.setPlayerData(testModeData, isPlayerSide, tmd.hero, tmd.head, tmd.body, tmd.weapon, tmd.vehicle, u, s, ai);

        return(testModeData);
    }
コード例 #11
0
    private void OnEventPlayerExitBox(int userId)
    {
        Debug.Log("pcvr::OnEventPlayerExitBox -> userId " + userId);
        GamePlayerData playerDt = m_GamePlayerData.Find((dt) => { return(dt.m_PlayerWeiXinData.userId.Equals(userId)); });

        if (playerDt != null)
        {
            playerDt.IsExitWeiXin = true;
            if (playerDt.Index > -1 && playerDt.Index < m_MaxPlayerNum)
            {
                if (m_IndexPlayerActiveGameState[playerDt.Index] == (int)PlayerActiveState.WeiJiHuo)
                {
                    //玩家血值耗尽,清理玩家微信数据.
                    m_GamePlayerData.Remove(playerDt);
                    Debug.Log("OnEventPlayerExitBox -> clear player weiXin data...");
                }
            }
        }
    }
コード例 #12
0
    void startUpdateCharacter()
    {
        _updateCharacterComplete = false;

        _selectHeroId = GameDataManager.instance.selectHeroId;



        if (GameDataManager.instance.selectSubHeroId == null)
        {
            btnChangeToSub.gameObject.SetActive(false);
            btnChangeToMain.gameObject.SetActive(false);

            _currentCharacterIsMain = true;
        }
        else
        {
            if (_currentCharacterIsMain == false)
            {
                _selectHeroId = GameDataManager.instance.selectSubHeroId;
            }
        }

        _currentGamePlayerData = GameDataManager.instance.heroes[_selectHeroId];

        _playerUnitSlots  = GameDataManager.instance.playerUnitSlots[_selectHeroId];
        _playerSkillSlots = GameDataManager.instance.playerSkillSlots[_selectHeroId];

        for (int i = 0; i < 3; ++i)
        {
            if (_playerSkillSlots[i].isOpen)
            {
                nowSkills[i].setData(_playerSkillSlots[i].infoData, _currentGamePlayerData);
            }
            else
            {
                nowSkills[i].setData(null);
            }
        }

        StartCoroutine(updateCharacter());
    }
コード例 #13
0
    public void setDebugInitData()
    {
        int i = 0;

        GameDataManager.instance.parseInitPacket(initData);

        if (GameDataManager.instance.heroes.ContainsKey(Character.KILEY) == false)
        {
            GameDataManager.instance.heroes.Add(Character.KILEY, new GamePlayerData(Character.KILEY));
        }
        if (GameDataManager.instance.heroes.ContainsKey(Character.LEO) == false)
        {
            GameDataManager.instance.heroes.Add(Character.LEO, new GamePlayerData(Character.LEO));
        }
        if (GameDataManager.instance.heroes.ContainsKey(Character.CHLOE) == false)
        {
            GameDataManager.instance.heroes.Add(Character.CHLOE, new GamePlayerData(Character.CHLOE));
        }

        GameDataManager.instance.heroes[Character.KILEY] = setPlayerData(GameDataManager.instance.heroes[Character.KILEY], true, Character.KILEY,
                                                                         "KILEY_HD1_11_0_0", "KILEY_BD1_11_0_0", "KILEY_WP1_11_0_0", "KILEY_RD1_11_0_0",
                                                                         debugUnitId, debugSkillId, ai);
        GameDataManager.instance.heroes[Character.LEO] = setPlayerData(GameDataManager.instance.heroes[Character.LEO], true, Character.LEO,
                                                                       "LEO_HD1_11_0_0", "LEO_BD1_11_0_0", "LEO_WP1_11_0_0", "LEO_RD1_11_0_0",
                                                                       debugUnitId, debugSkillId, ai);

        GameDataManager.instance.heroes[Character.CHLOE] = setPlayerData(GameDataManager.instance.heroes[Character.CHLOE], true, Character.CHLOE,
                                                                         "CHLOE_HD4_11_0_0", "CHLOE_BD4_11_0_0", "CHLOE_WP4_11_0_0", "CHLOE_RD4_11_0_0",
                                                                         debugUnitId, debugSkillId, ai, "pc_chloe_face01");


        GameDataManager.instance.selectSubHeroId = defaultHero2;

        GameDataManager.instance.heroes[defaultHero] = setPlayerData(GameDataManager.instance.heroes[defaultHero], true, defaultHero, equipHead, equipBody, equipWeapon, equipVehicle, debugUnitId, debugSkillId, ai);
        pvpPlayerData = setPlayerData(pvpPlayerData, false, pvpDefaultHero, pvpEquipHead, pvpEquipBody, pvpEquipWeapon, pvpEquipVehicle, pvpDebugUnitId, pvpDebugSkillId, pvpAi);

        setDebugTagPVPData();

        GameDataManager.instance.unitInventory.Clear();
        GameDataManager.instance.unitInventoryList.Clear();
        GameDataManager.instance.skillInventory.Clear();
    }
コード例 #14
0
    public void setData(GameIDData infoData, GamePlayerData gpd = null)
    {
        if (infoData == null)
        {
            gamePlayerData = null;
            data           = null;
            spIcon.gameObject.SetActive(false);
            spSkillRare.gameObject.SetActive(false);
        }
        else
        {
            gamePlayerData = gpd;
            data           = infoData;
            spIcon.gameObject.SetActive(true);

            Icon.setSkillIcon(data.getSkillIcon(), spIcon);

            spSkillRare.gameObject.SetActive(true);
            spSkillRare.spriteName = RareType.getRareLineSprite(infoData.rare);
        }
    }
コード例 #15
0
    void loadPlayerUnits(GamePlayerData gpd, bool isResourceType = false)
    {
        MonsterData md;

        if (gpd == null)
        {
            return;
        }

        if (isResourceType == false)
        {
            if (gpd.units != null)
            {
                foreach (string unitId in gpd.units)
                {
                    if (string.IsNullOrEmpty(unitId) == false)
                    {
                        GameIDData eUnitInfo = new GameIDData();
                        eUnitInfo.parse(unitId, GameIDData.Type.Unit);
                        md = GameManager.info.monsterData[eUnitInfo.unitData.resource];
                        gameDataManager.addLoadModelData(md);
                    }
                }
            }
        }
        else
        {
            if (gpd.unitResourceId != null)
            {
                foreach (string unitId in gpd.unitResourceId)
                {
                    if (string.IsNullOrEmpty(unitId) == false)
                    {
                        md = GameManager.info.monsterData[GameManager.info.unitData[unitId].resource];
                        gameDataManager.addLoadModelData(md);
                    }
                }
            }
        }
    }
コード例 #16
0
    public void setDebugTagPVPData()
    {
        if (useTagMatchMode == false)
        {
            return;
        }
#if UNITY_EDITOR
        playerData2 = new GamePlayerData(defaultHero2);
        playerData2 = setPlayerData(playerData2, true, true, defaultHero2, equipHead2, equipBody2, equipWeapon2, equipVehicle2, debugUnitId2, debugSkillId2, ai2);

        pvpPlayerData2 = new GamePlayerData(pvpDefaultHero2);
        pvpPlayerData2 = setPlayerData(pvpPlayerData2, false, true, pvpDefaultHero2, pvpEquipHead2, pvpEquipBody2, pvpEquipWeapon2, pvpEquipVehicle2, pvpDebugUnitId2, pvpDebugSkillId2, pvpAi2);
#else
        SetupData sd = GameManager.info.setupData;
        playerData2 = new GamePlayerData(sd.tagTest1Hero);
        playerData2 = setPlayerData(playerData2, true, true, sd.tagTest1Hero, sd.tagTest1Equips[0], sd.tagTest1Equips[1], sd.tagTest1Equips[2], sd.tagTest1Equips[3], sd.tagTest1Unit, sd.tagTest1Skill, ai2);


        pvpPlayerData2 = new GamePlayerData(sd.tagTest2Hero);
        pvpPlayerData2 = setPlayerData(pvpPlayerData2, false, true, sd.tagTest2Hero, sd.tagTest2Equips[0], sd.tagTest2Equips[1], sd.tagTest2Equips[2], sd.tagTest2Equips[3], sd.tagTest2Unit, sd.tagTest2Skill, pvpAi2);
#endif
    }
コード例 #17
0
    public Player addPlayerToStage(bool isPlayerMon, GamePlayerData pd, Vector3 position, bool addList = true, int playerTagIndex = 0)
    {
        Player player;

#if UNITY_EDITOR
        Debug.Log(pd.id);
#endif

        player = (Player)GameManager.me.characterManager.getMonster(true, false, pd.id, addList);

//		Log.log("addPlayerToStage : " + player, player.name);

        player.setPositionCtransform(position);

        player.isCutSceneOnlyCharacter = false;

        player.init(pd, isPlayerMon, true, playerTagIndex);

        player.setPositionCtransform(position);

        player.setVisible(true);
        player.isEnabled = true;


        player.pet = (Pet)GameManager.me.characterManager.getMonster(false, false, pd.partsVehicle.parts.resource.ToUpper(), false);
        player.pet.init(player);
        player.container.name = "PVP";
        if (player.hpBar != null)
        {
            player.hpBar.isEnabled = true;
            player.hpBar.visible   = false;
        }



        return(player);
    }
コード例 #18
0
    void onClickButton(GameObject go)
    {
        if (slotType == BaseSlot.InventorySlotType.FriendDetailSlot)
        {
            if (data == null)
            {
                return;
            }

            if (GameManager.me.uiManager.popupShop.popupFriendDetail.gameObject.activeSelf)
            {
                GameManager.me.uiManager.popupShop.popupFriendDetail.showSlotTooltip(spSelectBorder, data.getTooltipDescription(), transform.localPosition);
            }
            else
            {
                GameManager.me.uiManager.popupFriendDetail.showSlotTooltip(spSelectBorder, data.getTooltipDescription(), transform.localPosition);
            }
        }
        else if (slotType == BaseSlot.InventorySlotType.HeroInfoSlot)
        {
            GamePlayerData selectHeroData = null;
            GameDataManager.instance.heroes.TryGetValue(GameManager.me.uiManager.uiMenu.uiSkill.tabPlayer.currentTab, out selectHeroData);
            GameManager.me.uiManager.popupSkillPreview.show(data, RuneInfoPopup.Type.PreviewOnly, true, true, selectHeroData);
        }
        else if (isMyInven == false)
        {
            if (data == null)
            {
                return;
            }
            GameManager.me.uiManager.uiVisitingLobby.onClickSkill(data);
        }
        else
        {
            GameManager.me.uiManager.uiMenu.uiSkill.onSelectSlot(this, data);
        }
    }
コード例 #19
0
    void onClickRound(GameObject go)
    {
        if (WindRunnerMain.instance != null || CutSceneManager.nowOpenCutScene)
        {
            return;
        }

        if (GameManager.info.roundData.ContainsKey(selectDebugRoundId))
        {
            bool isPVPMode = true;
            DebugManager.useTestRound = true;

            if (selectDebugRoundId.ToLower().Contains("pvp") == false)
            {
                GameManager.me.stageManager.setNowRound(GameManager.info.roundData[selectDebugRoundId], GameType.Mode.Epic);
                isPVPMode = false;
                GameManager.me.uiManager.showLoading();
            }
            else
            {
                GameManager.me.stageManager.setNowRound(GameManager.info.roundData[selectDebugRoundId], GameType.Mode.Championship);
            }

            if (selectDebugRoundId == "INTRO")
            {
                StartCoroutine(GameManager.me.startOpening());
            }
            else
            {
                TestModeData tmd = GameManager.info.testModeData[_id];

                GamePlayerData testModeData = new GamePlayerData(tmd.hero);

                string[] u = new string[5];
                u[0] = tmd.u1;
                u[1] = tmd.u2;
                u[2] = tmd.u3;
                u[3] = tmd.u4;
                u[4] = tmd.u5;

                string[] s = new string[3];
                s[0] = tmd.s1;
                s[1] = tmd.s2;
                s[2] = tmd.s3;

                if (isPVPMode == false)
                {
                    GameManager.me.uiManager.showLoading();
                    DebugManager.instance.setPlayerData(testModeData, true, tmd.hero, tmd.head, tmd.body, tmd.weapon, tmd.vehicle, u, s, DebugManager.instance.ai);
                    GameManager.me.startGame(1, testModeData);
                }
                else
                {
                    if (UIDebugRoundPopup.setMyInfo)
                    {
                        UIDebugRoundPopup.setMyInfo = false;
                        DebugManager.instance.setPlayerData(testModeData, true, tmd.hero, tmd.head, tmd.body, tmd.weapon, tmd.vehicle, u, s, DebugManager.instance.ai);
                        GameManager.me.uiManager.uiMenu.uiWorldMap.debugRoundList.askPopup.lbId.text = "PVP 설정";
                        GameManager.me.uiManager.uiMenu.uiWorldMap.debugTestModeList.gameObject.SetActive(false);
                        setTestModeData = testModeData;
                    }
                    else
                    {
                        DebugManager.instance.pvpPlayerData = new GamePlayerData(tmd.hero);
                        DebugManager.instance.setPlayerData(DebugManager.instance.pvpPlayerData, false, tmd.hero, tmd.head, tmd.body, tmd.weapon, tmd.vehicle, u, s, DebugManager.instance.pvpAi);
                        GameManager.me.uiManager.showLoading();
                        GameManager.me.startGame(1, setTestModeData);
                    }
                }
            }
        }
    }
コード例 #20
0
    void draw(int act, string name, int league, int showPhoto = WSDefine.TRUE, string photoUrl = "")
    {
        _isMain     = true;
        _currentAct = act;
        _name       = name;
        lbName.text = name;
        _showPhoto  = showPhoto;
        _photoUrl   = photoUrl;
        setLeague(league);

        _playerMainData = new GamePlayerData(_mainHero.name);
        DebugManager.instance.setPlayerData(_playerMainData, false, _mainHero.name,
                                            _mainHero.selEqts[HeroParts.HEAD],
                                            _mainHero.selEqts[HeroParts.BODY],
                                            _mainHero.selEqts[HeroParts.WEAPON],
                                            _mainHero.selEqts[HeroParts.VEHICLE]);


        int i = 0;

        if (selectUnitRunes == null)
        {
            _selectUnitRunes[0] = null;
            _selectUnitRunes[1] = null;
            _selectUnitRunes[2] = null;
            _selectUnitRunes[3] = null;
            _selectUnitRunes[4] = null;
        }
        else
        {
            foreach (KeyValuePair <string, string> kv in selectUnitRunes)
            {
                if (string.IsNullOrEmpty(kv.Value))
                {
                    _selectUnitRunes[i] = null;
                }
                else
                {
                    GameIDData gd = new GameIDData();
                    gd.parse(kv.Value, GameIDData.Type.Unit);
                    _selectUnitRunes[i] = gd;
                }

                ++i;
            }
        }

        i = 0;


        if (selectSkillRunes == null)
        {
            _selectSkillRunes[0] = null;
            _selectSkillRunes[1] = null;
            _selectSkillRunes[2] = null;
        }
        else
        {
            foreach (KeyValuePair <string, string> kv in selectSkillRunes)
            {
                if (string.IsNullOrEmpty(kv.Value))
                {
                    _selectSkillRunes[i] = null;
                }
                else
                {
                    GameIDData gd = new GameIDData();
                    gd.parse(kv.Value, GameIDData.Type.Skill);
                    _selectSkillRunes[i] = gd;
                }

                ++i;
            }
        }



        if (_subHero != null)
        {
            _playerSubData = new GamePlayerData(_subHero.name);
            DebugManager.instance.setPlayerData(_playerSubData, false, _subHero.name,
                                                _subHero.selEqts[HeroParts.HEAD],
                                                _subHero.selEqts[HeroParts.BODY],
                                                _subHero.selEqts[HeroParts.WEAPON],
                                                _subHero.selEqts[HeroParts.VEHICLE]);


            i = 0;
            foreach (KeyValuePair <string, string> kv in selectSubUnitRunes)
            {
                if (string.IsNullOrEmpty(kv.Value))
                {
                    _selectSubUnitRunes[i] = null;
                }
                else
                {
                    if (_selectSubUnitRunes[i] == null)
                    {
                        _selectSubUnitRunes[i] = new GameIDData();
                    }
                    _selectSubUnitRunes[i].parse(kv.Value, GameIDData.Type.Unit);
                }

                ++i;
            }

            i = 0;
            foreach (KeyValuePair <string, string> kv in selectSubSkillRunes)
            {
                if (string.IsNullOrEmpty(kv.Value))
                {
                    _selectSubSkillRunes[i] = null;
                }
                else
                {
                    if (_selectSubSkillRunes[i] == null)
                    {
                        _selectSubSkillRunes[i] = new GameIDData();
                    }
                    _selectSubSkillRunes[i].parse(kv.Value, GameIDData.Type.Skill);
                }

                ++i;
            }
        }

        draw();
    }
コード例 #21
0
    public void show(GameIDData d, RuneInfoPopup.Type type, bool isInventorySlot, bool isFirstSequenceForReinforce = true, GamePlayerData gpd = null, GameIDData compareData = null)
    {
        spBackground.gameObject.SetActive(true);

        spSkipModeBackground.gameObject.SetActive(false);

        popupType = type;

        simpleRotater.enabled = false;

        isFromInventorySlot = isInventorySlot;

        SoundData.play("uihe_itempopup");

        movablePanel.localPosition = new Vector3(-3000, 0, 0);


        if (type == RuneInfoPopup.Type.Reinforce || type == RuneInfoPopup.Type.Make || type == RuneInfoPopup.Type.Compose || type == RuneInfoPopup.Type.Evolve || type == RuneInfoPopup.Type.Transcend)
        {
            spBackground.color = new Color(0, 0, 0, 1f / 255f);
        }
        else
        {
            spBackground.color = new Color(0, 0, 0, 100f / 255f);
        }


        RuneStudioMain.instance.cam512.gameObject.SetActive(true);

        data.parse(d.serverId);

        _compareData = compareData;

        showFrame();

        setCharacter(gpd);

        descriptionContainer.SetActive(popupType != RuneInfoPopup.Type.Make);
        cardFrame.showDescriptionPanel(popupType != RuneInfoPopup.Type.Make, true);



        cardFrame.lbName.text = data.partsData.name;

        if (_compareData != null && popupType != RuneInfoPopup.Type.Book)
        {
            cardFrame.setLevel(data.level, (data.level - _compareData.level));
        }
        else
        {
            cardFrame.setLevel(data.level);
        }


        gameObject.SetActive(true);

        btnClose.gameObject.SetActive(type != RuneInfoPopup.Type.Reinforce || isFirstSequenceForReinforce == false);

        setButtons(isFirstSequenceForReinforce);

        visibleComposeNoticeMark();


        tabSGradeInfo[0].transform.parent.gameObject.SetActive(type == RuneInfoPopup.Type.Book && (data.rare >= RareType.S));

        setSGradeInfo(0);

        setStat(isFirstSequenceForReinforce, data);

        if (sampleHero != null)
        {
            sampleHero.shadow.gameObject.SetActive(false);
            if (sampleHero.pet != null)
            {
                sampleHero.pet.shadow.gameObject.SetActive(false);
            }
        }

        reinforceInfoBar.setReinforceData(data);

        showProcess2();
    }
コード例 #22
0
    public void initPlayer(Vector3 startPos)
    {
        GamePlayerData tagGpd      = null;
        bool           useTagMatch = false;

        if (GameManager.me.recordMode == GameManager.RecordMode.replay)
        {
            tagGpd = GameDataManager.replayAttacker2Data;
        }
        else
        {
            tagGpd = GameDataManager.instance.getSubGamePlayerData();
        }

#if UNITY_EDITOR
        if (DebugManager.instance.useDebug)
        {
            tagGpd = DebugManager.instance.playerData2;
        }
#endif

        useTagMatch = (tagGpd != null);


        if (players[0] != null && players[0] != GameManager.me.player)
        {
            try
            {
                GameManager.me.characterManager.cleanMonster(players[0]);
            }
            catch
            {
            }
        }


        players[0] = GameManager.me.player;

#if UNITY_EDITOR
        GameManager.me.player.pet.container.name = "player main";
#endif

        GameManager.me.uiManager.uiPlay.playerTagSlot[0].playerSlotIndex = 0;
        GameManager.me.uiManager.uiPlay.playerTagSlot[1].playerSlotIndex = 1;

        selectPlayerIndex   = 0;
        unSelectPlayerIndex = 1;

        players[0].updateAllGauge();

        if (GameManager.me.stageManager.nowPlayingGameType == GameType.Mode.Sigong)
        {
            useTagMatch = false;
        }

        if (DebugManager.instance.useTagMatchMode == false)
        {
            useTagMatch = false;
        }

//		GameDataManager.instance.playData["HERO"] = players[0].playerData.id;
        mainCharacterId = players[0].playerData.id;

        if (useTagMatch == false)
        {
            enableTagSlot(true, -1, false, true);
            GameManager.me.uiManager.uiPlay.playerTagSlot[0].setVisible(false);
            GameManager.me.uiManager.uiPlay.playerTagSlot[1].setVisible(false);
            canTagPlayer = false;
            return;
        }
        else
        {
            canTagPlayer = true;
        }

//		if(DebugManager.instance.useDebug)
//		{
//			players[unSelectPlayerIndex] = GameManager.me.mapManager.addPlayerToStage(true,  DebugManager.instance.playerData2  , startPos, false, 1);
//		}
//		else

        if (players[unSelectPVPIndex] != null)
        {
            try
            {
                GameManager.me.characterManager.cleanMonster(players[unSelectPVPIndex]);
            }
            catch
            {
            }
        }

        players[unSelectPlayerIndex] = GameManager.me.mapManager.addPlayerToStage(true, tagGpd, startPos, false, 1);

        if (players[unSelectPlayerIndex] != null && players[unSelectPlayerIndex].playerData != null)
        {
//			GameDataManager.instance.playSubData["HERO"] = players[unSelectPlayerIndex].playerData.id;
            subCharacterId = players[unSelectPlayerIndex].playerData.id;
        }

                #if UNITY_EDITOR
        players[unSelectPlayerIndex].pet.container.name = "player unselect " + unSelectPlayerIndex;
#endif

        initUnselectPlayer(players[unSelectPlayerIndex]);
        enableTagSlot(true, 1, true, true);

        players[unSelectPlayerIndex].updateAllGauge();

        GameManager.me.player.initChargingGauge();
    }
コード例 #23
0
 public void setDebugPVPData()
 {
     pvpPlayerData = setPlayerData(pvpPlayerData, false, pvpDefaultHero, pvpEquipHead, pvpEquipBody, pvpEquipWeapon, pvpEquipVehicle, pvpDebugUnitId, pvpDebugSkillId, pvpAi);
 }
コード例 #24
0
    void setCharacter(GamePlayerData gpd = null)
    {
        if (sampleHero != null)
        {
            GameManager.me.characterManager.cleanMonster(sampleHero);
            sampleHero = null;
        }


        sampleHero = (Player)GameManager.me.characterManager.getMonster(true, true, data.partsData.character, false);


        if (gpd != null)
        {
            gpd.copyTo(_gpd);
        }
        else if (GameDataManager.instance.heroes.ContainsKey(data.partsData.character))
        {
            GameDataManager.instance.heroes[data.partsData.character].copyTo(_gpd);
        }
        else
        {
            GameDataManager.instance.defaultHeroData[data.partsData.character].copyTo(_gpd);
        }


        if (data.partsData.type == HeroParts.WEAPON)
        {
            _gpd.partsWeapon = new HeroPartsItem(data.partsData.character, data.serverId);
            //			popupCharacterCamera.fieldOfView = 20.0f;
            //			popupCharacterCamera.transform.localPosition = new Vector3(-176,-70,-575);
            _q.eulerAngles = new Vector3(0, 1.78f, 0);
            //			popupCharacterCamera.transform.localRotation = _q;
            //			popupCharacterCamera.nearClipPlane = 273.4f;
            //			popupCharacterCamera.farClipPlane = 583.61f;
        }
        else if (data.partsData.type == HeroParts.HEAD)
        {
            _gpd.partsHead = new HeroPartsItem(data.partsData.character, data.serverId);
            //			popupCharacterCamera.fieldOfView = 16.0f;
            //			popupCharacterCamera.transform.localPosition = new Vector3(-176,-27,-576);
            _q.eulerAngles = new Vector3(3, 1.78f, 0);
            //			popupCharacterCamera.transform.localRotation = _q;
            //			popupCharacterCamera.nearClipPlane = 273.4f;
            //			popupCharacterCamera.farClipPlane = 583.61f;
        }
        else if (data.partsData.type == HeroParts.BODY)
        {
            _gpd.partsBody = new HeroPartsItem(data.partsData.character, data.serverId);
            //			popupCharacterCamera.fieldOfView = 21.8f;
            //			popupCharacterCamera.transform.localPosition = new Vector3(-181.8379f,-115.0146f,-476.4911f);
            _q.eulerAngles = new Vector3(-9.700012f, 2.8f, 1.5f);
            //			popupCharacterCamera.transform.localRotation = _q;
            //			popupCharacterCamera.nearClipPlane = 100.0f;
            //			popupCharacterCamera.farClipPlane = 583.61f;
            //-175  -15  572
        }
        else if (data.partsData.type == HeroParts.VEHICLE)
        {
            _gpd.partsVehicle = new HeroPartsItem(data.partsData.character, data.serverId);
            //			popupCharacterCamera.fieldOfView = 25.8f;
            //			popupCharacterCamera.transform.localPosition = new Vector3(-176,-20,-573);
            _q.eulerAngles = new Vector3(6.31f, 1.78f, 0);
            //			popupCharacterCamera.transform.localRotation = _q;
            //			popupCharacterCamera.nearClipPlane = 273.4f;
            //			popupCharacterCamera.farClipPlane = 583.61f;
        }


        sampleHero.init(_gpd, true, false);

        sampleHero.container.SetActive(true);

        if (data.partsData.type == HeroParts.WEAPON)
        {
            int len = sampleHero.smrs.Length;
            for (int i = 0; i < len; ++i)
            {
                sampleHero.smrs[i].enabled = (sampleHero.smrs[i].name == data.partsData.resource || sampleHero.smrs[i].name == (data.partsData.resource + "_arrow"));
            }
        }
        else if (data.partsData.type == HeroParts.VEHICLE)
        {
            sampleHero.pet = (Pet)GameManager.me.characterManager.getMonster(true, true, data.partsData.resource.ToUpper(), false);
            sampleHero.pet.init(sampleHero);
            sampleHero.setVisible(false, false);
            sampleHero.pet.isEnabled = true;
            sampleHero.ani.Stop();
        }
        else if (data.partsData.type == HeroParts.BODY || data.partsData.type == HeroParts.HEAD)
        {
            int len = sampleHero.smrs.Length;
            for (int i = 0; i < len; ++i)
            {
                sampleHero.smrs[i].enabled = (sampleHero.smrs[i].name.Contains("weapon") == false);
            }
        }


        _v.x = 0; _v.y = 0; _v.z = 0;

        sampleHero.setParent(sampleContainer);
        sampleHero.cTransform.localPosition = _v;

        _q.eulerAngles = _v;
        sampleContainer.transform.localRotation = _q;

        _q.eulerAngles = _v;
        sampleHero.cTransform.localRotation = _q;

        sampleHero.tf.localPosition = _v;

        _q.eulerAngles = _v;
        sampleHero.tf.localRotation = _q;


//		if(data.partsData.type == HeroParts.WEAPON)
//		{
//			sampleHero.animation.Play("weapon");
//		}
//		else
//		{
//			sampleHero.animation.Play("idle");
//		}


        if (data.partsData.type == HeroParts.WEAPON)
        {
            sampleHero.animation.Play("weapon");

            if (data.partsData.setPreviewPosition(sampleHero) == false)
            {
                if (data.partsData.character == "LEO")
                {
                    _v   = sampleHero.cTransform.localPosition;
                    _v.y = -13f;
                    sampleHero.cTransform.localPosition = _v;
                }

                sampleHero.cTransform.localScale = new Vector3(1.3f, 1.3f, 1.3f);
            }
        }
        else if (data.partsData.type == HeroParts.HEAD)
        {
            _v   = sampleHero.cTransform.localPosition;
            _v.x = 0.0f;
            _v.y = -50f;
            _v.z = 0.0f;
            sampleHero.cTransform.localPosition = _v;

            sampleHero.animation.Play("idle");
            sampleHero.cTransform.localScale = new Vector3(1.5f, 1.5f, 1.5f);
        }
        else
        {
            sampleHero.animation.Play("idle");
            sampleHero.cTransform.localScale = Vector3.one;
        }



        _v = sampleHero.cTransform.position;
        sampleHero.shadow.transform.position = _v;



                #if UNITY_EDITOR
        if (DebugManager.instance.useDebug)
        {
            UIHeroPreviewDataSetter s = sampleHero.cTransform.gameObject.GetComponent <UIHeroPreviewDataSetter>();
            if (s == null)
            {
                sampleHero.cTransform.gameObject.AddComponent <UIHeroPreviewDataSetter>();
            }
        }
                #endif
    }
コード例 #25
0
 public GamePlayerData setPlayerData(GamePlayerData playerData, bool isPlayerSide, string characterId, string hd, string bd, string wp, string rd, string[] units = null, string[] skills = null, string ai = "", string faceTexture = null)
 {
     return(setPlayerData(playerData, isPlayerSide, false, characterId, hd, bd, wp, rd, units, skills, ai, faceTexture));
 }
コード例 #26
0
    public GamePlayerData setPlayerData(GamePlayerData playerData, bool isPlayerSide, bool isSecondPlayer, string characterId, string hd, string bd, string wp, string rd, string[] units = null, string[] skills = null, string ai = "", string faceTexture = null)
    {
        if (playerData == null)
        {
            playerData = new GamePlayerData(characterId);
        }
        else
        {
            playerData.id = characterId;
        }

        playerData.level = 1;

        string[] tstr = new string[2];

        rd = rd.Trim().Replace("\"", "");
        hd = hd.Trim().Replace("\"", "");
        wp = wp.Trim().Replace("\"", "");
        bd = bd.Trim().Replace("\"", "");

        playerData.partsHead   = new HeroPartsItem(characterId, hd);
        playerData.partsWeapon = new HeroPartsItem(characterId, wp);
        playerData.partsBody   = new HeroPartsItem(characterId, bd);

        if (string.IsNullOrEmpty(rd))
        {
            playerData.partsVehicle = null;
        }
        else
        {
            playerData.partsVehicle = new HeroPartsItem(characterId, rd);
        }

        if (string.IsNullOrEmpty(faceTexture))
        {
            if (characterId == Character.CHLOE)
            {
                playerData.faceTexture = "pc_chloe_face01";
            }
            else
            {
                playerData.faceTexture = null;
            }
        }
        else
        {
            playerData.faceTexture = faceTexture;
        }

        _tempStringList.Clear();

        int i = 0;

        if (units != null)
        {
            for (i = 0; i < units.Length; ++i)
            {
                if (string.IsNullOrEmpty(units[i]) == false)
                {
                    _tempStringList.Add(units[i].Trim());
                }
                else if (isPlayerSide)
                {
                    _tempStringList.Add("");
                }
            }

            playerData.units = new string[5];

            for (i = 0; i < 5; ++i)
            {
                if (_tempStringList.Count > i)
                {
                    playerData.units[i] = _tempStringList[i];
                }
                else
                {
                    playerData.units[i] = null;
                }
            }

            playerData.units = playerData.units;
        }

        if (skills != null)
        {
            _tempStringList.Clear();
            for (i = 0; i < skills.Length; ++i)
            {
                if (string.IsNullOrEmpty(skills[i]) == false)
                {
                    _tempStringList.Add(skills[i].Trim());
                }
                else if (isPlayerSide)
                {
                    _tempStringList.Add("");
                }
            }

            playerData.skills = new string[3];

            for (i = 0; i < 3; ++i)
            {
                if (_tempStringList.Count > i)
                {
                    playerData.skills[i] = _tempStringList[i];
                }
                else
                {
                    playerData.skills[i] = null;
                }
            }

            playerData.skills = playerData.skills;
        }


        if (isPlayerSide)
        {
            if (isSecondPlayer == false)
            {
                for (i = 0; i < 5; ++i)
                {
                    if (playerData.units != null && i < playerData.units.Length)
                    {
                        GameDataManager.instance.playerUnitSlots[characterId][i].setData(playerData.units[i]);
                    }
                    else
                    {
                        GameDataManager.instance.playerUnitSlots[characterId][i].setData(null);
                    }
                }

                for (i = 0; i < 3; ++i)
                {
                    if (playerData.skills != null && i < playerData.skills.Length)
                    {
                        GameDataManager.instance.playerSkillSlots[characterId][i].setData(playerData.skills[i]);
                    }
                    else
                    {
                        GameDataManager.instance.playerSkillSlots[characterId][i].setData(null);
                    }
                }
            }
            else
            {
                for (i = 0; i < 5; ++i)
                {
                    if (playerData.units != null && i < playerData.units.Length)
                    {
                        GameDataManager.instance.playerUnitSlots[characterId][i].setData(playerData.units[i]);
                    }
                    else
                    {
                        GameDataManager.instance.playerUnitSlots[characterId][i].setData(null);
                    }
                }

                for (i = 0; i < 3; ++i)
                {
                    if (playerData.skills != null && i < playerData.skills.Length)
                    {
                        GameDataManager.instance.playerSkillSlots[characterId][i].setData(playerData.skills[i]);
                    }
                    else
                    {
                        GameDataManager.instance.playerSkillSlots[characterId][i].setData(null);
                    }
                }
            }
        }

        playerData.ai = ai.Replace("\"", "");

        return(playerData);
    }
コード例 #27
0
    public IEnumerator nextHellMode(float waitTime = 0.0f)
    {
        Monster.uniqueIndex = 0;

        needClearWork      = false;
        _openContinuePopup = false;

        cutSceneMapManager.visible = false;
        mapManager = normalMapManager;

        mapManager.isSetStage = false;
        playGameOver          = false;
        needClearWork         = false;

        yield return(new WaitForSeconds(0.5f));

        uiManager.uiLayoutEffect.start(UILayoutEffect.LayoutTransitionEffect.SIDE_FADE_IN, 1.0f);

        yield return(new WaitForSeconds(0.6f));

        uiManager.uiPlay.warningAlpha.stop();

        float t = RealTime.time;

        loadRoundMonsterModelData(true);

        while (gameDataManager.isCompleteLoadMap == false)
        {
            yield return(null);
        }
        ;
        while (gameDataManager.isCompleteLoadModel == false)
        {
            yield return(null);
        }
        ;
        while (SoundManager.instance.isCompleteLoadSound == false)
        {
            yield return(null);
        }
        ;
        while (effectManager.isCompleteLoadEffect == false)
        {
            yield return(null);
        }
        ;

//		t = RealTime.time - t;
//		t = 1.0f - t;
//
//		if(t > 0) yield return  new WaitForSeconds(t);

        MapData.destroyExceptionResource = GameManager.info.mapData[stageManager.getMapId()].resource;

        int prevHp = Mathf.CeilToInt(player.maxHp);
        int prevSp = Mathf.CeilToInt(player.maxSp);
        int prevMp = Mathf.CeilToInt(player.mp);

        // 이계던전에서는 플레이타임은 매 웨이브마다 초기화(0)되고
        // total 시간이 줄어둔다.
        int prevTime = Mathf.CeilToInt(GameManager.me.stageManager.playTime);

        HellModeManager.instance.leftTime -= prevTime;

        HellModeManager.instance.totalPlayTime += Mathf.CeilToInt(GameManager.me.stageManager.playTime.Get());


        mapManager.hideMap();
        clearStage();

        effectManager.deleteExceptionList.Clear();

        uiManager.uiPlay.goHellGoAni.SetActive(false);

        GameManager.me.stageManager.playTime = prevTime;

        inGameRandom = new Well512Random((uint)UnityEngine.Random.Range(1000, 99999));

        if (DebugManager.useTestRound == false)
        {
            EpiServer.instance.sendSaveHell(prevHp, prevSp, prevMp, prevTime, HellModeManager.instance.totalPlayTime);

            while (EpiServer.instance.waitForSaveWaveToServer)
            {
                yield return(null);
            }
        }

        player.clearAnimationMethod();
        player.onCompleteAttackAni();
        player.onCompleteSkillAni(null);
        player.isEnabled = true;
        player.state     = Monster.NORMAL;
        player.renderAniRightNow();


        GamePlayerData nowPlayerData = GameDataManager.selectedPlayerData;

        changeMainPlayer(GameDataManager.selectedPlayerData, nowPlayerData.id, nowPlayerData.partsVehicle.parts.resource.ToUpper());

        player.isEnabled = true;
        player.state     = Monster.NORMAL;

        player.hp = prevHp;
        player.sp = prevSp;
        player.mp = prevMp;

        player.hpBar.visible = false;

        MapData.destroyExceptionResource = null;
        yield return(null);

        characterManager.clearUnusedResource(false, prevLoadingMonsterResource);

        yield return(new WaitForSeconds(0.2f));

        yield return(Resources.UnloadUnusedAssets());

        yield return(null);

        System.GC.Collect();
        // 기본적으로 스테이지에서 쓸 배경은 만드는데...
        normalMapManager.createBackground(stageManager.getMapId(), true);
        mapManager.visible = true;

        //uiManager.uiLayoutEffect.start(UILayoutEffect.LayoutTransitionEffect.FADE_IN, 1.0f);
        uiManager.uiLayoutEffect.start(UILayoutEffect.LayoutTransitionEffect.SIDE_FADE_OUT, 1.0f);

        uiManager.uiPlay.init();

        currentScene = Scene.STATE.PLAY_READY;

        yield return(new WaitForSeconds(2.5f));

        uiManager.uiLayoutEffect.sideFade.gameObject.SetActive(false);

        yield return(new WaitForSeconds(2.5f));

        uiManager.uiLayoutEffect.sideFade.gameObject.SetActive(false);
    }
コード例 #28
0
    public void onCompleteReceivePlaySigong()
    {
        P_Sigong p = GameManager.me.uiManager.popupInstantDungeon.selectSigongData;

        if (p.roundId.StartsWith("PVP"))
        {
            DebugManager.instance.pvpPlayerData  = TestModeData.getTestModePlayerData(selectSigongData.roundId.Substring(4), false, "AI_PVP6");
            DebugManager.instance.pvpPlayerData2 = null;

            UIPlay.pvpleagueGrade = 6;

            UIPlay.pvpImageUrl    = DebugManager.instance.pvpPlayerData.id;
            UIPlay.playerImageUrl = PandoraManager.instance.localUser.image_url;

            GameManager.me.stageManager.setNowRound(GameManager.info.roundData["PVP"], GameType.Mode.Sigong);
        }
        else
        {
            GameManager.me.stageManager.setNowRound(GameManager.info.roundData[GameManager.me.uiManager.popupInstantDungeon.selectSigongData.roundId], GameType.Mode.Sigong);
        }

        GameManager.me.stageManager.sigongData = p;

        hide();

        GameManager.me.uiManager.showLoading();

        GamePlayerData gpd = null;

        if (string.IsNullOrEmpty(p.forcedDeck) == false)
        {
            if (p.forcedDeck == "HERO_SELECT")
            {
                gpd = selectHeroData;
            }
            else
            {
                gpd = TestModeData.getTestModePlayerData(p.forcedDeck, true, DebugManager.instance.ai, p.handicap);
            }
        }

        if (gpd == null)
        {
            if (string.IsNullOrEmpty(p.handicap) == false)
            {
                string heroId = GameDataManager.instance.selectHeroId;

                gpd = new GamePlayerData(heroId);

                P_Hero heroData = GameDataManager.instance.serverHeroData[GameDataManager.instance.selectHeroId];

                string[] u = new string[5];
                string[] s = new string[3];

                if (p.handicap == WSDefine.HANDICAP_TYPE_UNIT || p.handicap == WSDefine.HANDICAP_TYPE_BOTH)
                {
                    u[0] = string.Empty;
                    u[1] = string.Empty;
                    u[2] = string.Empty;
                    u[3] = string.Empty;
                    u[4] = string.Empty;
                }
                else
                {
                    u = GameDataManager.instance.getSelectUnitRunes(null);
                }

                if (p.handicap == WSDefine.HANDICAP_TYPE_SKILL || p.handicap == WSDefine.HANDICAP_TYPE_BOTH)
                {
                    s[0] = string.Empty;
                    s[1] = string.Empty;
                    s[2] = string.Empty;
                }
                else
                {
                    s = GameDataManager.instance.getSelectSkillRunes(null);
                }

                DebugManager.instance.setPlayerData(gpd, true,
                                                    heroData.name,
                                                    heroData.selEqts[HeroParts.HEAD],
                                                    heroData.selEqts[HeroParts.BODY],
                                                    heroData.selEqts[HeroParts.WEAPON],
                                                    heroData.selEqts[HeroParts.VEHICLE],
                                                    u,
                                                    s);
            }
        }

        GameManager.me.startGame(0.5f, gpd);
    }
コード例 #29
0
 private void Awake()
 {
     singleton = this;
 }
コード例 #30
0
    public bool hasContinueGame()
    {
#if UNITY_EDITOR
        if (DebugManager.instance.useDebug)
        {
            return(false);
        }
#endif

        bool has = ((File.Exists(AssetBundleManager.getLocalFilePath() + TEMP_FILE_NAME)) && (File.Exists(AssetBundleManager.getLocalFilePath() + TEMP_HEADER_FILE_NAME)));

        if (has)
        {
            if (loadContinueGameData() == false)
            {
                return(false);
            }

            string[] h;
            string   file1;
            string   file2;

//			if(useTempSaveEnctyption)
            {
                file1 = Util.dec(File.ReadAllBytes(AssetBundleManager.getLocalFilePath() + TEMP_HEADER_FILE_NAME));
                file2 = PlayerPrefs.GetString(TEMP_HEADER_FILE_NAME);

                Byte[] ba = Convert.FromBase64String(file2);
                file2 = Util.dec(ba);
            }
//			else
//			{
//				file1 = (File.ReadAllText(AssetBundleManager.getLocalFilePath()+TEMP_HEADER_FILE_NAME));
//				file2 = PlayerPrefs.GetString(TEMP_HEADER_FILE_NAME);
//			}

            if (file2 == null || file1 != file2)
            {
                return(false);
            }

            h = file1.Split(',');

            continueVersion  = h[0];
            continueSeed     = Convert.ToInt32(h[1]);
            continueMode     = h[2];
            continueRoundId  = h[3];
            continueGameType = h[4];

            if (string.IsNullOrEmpty(continueRoundId) == false && continueRoundId == "INTRO")
            {
                return(false);
            }

            switch (continueMode)
            {
            case RoundData.MODE.PVP:

                try
                {
                    continuePVPPlayerData = GamePlayerData.deserialize(h, true);
                    DebugManager.instance.pvpPlayerData = continuePVPPlayerData;

                    if (h[24] == "Y")
                    {
                        continuePVPPlayerData2 = GamePlayerData.deserialize(h, false);
                        DebugManager.instance.pvpPlayerData2 = continuePVPPlayerData2;
                    }
                    else
                    {
                        DebugManager.instance.pvpPlayerData2 = null;
                    }
                }
                catch
                {
                    deleteTempFile();
                    return(false);
                }
                break;

            case RoundData.MODE.C_RUN:
            case RoundData.MODE.C_HUNT:
            case RoundData.MODE.C_SURVIVAL:
                int.TryParse(h[5], out continueRank);
                break;

            default:
                if (continueGameType == RoundData.TYPE.EPIC)
                {
//					int.TryParse(h[5], out UIRoundClearPopup.rewardExp);
//					int.TryParse(h[6], out UIRoundClearPopup.rewardGold);
                }
                else if (continueGameType == RoundData.TYPE.HELL)
                {
                    int t = 0;
                    int.TryParse(h[5], out t);
                    HellModeManager.instance.continueHellWave = t;
                }
                break;
            }
        }

        return(has);
    }
コード例 #31
0
    public void tempSave(GamePlayerData gpdAtStartTime = null, GamePlayerData gpd2AtStartTime = null)
    {
        long position = _ms.Position;

        _ms.Position = 0;
        byte[] bytes = new byte[_ms.Length];
        _ms.Read(bytes, 0, (int)_ms.Length);

        saveTempZip(bytes);
        PlayerPrefs.SetString(TEMP_FILE_NAME, System.Text.UTF8Encoding.UTF8.GetString(bytes));

        // 헤더 저장 부분.
        Util.stringBuilder.Length = 0;
        Util.stringBuilder.Append(GameManager.info.clientFullVersion);
        Util.stringBuilder.Append(",");
        Util.stringBuilder.Append(_seedNum);
        Util.stringBuilder.Append(",");
        Util.stringBuilder.Append(GameManager.me.stageManager.nowRound.mode);
        Util.stringBuilder.Append(",");
        Util.stringBuilder.Append(GameManager.me.stageManager.nowRound.id);
        Util.stringBuilder.Append(",");

        switch (GameManager.me.stageManager.nowPlayingGameType)
        {
        case GameType.Mode.Hell:
            Util.stringBuilder.Append(RoundData.TYPE.HELL);
            Util.stringBuilder.Append(",");
            Util.stringBuilder.Append(HellModeManager.instance.roundIndex);
            break;

        case GameType.Mode.Epic:
            Util.stringBuilder.Append(RoundData.TYPE.EPIC);
            Util.stringBuilder.Append(",");
//			Util.stringBuilder.Append( UIRoundClearPopup.rewardExp);
            Util.stringBuilder.Append(",");
//			Util.stringBuilder.Append( UIRoundClearPopup.rewardGold);
            break;

//		case GameType.Mode.Challenge:
//			Util.stringBuilder.Append( RoundData.TYPE.CHALLENGE);
//			Util.stringBuilder.Append(",");
//			Util.stringBuilder.Append( GameManager.me.uiManager.uiPlay.challangeModeInfo.rank );
//			break;

        case GameType.Mode.Championship:
            Util.stringBuilder.Append(RoundData.TYPE.CHAMPIONSHIP);

            Util.stringBuilder.Append(",");

            if (gpdAtStartTime != null)
            {
                Util.stringBuilder.Append(gpdAtStartTime.serialize());

                if (gpd2AtStartTime != null)
                {
                    Util.stringBuilder.Append(",Y,");
                    Util.stringBuilder.Append(gpd2AtStartTime.serialize());
                }
                else
                {
                    Util.stringBuilder.Append(",N");
                }
            }
            else
            {
                if (GameManager.me.pvpPlayer == null || GameManager.me.pvpPlayer.playerData == null)
                {
                    _ms.Position = position;
                    return;
                }

                Util.stringBuilder.Append(GameManager.me.battleManager.pvpPlayers[0].playerData.serialize());


                if (GameManager.me.battleManager.pvpPlayers[1] != null)
                {
                    Util.stringBuilder.Append(",Y,");
                    Util.stringBuilder.Append(GameManager.me.battleManager.pvpPlayers[1].playerData.serialize());
                }
                else
                {
                    Util.stringBuilder.Append(",N");
                }
            }



            break;

        case GameType.Mode.Friendly:
            Util.stringBuilder.Append(RoundData.TYPE.FRIENDLY);

            Util.stringBuilder.Append(",");

            if (gpdAtStartTime != null)
            {
                Util.stringBuilder.Append(gpdAtStartTime.serialize());

                if (gpd2AtStartTime != null)
                {
                    Util.stringBuilder.Append(",Y,");
                    Util.stringBuilder.Append(gpd2AtStartTime.serialize());
                }
                else
                {
                    Util.stringBuilder.Append(",N");
                }
            }
            else
            {
                if (GameManager.me.pvpPlayer == null || GameManager.me.pvpPlayer.playerData == null)
                {
                    _ms.Position = position;
                    return;
                }

                Util.stringBuilder.Append(GameManager.me.battleManager.pvpPlayers[0].playerData.serialize());

                if (GameManager.me.battleManager.pvpPlayers[1] != null)
                {
                    Util.stringBuilder.Append(",Y,");
                    Util.stringBuilder.Append(GameManager.me.battleManager.pvpPlayers[1].playerData.serialize());
                }
                else
                {
                    Util.stringBuilder.Append(",N");
                }
            }

            break;
        }

        string dataheader = Util.stringBuilder.ToString();

        Util.stringBuilder.Length = 0;
#if !UNITY_EDITOR
#endif
//		if(useTempSaveEnctyption)
        {
            File.WriteAllBytes(AssetBundleManager.getLocalFilePath() + TEMP_HEADER_FILE_NAME, Util.enc(dataheader));

            byte[] encBa = Util.enc(dataheader);

            string saveHeader = Convert.ToBase64String(encBa);

//			Debug.LogError("saveHeader : " + saveHeader);

            PlayerPrefs.SetString(TEMP_HEADER_FILE_NAME, saveHeader);
        }
//		else
//		{
//			File.WriteAllText(AssetBundleManager.getLocalFilePath()+TEMP_HEADER_FILE_NAME, dataheader);
//			PlayerPrefs.SetString(TEMP_HEADER_FILE_NAME,dataheader);
//		}

        _ms.Position = position;

#if UNITY_EDITOR
        Log.saveFileLog();
#else
//		if(GameManager.isDebugBuild) Log.saveFileLog();
#endif
    }