Exemplo n.º 1
0
 void Start()
 {
     anim       = GameObject.FindWithTag("Player").GetComponent <Animator>();
     currentHp  = PlayerStatusInfo.Instance().maxHp;
     currentMp  = PlayerStatusInfo.Instance().maxMp;
     currentExp = 0;
 }
Exemplo n.º 2
0
 /// <summary>
 /// 升级解锁技能监听
 /// </summary>
 public void ListenToUnlockSkill()
 {
     switch (PlayerStatusInfo.Instance().rank)
     {
     case 2: AddOneSkillById(4001); AddOneSkillById(4002); AddOneSkillById(4003); break;
     }
 }
Exemplo n.º 3
0
    public void SavePlayerStatusInfo(PlayerStatusInfo playerStatusInfo)
    {
        string sql = "update user_player_status_information set " +
                     "user_player_remain_hp=@user_player_remain_hp," +
                     "user_player_remain_mp=@user_player_remain_mp," +
                     "user_player_now_exp=@user_player_now_exp," +
                     "user_player_level=@user_player_level," +
                     "user_player_coin=@user_player_coin," +
                     "user_player_add_attack=@user_player_add_attack," +
                     "user_player_add_defence=@user_player_add_defence," +
                     "user_player_add_speed=@user_player_add_speed where user_id=" + GameConfig.UserId;

        MySqlParameter[] ps =
        {
            new MySqlParameter("@user_player_remain_hp",   playerStatusInfo.Hp_Remain == 0?1:playerStatusInfo.Hp_Remain),
            new MySqlParameter("@user_player_remain_mp",   playerStatusInfo.Mp_Remain),
            new MySqlParameter("@user_player_now_exp",     playerStatusInfo.ReMain_EXP),
            new MySqlParameter("@user_player_level",       playerStatusInfo.Lv),
            new MySqlParameter("@user_player_coin",        playerStatusInfo.Money),
            new MySqlParameter("@user_player_add_attack",  playerStatusInfo.Attack_Add),
            new MySqlParameter("@user_player_add_defence", playerStatusInfo.Def_Add),
            new MySqlParameter("@user_player_add_speed",   playerStatusInfo.Speed_Add)
        };

        MysqlHelper.ExecutNonQuery(sql, CommandType.Text, ps);
    }
Exemplo n.º 4
0
    public PlayerStatusInfo LoadPlayerStatusInfo()
    {
        string    sql = "select * from user_player_status_information where user_id=" + GameConfig.UserId;
        DataTable dt  = MysqlHelper.ExecuteTable(sql, CommandType.Text, null);

        if (dt.Rows.Count > 0)
        {
            GameConfig.playerTypes = (PlayerTypes)Enum.Parse(typeof(PlayerTypes), dt.Rows[0]["user_player_type"].ToString());
            GameConfig.PlayerName  = dt.Rows[0]["user_player_name"].ToString();
            PlayerStatusInfo playerStatusInfo = new PlayerStatusInfo();
            playerStatusInfo.Name           = GameConfig.PlayerName;
            playerStatusInfo.Hp             = Convert.ToInt32(dt.Rows[0]["user_player_hp"]);
            playerStatusInfo.Hp_Remain      = Convert.ToInt32(dt.Rows[0]["user_player_remain_hp"]);
            playerStatusInfo.Mp             = Convert.ToInt32(dt.Rows[0]["user_player_mp"]);
            playerStatusInfo.Mp_Remain      = Convert.ToInt32(dt.Rows[0]["user_player_remain_mp"]);
            playerStatusInfo.Exp            = Convert.ToInt32(dt.Rows[0]["user_player_exp"]);
            playerStatusInfo.ReMain_EXP     = Convert.ToInt32(dt.Rows[0]["user_player_now_exp"]);
            playerStatusInfo.Lv             = Convert.ToInt32(dt.Rows[0]["user_player_level"]);
            playerStatusInfo.Money          = Convert.ToInt32(dt.Rows[0]["user_player_coin"]);
            playerStatusInfo.Attack         = Convert.ToInt32(dt.Rows[0]["user_player_attack"]);
            playerStatusInfo.Attack_Add     = Convert.ToInt32(dt.Rows[0]["user_player_add_attack"]);
            playerStatusInfo.Def            = Convert.ToInt32(dt.Rows[0]["user_player_defence"]);
            playerStatusInfo.Def_Add        = Convert.ToInt32(dt.Rows[0]["user_player_add_defence"]);
            playerStatusInfo.Speed          = Convert.ToInt32(dt.Rows[0]["user_player_speed"]);
            playerStatusInfo.Speed_Add      = Convert.ToInt32(dt.Rows[0]["user_player_add_speed"]);
            playerStatusInfo.AttackSpeed    = Convert.ToInt32(dt.Rows[0]["user_player_attack_speed"]);
            playerStatusInfo.AttackDistance = Convert.ToInt32(dt.Rows[0]["user_player_attack_distance"]);
            playerStatusInfo.MissPrecent    = Convert.ToInt32(dt.Rows[0]["user_player_miss_precent"]);
            playerStatusInfo.PlayerType     = GameConfig.playerTypes;
            return(playerStatusInfo);
        }
        return(null);
    }
