Example #1
0
    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;
        }
    }
Example #2
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>();
        }
    }
Example #3
0
    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);
        }
    }
Example #4
0
    public override MomentComponentBase DeepCopy()
    {
        BuffEffectComponent be = new BuffEffectComponent();

        for (int i = 0; i < effectList.Count; i++)
        {
            be.effectList.Add(effectList[i].DeepCopy());
        }

        return(be);
    }
Example #5
0
    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);
        }
    }
Example #6
0
    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("已存在");
            }
        }
    }