private void OnClickCreateRole(string roleName)
        {
            Log.Info("create role ,name : " + roleName);

            if (m_ProcedureOwner != null)
            {
                //创建角色数据
                int userId   = m_ProcedureOwner.GetData <VarInt>(Constant.ProcedureData.UserId);
                int playerId = GameEntry.Entity.GenerateSerialId();

                DBPlayer dbPlayer = new DBPlayer(playerId, userId);
                dbPlayer.EntityTypeId = m_SelectRoleTypeId;
                dbPlayer.Name         = roleName;
                dbPlayer.Level        = 1;
                dbPlayer.Insert();
                GameEntry.Database.AddDBRow <DBPlayer>(dbPlayer.Id, dbPlayer);

                DBUser dbUser = GameEntry.Database.GetDBRow <DBUser>(userId);
                dbUser.Player = dbPlayer.Id;

                m_ProcedureOwner.SetData <VarInt>(Constant.ProcedureData.PlayerId, dbUser.Player);
                m_ProcedureOwner.SetData <VarInt>(Constant.ProcedureData.NextSceneId, (int)SceneId.MainCity);
                ChangeState <ProcedureChangeScene>(m_ProcedureOwner);
            }
        }
Exemple #2
0
        public void Init(DRLevel levelData)
        {
            if (levelData == null)
            {
                Log.Error("data is invalid.");
                return;
            }
            LevelId   = levelData.Id;
            LevelName = levelData.Name;
            SceneId   = (SceneId)levelData.Scene;

            DBPlayer player = GameEntry.Database.GetDBRow <DBPlayer>(GameEntry.Database.GetPlayerId());

            if (levelData.LevelRequest <= player.Level)
            {
                IsLock = false;
                m_Ctrl.selectedIndex = levelData.Icon;
                m_Level.color        = Color.green;
            }
            else
            {
                IsLock = true;
                m_Ctrl.selectedIndex = 0;
                m_Level.color        = Color.red;
            }
            m_Title.text = levelData.Name;
            m_Level.text = "LV." + levelData.LevelRequest;
        }
 public ActorPlayer(RoleEntityBase entity, ActorType type, BattleCampType camp, CharacterController cc, Animator anim) : base(entity, type, camp, cc, anim)
 {
     m_PlayerData = GameEntry.Database.GetDBRow <DBPlayer>(Id);
     if (m_PlayerData == null)
     {
         throw new Exception("Get DBPlayer Failure.");
     }
 }
Exemple #4
0
        private void CreatePlayer()
        {
            if (m_ProcedureOwner == null)
            {
                return;
            }

            int      playerId = m_ProcedureOwner.GetData <VarInt>(Constant.ProcedureData.PlayerId);
            DBPlayer dbPlayer = GameEntry.Database.GetDBRow <DBPlayer>(playerId);

            GameEntry.Entity.ShowPlayer(new PlayerEntityData(dbPlayer.Id, dbPlayer.EntityTypeId));
            GameEntry.Camera.SwitchCameraBehaviour(CameraBehaviourType.LockLook);
        }
        public static Dictionary <PropertyType, int> GetPlayerPropertys(DBPlayer player)
        {
            if (player == null)
            {
                Log.Error("Player is null");
                return(null);
            }

            Dictionary <PropertyType, int> propertys = New();

            Strategy.CalcHeroLevel(propertys, player.Level);

            //TODO 计算装备和宝石
            //Strategy.CalcAllDressEquip(propertys,player.Id);
            //Strategy.CalcAllDressGem(propertys,player.Id);
            return(propertys);
        }
        private void InitPlayer(int playerId)
        {
            if (Config.Ally == null)
            {
                return;
            }

            DBPlayer dbPlayer = GameEntry.Database.GetDBRow <DBPlayer>(playerId);

            int              entityId    = GameEntry.Entity.GenerateSerialId();
            bool             battleState = CurSceneType == SceneType.Battle;
            PlayerEntityData data        = new PlayerEntityData(entityId, dbPlayer.Id, ActorType.Player, BattleCampType.Ally, battleState)
            {
                Position = Config.Ally.TransParam.Position,
                Rotation = Quaternion.Euler(Config.Ally.TransParam.EulerAngles),
                Scale    = Config.Ally.TransParam.Scale
            };

            AddRole <PlayerRole>(data);
        }