Exemplo n.º 5
0
 /// <summary>
 /// 在zombie的attack动画中添加event片段,执行此函数,对player造成等同于zombie攻击力数值的伤害
 /// </summary>
 public void Attack()
 {
     if (PlayerStatusManager.Instance().currentHp > 0)
     {
         PlayerStatusManager.Instance().ReduceHp(attackPower - (int)(PlayerStatusInfo.Instance().def * 0.2f));
     }
 }
Exemplo n.º 6
0
 /// <summary>
 /// 减少玩家属性值(装备)
 /// </summary>
 /// <param name="info"></param>
 public void ReduceProperties(ObjectInfo info)
 {
     PlayerStatusInfo.Instance().attack -= info.attack;
     PlayerStatusInfo.Instance().def    -= info.def;
     PlayerStatusInfo.Instance().speed  -= info.speed;
     //更新一次玩家信息界面显示
     StatusBoard.Instance().UpdateStatusShow();
 }
Exemplo n.º 7
0
    /// <summary>
    /// 加Hp
    /// </summary>
    /// <param name="num">加Hp数量</param>
    public void AddHp(int num)
    {
        currentHp        = Mathf.Clamp(currentHp += num, 0, PlayerStatusInfo.Instance().maxHp);
        damageText.text  = "HP+" + num.ToString();
        damageText.color = Color.green;
        GameObject obj = Instantiate(damageObj, damageObj.transform.position, damageObj.transform.rotation);

        obj.transform.parent = colli.transform;
    }
Exemplo n.º 8
0
 /// <summary>
 /// 增加等级,属性,点数
 /// </summary>
 /// <param name="num">升级数目(默认1)</param>
 public void AddRankAndProp(int num = 1)
 {
     PlayerStatusInfo.Instance().rank += num;
     SkillBoard.Instance().ListenToUnlockSkill();
     PlayerStatusInfo.Instance().attack += 5;
     PlayerStatusInfo.Instance().def    += 3;
     PlayerStatusInfo.Instance().speed  += 1;
     AddPoint(5);
 }
Exemplo n.º 9
0
    /// <summary>
    /// 加Mp
    /// </summary>
    /// <param name="num">加Mp数量</param>
    public void AddMp(int num)
    {
        currentMp         = Mathf.Clamp(currentMp += num, 0, PlayerStatusInfo.Instance().maxMp);
        damageText2.text  = "MP+" + num.ToString();
        damageText2.color = Color.blue;
        GameObject obj = Instantiate(damageObj2, damageObj2.transform.position, damageObj2.transform.rotation);

        obj.transform.parent = colli.transform;
    }
Exemplo n.º 10
0
 /// <summary>
 /// 增加Exp
 /// </summary>
 /// <param name="num">增加Exp数目</param>
 public void AddExp(int num)
 {
     currentExp += num;
     //升级
     if (currentExp >= PlayerStatusInfo.Instance().maxExp)
     {
         AddRankAndProp(1);
         BoardManager.Instance().SwitchShowBoard(BoardManager.BoardShow.UPGRADEBOARD);
         currentExp -= PlayerStatusInfo.Instance().maxExp;
     }
 }
