public int OnNotifySkillModelEmitDestroy(DestroyEmitEffect pMsg)
    {
        //从特效字典中取出特效,在创建特效时添加的
        IEffect effect = EffectManager.Instance.GetEffect(pMsg.uniqueid);

        if (effect != null)
        {
            if (effect.mType == IEffect.ESkillEffectType.eET_FlyEffect)
            {
                FlyEffect flyEffect = effect as FlyEffect;

                //拖拽类型
                if (flyEffect.emitType == 8)
                {
                    flyEffect.DragRibbonBack();
                }
                else
                {
                    EffectManager.Instance.DestroyEffect(flyEffect);
                }
            }
            else
            {
                EffectManager.Instance.DestroyEffect(effect);
            }
        }
        return((int)ErrorCodeEnum.Normal);
    }
示例#2
0
    private void FlyScore(Vector3 pos)
    {
        if (CameraController.Instance == null)
        {
            return;
        }

        if (WindowManager.current2DCamera == null)
        {
            return;
        }

        Vector3 fromPos = CameraController.Instance.WorldToScreenPoint(pos);

        fromPos.z = 0.0f;
        fromPos   = WindowManager.current2DCamera.ScreenToWorldPoint(fromPos);

        GameObject flyScore = (GameObject)GameObject.Instantiate(mFlySocre);

        flyScore.SetActive(true);
        flyScore.transform.parent        = mScore.transform.parent;
        flyScore.transform.localPosition = Vector3.zero;
        flyScore.transform.localRotation = Quaternion.identity;
        flyScore.transform.localScale    = Vector3.one;

        FlyEffect eff = flyScore.AddMissingComponent <FlyEffect>();

        eff.Play(fromPos, mScore.transform.localPosition, 0.5f);
    }
    public IEnumerator OnNetMsg_NotifySkillModelEmitCoroutine(EmitSkill pMsg)
    {
        UInt64  skillPlayerID = pMsg.guid;
        UInt64  skillTargetID = pMsg.targuid;
        Vector3 pos           = this.ConvertPosToVector3(pMsg.tarpos);
        Vector3 dir           = this.ConvertDirToVector3(pMsg.dir);

        //普通追踪特效
        yield return(1);

        FlyEffect effect = EffectManager.Instance.CreateFlyEffect(skillPlayerID, skillTargetID, pMsg.effectid, (uint)pMsg.uniqueid, pos, dir, pMsg.ifAbsorbSkill);
    }
示例#4
0
 void getCollidersInARangeAndSendMessage()
 {
     if (!tempDisableFeature)
     {
         tempDisableFeature = true;
         Collider[] colliders = Physics.OverlapSphere(player.transform.position, 10);
         for (int i = 0; i < colliders.Length; i++)
         {
             //Debug.Log("Yes out");
             if (colliders[i].gameObject.layer == monsterLayerID)
             {
                 //Debug.Log("Yes");
                 FlyEffect flyEffect = colliders[i].gameObject.GetComponent <FlyEffect>();
                 if (flyEffect != null)
                 {
                     flyEffect.makeItFly();
                 }
             }
         }
         tempDisableFeature = false;
     }
 }
示例#5
0
    // 物品飞特效,飞效果播放完成后,自动销毁go;
    void moveToBag(GameObject go, object param)
    {
        FlyEffect fly = go.AddMissingComponent <FlyEffect>();

        fly.Play(go.transform.position, (Vector3)param, 1f);
    }
示例#6
0
 void Awake()
 {
     instance = this;
 }