// 스킬 피격 정보 패킷 획득 함수 public void OnReceiveSkillHitPacket(PacketId id, byte[] data) { SkillHitPacket packet = new SkillHitPacket(data); SkillHitData hit = packet.GetPacket(); Debug.Log((hitCnt++) + " 피격 된 놈 : " + hit.campNumber + " 캠프의 " + hit.index + " 서버 체력은 " + hit.serverHP); GameManager.instance.ApplySkillEffect(hit.campNumber, hit.index, hit.statusType, hit.ccType, hit.amount, hit.duration, hit.serverHP); }
public void SendLocalHitInfo(int campNumber, int index, int statusType, int ccType, int amount, float duration) { SkillHitData data = new SkillHitData(campNumber, index, statusType, ccType, amount, duration, 0); SkillHitPacket packet = new SkillHitPacket(data); networkManager.SendReliable <SkillHitData>(packet); }
public bool Serialize(SkillHitData packet) { bool ret = true; ret &= Serialize(packet.campNumber); ret &= Serialize(packet.index); ret &= Serialize(packet.statusType); ret &= Serialize(packet.ccType); ret &= Serialize(packet.amount); ret &= Serialize(packet.duration); ret &= Serialize(packet.serverHP); ret &= Serialize(packet.trash1); ret &= Serialize(packet.trash2); return(ret); }
/// <summary> /// 技能到达 /// </summary> /// <param name="receiver"></param> /// <param name="casterid"></param> /// <param name="param0"></param> /// <param name="?"></param> public override void ReceiveTarget(IActor receiver, IActor caster, object param0) { base.ReceiveTarget(receiver, caster, param0); byte hitIndex = (byte)param0; RoleActor rev = receiver as RoleActor; RoleActor ct = caster as RoleActor; var hitRet = CheckHitType(ct, rev); int dmg = GetDamage(ct, rev, hitRet); dmg = (int)(dmg / this.mData.hitCount); SkillHitData hit = new SkillHitData(); hit.HitType = (byte)hitRet; hit.Damage = dmg; rev.OnSkillReceive(ct, this, hit); }
public bool Deserialize(ref SkillHitData element) { // 데이터가 정의되어있지 않다면 if (GetDataSize() == 0) { return(false); } bool ret = true; ret &= Deserialize(ref element.campNumber); ret &= Deserialize(ref element.index); ret &= Deserialize(ref element.statusType); ret &= Deserialize(ref element.ccType); ret &= Deserialize(ref element.amount); ret &= Deserialize(ref element.duration); ret &= Deserialize(ref element.serverHP); ret &= Deserialize(ref element.trash1); ret &= Deserialize(ref element.trash2); return(ret); }