Exemplo n.º 11
0
    void Update()
    {
        //根据当前Hp/Mp/Exp和最大Hp/Mp/Exp百分比控制hp/Mp/Exp条百分比
        hpSlider.value  = ((float)currentHp / (float)PlayerStatusInfo.Instance().maxHp);
        hpNum.text      = currentHp.ToString();
        mpSlider.value  = ((float)currentMp / (float)PlayerStatusInfo.Instance().maxMp);
        mpNum.text      = currentMp.ToString();
        expSlider.value = ((float)currentExp / (float)PlayerStatusInfo.Instance().maxExp);
        expNum.text     = currentExp.ToString();

        rankNum.text = PlayerStatusInfo.Instance().rank.ToString();
    }
Exemplo n.º 12
0
    /// <summary>
    /// 增加玩家属性值(加点)
    /// </summary>
    /// <param name="selectName">点击的加点按钮明名称</param>
    /// <param name="num">默认一次加10点</param>
    public void AddProperties(string selectName, int num = 10)
    {
        switch (selectName)
        {
        case "AtkButton": PlayerStatusInfo.Instance().attack += num; break;

        case "DefButton": PlayerStatusInfo.Instance().def += num; break;

        case "SpButton": PlayerStatusInfo.Instance().speed += num; break;
        }
        //更新一次玩家信息界面显示
        StatusBoard.Instance().UpdateStatusShow();
    }
Exemplo n.º 13
0
    /// <summary>
    /// 减少玩家属性值(技能)
    /// </summary>
    /// <param name="type">技能加持buff类型</param>
    /// <param name="num">buff数值</param>
    public void ReduceProperties(SkillInfo.SkillEffectType type, int num)
    {
        switch (type)
        {
        case SkillInfo.SkillEffectType.ATTACK: PlayerStatusInfo.Instance().attack -= num; break;

        case SkillInfo.SkillEffectType.DEF:    PlayerStatusInfo.Instance().def -= num;    break;

        case SkillInfo.SkillEffectType.SPEED:  PlayerStatusInfo.Instance().speed -= num;  break;
        }
        //更新一次玩家信息界面显示
        StatusBoard.Instance().UpdateStatusShow();
    }
Exemplo n.º 14
0
    /// <summary>
    /// 增加玩家属性值(技能)
    /// </summary>
    /// <param name="type">技能加持buff类型</param>
    /// <param name="num">buff数值</param>
    public void AddProperties(SkillInfo.SkillEffectType type, int num)
    {
        Debug.Log(type.ToString());
        switch (type)
        {
        case SkillInfo.SkillEffectType.ATTACK: PlayerStatusInfo.Instance().attack += num; break;

        case SkillInfo.SkillEffectType.DEF:    PlayerStatusInfo.Instance().def += num;    break;

        case SkillInfo.SkillEffectType.SPEED:  PlayerStatusInfo.Instance().speed += num;  break;
        }
        //更新一次玩家信息界面显示
        StatusBoard.Instance().UpdateStatusShow();
    }
Exemplo n.º 15
0
    /// <summary>
    /// 扣Hp
    /// </summary>
    /// <param name="num">扣Hp数量</param>
    public void ReduceHp(int num)
    {
        currentHp        = Mathf.Clamp(currentHp -= num, 0, PlayerStatusInfo.Instance().maxHp);
        damageText.text  = "HP-" + num.ToString();
        damageText.color = Color.white;
        GameObject obj = Instantiate(damageObj, damageObj.transform.position, damageObj.transform.rotation);

        obj.transform.parent = colli.transform;
        //一般情况下只有扣血时才会死
        if (currentHp <= 0)
        {
            Global.playerState = Global.State.DieState;
            colli.enabled      = false;
            cc.enabled         = false;
            anim.SetBool("Die", true);
        }
    }
