예제 #1
0
    public override void    AddSP(int sp)
    {
        base.AddSP(sp);
        if (sp > 0)
        {
            Bubble.AddSp(sp, Vector3.zero, true);
        }

        int           iCurrentSP = (int)Property["SP"];
        sdUICharacter uiChar     = sdUICharacter.Instance;

        if (uiChar != null)
        {
            Hashtable hpDesc = new Hashtable();
            hpDesc["value"] = iCurrentSP > 0 ? iCurrentSP : 0;
            hpDesc["des"]   = "";
            uiChar.SetProperty("SP", hpDesc);

            Hashtable maxHpDesc = new Hashtable();
            maxHpDesc["value"] = Property["MaxSP"];
            maxHpDesc["des"]   = "";
            uiChar.SetProperty("MaxSP", maxHpDesc);
        }
    }
예제 #2
0
    public override void    AddHP(int hp)
    {
        base.AddHP(hp);

        if (hp > 0)
        {
            Vector3 kBubblePos = this.transform.position;
            kBubblePos.y += 2.0f;

            Bubble.AddHp(hp, kBubblePos, false);
        }

        int           iCurrentHP = (int)Property["HP"];
        sdUICharacter uiChar     = sdUICharacter.Instance;

        if (uiChar != null)
        {
            Hashtable hpDesc = new Hashtable();
            hpDesc["value"] = iCurrentHP > 0 ? iCurrentHP : 0;
            hpDesc["des"]   = "";
            uiChar.SetProperty("HP", hpDesc);

            Hashtable maxHpDesc = new Hashtable();
            maxHpDesc["value"] = Property["MaxHP"];
            maxHpDesc["des"]   = "";
            uiChar.SetProperty("MaxHP", maxHpDesc);
        }
        if (iCurrentHP <= 0)
        {
            ClearNotDeathHoldBuffer();

            //pvp战场 不复活aaa
            if (sdGameLevel.instance.levelType == sdGameLevel.LevelType.PVP)
            {
                return;
            }
            if (sdGameLevel.instance.levelType == sdGameLevel.LevelType.PET_TRAIN)
            {
                sdPTManager.Instance.Fail();
                return;
            }
            //深渊中死亡,不请求复活,直接发送结算申请..
            sdTuiTuLogic ttLogic = sdGameLevel.instance.tuiTuLogic;
            if (ttLogic != null && sdUICharacter.Instance.GetBattleType() == (byte)HeaderProto.LEVEL_BATTLE_TYPE.LEVEL_BATTLE_TYPE_ABYSS)
            {
                sdActGameMsg.Send_CS_LEVEL_RESULT_NTF();
            }
            //世界BOSS中死亡,弹出自己的请求复活界面..
            else if (ttLogic != null && sdUICharacter.Instance.GetBattleType() == (byte)HeaderProto.LEVEL_BATTLE_TYPE.LEVEL_BATTLE_TYPE_WORLD_BOSS)
            {
                if (sdActGameMgr.Instance.m_WorldBossInfo.m_Status == 2)
                {
                    //自杀宠物..
                    if (this.Retainer != null)
                    {
                        int iPetHp = this.Retainer.GetCurrentHP();
                        if (iPetHp > 0)
                        {
                            iPetHp = iPetHp * (-1);
                        }
                        this.Retainer.AddHP(iPetHp);
                    }
                    //弹出世界BOSS界面..
                    sdActGameControl.Instance.ActiveWorldBossWnd(null);
                    //请求结算..
                    sdActGameMsg.Send_CS_WB_RESULT_REQ(0);
                }
            }
            else
            {
                sdUICharacter.Instance.ShowRelive();
            }
        }
    }