//复活 public void Reborn() { ChangeState(BATTLE_STATE.NONE); ICharaFight info = this as ICharaFight; if (null != info) { info.Hp = MaxHp; } }
void OnDestroy() { if (null != _charaActor) { RemoveEvent(); _charaActor = null; _fightInfo = null; _battleInfo = null; } }
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); }
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; } }
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(); }