Exemplo n.º 16
0
    public void LVUpdate(PlayerStatusInfo playerStatusInfo)
    {
        PlayerStatusInfo temp = new PlayerStatusInfo();
        DataTable        dt   = Load_play_development_information();

        if (dt.Rows.Count >= 0)
        {
            temp.Hp     = Convert.ToInt32(dt.Rows[0]["player_add_hp"]);
            temp.Mp     = Convert.ToInt32(dt.Rows[0]["player_add_mp"]);
            temp.Exp    = Convert.ToInt32(dt.Rows[0]["player_add_exp"]);
            temp.Attack = Convert.ToInt32(dt.Rows[0]["player_add_attack"]);
            temp.Def    = Convert.ToInt32(dt.Rows[0]["player_add_defence"]);
            temp.Speed  = Convert.ToInt32(dt.Rows[0]["player_add_speed"]);
        }

        string sql = "update user_player_status_information set " +
                     "user_player_mp=@user_player_mp," +
                     "user_player_hp=@user_player_hp," +
                     "user_player_exp=@user_player_exp," +
                     "user_player_level=@user_player_level," +
                     "user_player_attack=@user_player_attack," +
                     "user_player_defence=@user_player_defence," +
                     "user_player_speed=@user_player_speed where user_id=" + GameConfig.UserId;

        playerStatusInfo.Mp     += temp.Mp;
        playerStatusInfo.Hp     += temp.Hp;
        playerStatusInfo.Exp    += temp.Exp;
        playerStatusInfo.Attack += temp.Attack;
        playerStatusInfo.Def    += temp.Def;
        playerStatusInfo.Speed  += temp.Speed;
        MySqlParameter[] ps =
        {
            new MySqlParameter("@user_player_mp",      playerStatusInfo.Mp),
            new MySqlParameter("@user_player_hp",      playerStatusInfo.Hp),
            new MySqlParameter("@user_player_exp",     playerStatusInfo.Exp),
            new MySqlParameter("@user_player_level",   playerStatusInfo.Lv),
            new MySqlParameter("@user_player_attack",  playerStatusInfo.Attack),
            new MySqlParameter("@user_player_defence", playerStatusInfo.Def),
            new MySqlParameter("@user_player_speed",   playerStatusInfo.Speed)
        };
        MysqlHelper.ExecutNonQuery(sql, CommandType.Text, ps);
    }
Exemplo n.º 17
0
    //被攻击逻辑
    void OnTriggerEnter(Collider other)
    {
        if (other.gameObject.tag == "Weapon")
        {
            Debug.Log("被攻击");
            switch (AttackController.Instance().atkState)
            {
            case AttackController.AttackState.FIRST:  BeDamage(PlayerStatusInfo.Instance().attack *AttackController.firstAtkPowerPercent);  break;

            case AttackController.AttackState.SECOND: BeDamage(PlayerStatusInfo.Instance().attack *AttackController.secondAtkPowerPercent); break;

            case AttackController.AttackState.THIRD1: BeDamage(PlayerStatusInfo.Instance().attack *AttackController.thirdAtkPower1Percent); break;

            case AttackController.AttackState.THIRD2: BeDamage(PlayerStatusInfo.Instance().attack *AttackController.thirdAtkPower2Percent); break;

            case AttackController.AttackState.THIRD3: BeDamage(PlayerStatusInfo.Instance().attack *AttackController.thirdAtkPower3Percent); break;

            case AttackController.AttackState.THIRD4: BeDamage(PlayerStatusInfo.Instance().attack *AttackController.thirdAtkPower4Percent); break;
            }
        }
    }
Exemplo n.º 18
0
    /// <summary>
    /// 穿戴情况处理
    /// </summary>
    /// <param name="id">要穿戴装备id</param>
    /// <returns>成功穿戴return true</returns>
    public bool WearEquipmentById(int id)
    {
        ObjectInfo info = ObjectsInfo.Instance().GetObjectInfoById(id);

        if (info.suittype != PlayerStatusInfo.Instance().playertype)
        {
            return(false);
        }
        GridOfEquip tempGrid = null;

        switch (info.weartype)
        {
        case ObjectInfo.WearType.Headgear:  tempGrid = headgear;                                                                                                break;

        case ObjectInfo.WearType.Armor:         tempGrid = armor;                                                                                                       break;

        case ObjectInfo.WearType.Hand:          tempGrid = hand;    AppearChange.Instance().SwitchWeaponAppear(id); break;                  //目前只有武器可更换外观

        case ObjectInfo.WearType.Accessory: tempGrid = accessory;                                                                                               break;

        case ObjectInfo.WearType.Shoe:          tempGrid = shoe;                                                                                                break;
        }
        //对应装备栏已经有装备的情况,先卸下装备,使装备栏空且物品栏加入改装备
        if (tempGrid.id != 0)
        {
            tempGrid.UnloadThisGridEquip();
            Debug.Log("脱");
        }
        //向空的装备栏中添加装备
        Debug.Log("穿");
        GameObject equipNewItem = NGUITools.AddChild(tempGrid.gameObject, newEquip);

        equipNewItem.transform.localPosition         = Vector3.zero;
        equipNewItem.GetComponent <UISprite>().depth = 2;
        tempGrid.SetThisGridEquipById(id, info);
        return(true);
    }
