Exemplo n.º 1
0
    private void OnReciveRandomPVP(EventData eventData)
    {
        byte[] rolesData  = (byte[])eventData[(byte)ParameterCode.BattleRoles];
        byte[] battleData = (byte[])eventData[(byte)ParameterCode.BattleData];

        GameManager.battleTime = (float)eventData[(byte)ParameterCode.BattleTime];

        GameBattle gameBattle = Serialization.Load <GameBattle>(battleData);

        GameManager.battleType = gameBattle.Mode;

        if (gameBattle.User01.Id != GameManager.GameUser.Id)
        {
            GameManager.EnemyUser         = gameBattle.User01;
            GameManager.GameUser.Position = gameBattle.User02.Position;
        }
        else
        {
            GameManager.GameUser.Position = gameBattle.User01.Position;
            GameManager.EnemyUser         = gameBattle.User02;
        }

        GameObjCollection battleRoles = Serialization.Load <GameObjCollection>(rolesData, true);

        GameplayManager.InitRoles(battleRoles);

        MessageBox.CloseDialog();


        GameManager.Status = GameStatus.PVP;

        //GameplayManager.isBattleStart = false;

        _uiManager.OnReciveBattleInfo();
    }
Exemplo n.º 2
0
    // called in SubCode.Begin network event, Init all roles in battle is loaded from server
    public static void InitRoles(GameObjCollection userData)
    {
        //Debug.Log("InitRoles " + userData.Count);
        GameplayManager.allRoles.Clear();
        playerRoles.Clear();
        enemyRoles.Clear();

        playerRoles = new List <UserRole>();
        enemyRoles  = new List <UserRole>();

        foreach (GameObj obj in userData)
        {
            UserRole userRole = (UserRole)obj;

            userRole.GameRole = (GameRole)GameManager.GameHeroes[userRole.Base.RoleId];

            GameplayManager.allRoles.Add(userRole);

            for (int i = 0; i < userRole.RoleSkills.Count; i++)
            {
                userRole.RoleSkills[i].GameSkill = (GameSkill)GameManager.GameSkills[userRole.RoleSkills[i].SkillId];
            }

            if (GameManager.GameUser.Id == userRole.Base.UserId)
            {
                playerRoles.Add(userRole);
                UserRole roleOfUser = GameManager.GameUser.UserRoles.FirstOrDefault(p => p.Id == userRole.Id);
                if (roleOfUser != null)
                {
                    roleOfUser.Base.Energy = userRole.Base.Energy;
                }
            }
            else
            {
                enemyRoles.Add(userRole);
            }
        }
    }
Exemplo n.º 3
0
    public static void HandleBattle(this PhotonController controller, EventData eventData, GameStatus type)
    {
        SubCode subCode = (SubCode)eventData[(byte)ParameterCode.SubCode];

        //Debug.Log("subCode " + subCode);
        switch (subCode)
        {
        case SubCode.Invite:
        {
            //int senderID = (int)eventData[(byte)ParameterCode.UserId];

            //GameUser inviterBattle = (GameUser)GameManager.ZoneUsers[senderID];
            //UIInviterManager.Instance.AddInviter(inviterBattle);
        }
        break;

        case SubCode.Refuse:
        {
            MessageBox.CloseDialog();
            MessageBox.ShowDialog(GameManager.localization.GetText("Dialog_Refuse"), UINoticeManager.NoticeType.Message);
        }
        break;

        case SubCode.Begin:
        {
            GameplayManager.battleStatus = GameplayManager.BattleStatus.Start;

            byte[] rolesData  = (byte[])eventData[(byte)ParameterCode.BattleRoles];
            byte[] battleData = (byte[])eventData[(byte)ParameterCode.BattleData];

            battleTime = (float)eventData[(byte)ParameterCode.BattleTime];



            GameBattle gameBattle = Serialization.Load <GameBattle>(battleData);


            if (gameBattle.User01.Id != GameManager.GameUser.Id)
            {
                GameManager.EnemyUser         = gameBattle.User01;
                GameManager.GameUser.Position = gameBattle.User02.Position;
            }
            else
            {
                GameManager.GameUser.Position = gameBattle.User01.Position;
                GameManager.EnemyUser         = gameBattle.User02;
            }

            GameObjCollection battleRoles = Serialization.Load <GameObjCollection>(rolesData, true);

            GameplayManager.InitRoles(battleRoles);

            MessageBox.CloseDialog();

            GameScenes.ChangeScense(GameScenes.previousSence, GameScenes.MyScene.Battle);

            GameManager.Status = type;
            battleType         = gameBattle.Mode;
        }
        break;
        }
    }