void ReceviceRemoveBuff(EntityBase entity, params object[] objs) { //Debug.Log("ReceviceRemoveBuff"); AddComp(entity); BuffEffectComponent bec = entity.GetComp <BuffEffectComponent>(); PlayerComponent pc = entity.GetComp <PlayerComponent>(); PerfabComponent pec = entity.GetComp <PerfabComponent>(); BuffInfo bi = (BuffInfo)objs[0]; if (bi.BuffData.m_BuffExitFX != "null") { EffectManager.ShowEffect(bi.BuffData.m_BuffExitFX, pec.perfab.transform.position, 0.5f); } BuffEffectPackage bep = bec.GetBuffEffectPackage(bi.buffID); //Debug.Log("bep >" + bep + "<"); if (bep != null && bep.buffEffectID != 0) { m_world.DestroyEntity(bep.buffEffectID); bep.buffEffectID = 0; } }
void Awake() { pCtrl = GetComponent <IUnitController> (); anim = GetComponentInChildren <Animator> (); //rBody = GetComponent<Rigidbody2D>(); pc = GetComponent <PhysicsComponent> (); if (pc == null) { pc = gameObject.AddComponent <PhysicsComponent>(); } image = GetComponentInChildren <SpriteRenderer> (); buffManager = GetComponent <EnemyBuffComponent> (); if (buffManager == null) { buffManager = gameObject.AddComponent <EnemyBuffComponent>(); } effectManager = GetComponent <BuffEffectComponent> (); if (effectManager == null) { effectManager = gameObject.AddComponent <BuffEffectComponent>(); } }
void BuffEffectLogic(EntityBase entity) { BuffEffectComponent bec = entity.GetComp <BuffEffectComponent>(); PlayerComponent pc = entity.GetComp <PlayerComponent>(); PerfabComponent pec = entity.GetComp <PerfabComponent>(); for (int i = 0; i < pc.buffList.Count; i++) { BuffEffect(entity, pc.buffList[i], bec); } }
public override MomentComponentBase DeepCopy() { BuffEffectComponent be = new BuffEffectComponent(); for (int i = 0; i < effectList.Count; i++) { be.effectList.Add(effectList[i].DeepCopy()); } return(be); }
void ReceviceBuffHit(EntityBase entity, params object[] objs) { AddComp(entity); BuffEffectComponent bec = entity.GetComp <BuffEffectComponent>(); PlayerComponent pc = entity.GetComp <PlayerComponent>(); PerfabComponent pec = entity.GetComp <PerfabComponent>(); BuffInfo bi = (BuffInfo)objs[0]; if (bi.BuffData.m_BuffCreateFX != "null") { EffectManager.ShowEffect(bi.BuffData.m_BuffCreateFX, pec.perfab.transform.position, 0.5f); } }
void BuffEffect(EntityBase entity, BuffInfo bi, BuffEffectComponent bec) { BuffEffectPackage bep = bec.GetBuffEffectPackage(bi.buffID); if (bep == null) { bep = new BuffEffectPackage(); bep.buffID = bi.buffID; bec.effectList.Add(bep); } if (bi.BuffData.m_BuffFX != "null") { if (bep.buffEffectID != 0 && !m_world.GetEntityIsExist(bep.buffEffectID)) { bep.buffEffectID = 0; } if (bep.buffEffectID == 0) { TransfromComponent mc = new TransfromComponent(); mc.parentID = entity.ID; AssetComponent ac = new AssetComponent(); ac.m_assetName = bi.BuffData.m_BuffFX; string identifier = "BuffEffect" + entity.ID + bi.buffID; int EffectID = m_world.GetEntityID(identifier); m_world.CreateEntity(identifier, mc, ac); bep.buffEffectID = EffectID; Debug.Log("创建BUFF " + EffectID); } else { Debug.Log("已存在"); } } }