Exemplo n.º 19
0
    /// <summary>
    /// 更新一次面板信息显示
    /// </summary>
    public void UpdateStatusShow()
    {
        hpNum.text    = PlayerStatusInfo.Instance().maxHp.ToString();
        mpNum.text    = PlayerStatusInfo.Instance().maxMp.ToString();
        atkNum.text   = PlayerStatusInfo.Instance().attack.ToString();
        defNum.text   = PlayerStatusInfo.Instance().def.ToString();
        spNum.text    = PlayerStatusInfo.Instance().speed.ToString();
        pointNum.text = PlayerStatusInfo.Instance().point.ToString();

        if (PlayerStatusInfo.Instance().point > 0)
        {
            foreach (GameObject eachButton in addPointButtons)
            {
                eachButton.SetActive(true);
            }
        }
        else
        {
            foreach (GameObject eachButton in addPointButtons)
            {
                eachButton.SetActive(false);
            }
        }
    }
Exemplo n.º 20
0
    public int CreateNewPlayer()
    {
        PlayerStatusInfo playerStatusInfo = new PlayerStatusInfo();
        DataTable        dt = Player_status_information();

        if (dt.Rows.Count >= 0)
        {
            playerStatusInfo.Name           = GameConfig.PlayerName;
            playerStatusInfo.Hp             = Convert.ToInt32(dt.Rows[0]["player_hp"]);
            playerStatusInfo.Hp_Remain      = playerStatusInfo.Hp;
            playerStatusInfo.Mp             = Convert.ToInt32(dt.Rows[0]["player_mp"]);
            playerStatusInfo.Mp_Remain      = playerStatusInfo.Mp;
            playerStatusInfo.Exp            = Convert.ToInt32(dt.Rows[0]["player_exp"]);
            playerStatusInfo.ReMain_EXP     = 0;
            playerStatusInfo.Lv             = 1;
            playerStatusInfo.Attack         = Convert.ToInt32(dt.Rows[0]["player_attack"]);
            playerStatusInfo.Attack_Add     = 0;
            playerStatusInfo.Def            = Convert.ToInt32(dt.Rows[0]["player_defence"]);
            playerStatusInfo.Def_Add        = 0;
            playerStatusInfo.Speed          = Convert.ToInt32(dt.Rows[0]["player_speed"]);
            playerStatusInfo.Speed_Add      = 0;
            playerStatusInfo.AttackSpeed    = Convert.ToInt32(dt.Rows[0]["player_attack_speed"]);
            playerStatusInfo.AttackDistance = Convert.ToInt32(dt.Rows[0]["player_attack_distance"]);
            playerStatusInfo.MissPrecent    = Convert.ToInt32(dt.Rows[0]["player_miss_precent"]);
            playerStatusInfo.PlayerType     = GameConfig.playerTypes;
        }

        string sql = "insert into user_player_status_information(user_id,user_player_id,user_player_name,user_player_hp,user_player_remain_hp," +
                     "user_player_mp,user_player_remain_mp,user_player_exp,user_player_now_exp,user_player_level,user_player_coin,user_player_attack,user_player_add_attack," +
                     "user_player_defence,user_player_add_defence,user_player_speed,user_player_add_speed,user_player_attack_speed,user_player_attack_distance," +
                     "user_player_miss_precent,user_player_type) values(@user_id,@user_player_id,@user_player_name,@user_player_hp,@user_player_remain_hp," +
                     "@user_player_mp,@user_player_remain_mp,@user_player_exp,@user_player_now_exp,@user_player_level,@user_player_coin,@user_player_attack,@user_player_add_attack," +
                     "@user_player_defence,@user_player_add_defence,@user_player_speed,@user_player_add_speed,@user_player_attack_speed,@user_player_attack_distance," +
                     "@user_player_miss_precent,@user_player_type)";

        MySqlParameter[] ps =
        {
            new MySqlParameter("@user_id",                     GameConfig.UserId),
            new MySqlParameter("@user_player_id",              (int)GameConfig.playerTypes),
            new MySqlParameter("@user_player_name",            playerStatusInfo.Name),
            new MySqlParameter("@user_player_hp",              playerStatusInfo.Hp),
            new MySqlParameter("@user_player_remain_hp",       playerStatusInfo.Hp_Remain),
            new MySqlParameter("@user_player_mp",              playerStatusInfo.Mp),
            new MySqlParameter("@user_player_remain_mp",       playerStatusInfo.Mp_Remain),
            new MySqlParameter("@user_player_exp",             playerStatusInfo.Exp),
            new MySqlParameter("@user_player_now_exp",         playerStatusInfo.ReMain_EXP),
            new MySqlParameter("@user_player_level",           playerStatusInfo.Lv),
            new MySqlParameter("@user_player_coin",                                              1000),
            new MySqlParameter("@user_player_attack",          playerStatusInfo.Attack),
            new MySqlParameter("@user_player_add_attack",      playerStatusInfo.Attack_Add),
            new MySqlParameter("@user_player_defence",         playerStatusInfo.Def),
            new MySqlParameter("@user_player_add_defence",     playerStatusInfo.Def_Add),
            new MySqlParameter("@user_player_speed",           playerStatusInfo.Speed),
            new MySqlParameter("@user_player_add_speed",       playerStatusInfo.Speed_Add),
            new MySqlParameter("@user_player_attack_speed",    playerStatusInfo.AttackSpeed),
            new MySqlParameter("@user_player_attack_distance", playerStatusInfo.AttackDistance),
            new MySqlParameter("@user_player_miss_precent",    playerStatusInfo.MissPrecent),
            new MySqlParameter("@user_player_type",            playerStatusInfo.PlayerType.ToString()),
        };

        return(MysqlHelper.ExecutNonQuery(sql, CommandType.Text, ps));
    }
