コード例 #1
0
    //复活
    public void Reborn()
    {
        ChangeState(BATTLE_STATE.NONE);
        ICharaFight info = this as ICharaFight;

        if (null != info)
        {
            info.Hp = MaxHp;
        }
    }
コード例 #2
0
 void OnDestroy()
 {
     if (null != _charaActor)
     {
         RemoveEvent();
         _charaActor = null;
         _fightInfo  = null;
         _battleInfo = null;
     }
 }
コード例 #3
0
    private static void CalculateHurt(ICharaBattle battleInfo, FightEffectInfo effect, uint userId)
    {
        ICharaFight target = battleInfo as ICharaFight;
        ICharaFight user   = ZTBattleSceneManager.GetInstance().GetCharaById(userId) as ICharaFight;

        if (null == target || null == user)
        {
            return;
        }
        HurtInfo hurtInfo = new HurtInfo();

        hurtInfo.Type     = HURT_TYPE.NORMAL;
        hurtInfo.BattleId = battleInfo.BattleId;
        hurtInfo.Pos      = battleInfo.MovePos;
        hurtInfo.Value    = -user.Attack;

        target.AddHurt(hurtInfo);
    }
コード例 #4
0
    private static void ChangeAttribute(ICharaBattle battleInfo, FightEffectInfo effect)
    {
        ICharaFight target = battleInfo as ICharaFight;

        if (null == target)
        {
            return;
        }

        float multi = 0; //乘数
        int   value = 0; //值

        //按以下选项修改上面属性
        switch ((ATT_ALTER_TYPE)effect.Param2)
        {
        case ATT_ALTER_TYPE.VALUE:
            value = effect.Param3;
            break;

        case ATT_ALTER_TYPE.PRECENT:
            multi = effect.Param3 / 100.0f;
            break;
        }

        //改变的属性选择
        switch ((ATTRIBUTE)effect.Param1)
        {
        case ATTRIBUTE.ATTACK:
            target.Attack += Mathf.CeilToInt(target.Attack * multi) + value;
            break;

        case ATTRIBUTE.HP:
            int      result   = Mathf.CeilToInt(target.MaxHp * multi) + value;
            HurtInfo hurtInfo = new HurtInfo();
            hurtInfo.Type     = HURT_TYPE.NORMAL;
            hurtInfo.BattleId = battleInfo.BattleId;
            hurtInfo.Pos      = battleInfo.MovePos;
            hurtInfo.Value    = result;
            target.AddHurt(hurtInfo);
            break;
        }
    }
コード例 #5
0
    public void SetInfo(CharaActorInfo info)
    {
        if (null == _slider)
        {
            return;
        }
        if (null != _charaActor)
        {
            RemoveEvent();
        }
        _charaActor = info;
        _fightInfo  = info as ICharaFight;
        _battleInfo = info as ICharaBattle;
        if (null == _charaActor || null == _fightInfo || null == _battleInfo)
        {
            return;
        }

        _slider.maxValue = _fightInfo.MaxHp;
        _slider.value    = _fightInfo.Hp;
        _hpText.TextStr  = _fightInfo.Hp.ToString() + "/" + _fightInfo.MaxHp.ToString();
        _name.TextStr    = "测试";
        InitEvent();
    }