public override void Deserialize(System.IO.BinaryReader r) { m_Inited = true; m_EIdentity = (EIdentity)r.ReadInt32(); InitData(m_EIdentity); int count = r.ReadInt32(); for (int i = 0; i < count; i++) { int typeIndex = r.ReadInt32(); int size = r.ReadInt32(); if (size > 0) { if (null != m_AbnormalList[typeIndex]) { m_AbnormalList[typeIndex].Deserialize(r.ReadBytes(size)); } else { r.ReadBytes(size); } } } }
public override void Deserialize(System.IO.BinaryReader r) { base.Deserialize(r); invincible = r.ReadBoolean(); sex = (PeSex)r.ReadInt32(); m_OwnerID = r.ReadInt32(); m_Race = (ERace)r.ReadInt32(); m_Identity = (EIdentity)r.ReadInt32(); m_ItemDropId = r.ReadInt32(); if (Entity.version < PeEntity.VERSION_0002) { int entityPrototype = r.ReadInt32(); int entityPrototypeId = r.ReadInt32(); if (entityPrototype != -1) { Entity.entityProto = new EntityProto() { proto = (EEntityProto)entityPrototype, protoId = entityPrototypeId }; } } }
public override void Start() { base.Start(); if (!m_Inited) { m_Net = Entity.GetCmpt <NetCmpt>(); if (null != Entity.commonCmpt) { m_EIdentity = Entity.commonCmpt.Identity; } InitData(m_EIdentity); } }
void InitData(EIdentity eIdentity) { m_AbnormalList = new PEAbnormal_N[(int)PEAbnormalType.Max]; if (PeGameMgr.IsBuild || PeGameMgr.playerType == PeGameMgr.EPlayerType.Tutorial) { return; } int mask = 0; switch (eIdentity) { case EIdentity.Player: mask = 1; break; case EIdentity.Npc: mask = 2; break; case EIdentity.Neutral: mask = 4; break; } for (int type = 1; type < (int)PEAbnormalType.Max; type++) { AbnormalData data = AbnormalData.GetData((PEAbnormalType)type); if (null != data && (data.target & mask) == mask) { AddAbnormal((PEAbnormalType)type, data); } } if (null != Entity.aliveEntity) { Entity.aliveEntity.evtOnBuffAdd += OnBuffAdd; Entity.aliveEntity.evtOnBuffRemove += OnBuffRemove; } PlayerPackageCmpt playercmpt = Entity.packageCmpt as PlayerPackageCmpt; if (null != playercmpt) { playercmpt.getItemEventor.Subscribe(OnItemAdd); } }
public override void Serialize(System.IO.BinaryWriter w) { if (!m_Inited) { m_Net = Entity.GetCmpt <NetCmpt>(); if (null != Entity.commonCmpt) { m_EIdentity = Entity.commonCmpt.Identity; } InitData(m_EIdentity); } // EIdentity w.Write((int)m_EIdentity); List <PEAbnormalType> saveType = GetActiveAbnormalList(); // Abnormal count w.Write(saveType.Count); // Abnormal for (int i = 0; i < saveType.Count; i++) { //WriteType w.Write((int)m_AbnormalList[(int)saveType[i]].type); byte[] data = m_AbnormalList[(int)saveType[i]].Serialize(); if (null == data) { w.Write(0); } else { w.Write(data.Length); w.Write(data); } } }
public void SetId(EIdentity id) { this.id = id; }