Exemplo n.º 21
0
 private void Start()
 {
     player = GameObject.Find("FPSController").GetComponent <PlayerStatusInfo>();
     HP     = GetComponent <Slider>();
 }
Exemplo n.º 22
0
 private void Awake()
 {
     UiHP     = GameObject.Find("Slider").GetComponent <Slider>();
     instance = this;
 }
Exemplo n.º 23
0
 /// <summary>
 /// 使用物品加Hp和Mp
 /// </summary>
 /// <param name="info">使用的物品的ObjectInfo</param>
 public void AddHpAndMp(ObjectInfo info)
 {
     currentHp = Mathf.Clamp(currentHp += info.hp, 0, PlayerStatusInfo.Instance().maxHp);
     currentMp = Mathf.Clamp(currentMp += info.mp, 0, PlayerStatusInfo.Instance().maxMp);
 }
Exemplo n.º 24
0
 /// <summary>
 /// 加载角色状态
 /// </summary>
 public void LoadPlayerInfo()
 {
     playerInfo = playerInfoDAL.LoadPlayerStatusInfo();
 }
Exemplo n.º 25
0
 public void ReducePoint(int num = 1)
 {
     PlayerStatusInfo.Instance().point -= num;
     //更新一次玩家信息界面显示
     StatusBoard.Instance().UpdateStatusShow();
 }
Exemplo n.º 26
0
 void Awake()
 {
     _instance = this;
 }
Exemplo n.º 27
0
 /// <summary>
 /// 增加升级点数
 /// </summary>
 /// <param name="num">增加数量(默认5)</param>
 public void AddPoint(int num = 5)
 {
     PlayerStatusInfo.Instance().point += num;
     //更新一次玩家信息界面显示
     StatusBoard.Instance().UpdateStatusShow();
 }