Example #1
0
        private void OnFlyTextEvent(GameEvent ge, EventParameter parameter)
        {
            GameObject  owner  = parameter.goParameter;
            FlyTextType ftype  = (FlyTextType)parameter.intParameter;
            int         value  = parameter.intParameter1;
            int         isGood = parameter.intParameter2;
            string      txt    = string.Empty;

            if (ftype == FlyTextType.Crit)
            {
                if (0 == value)
                {
                    return;
                }

                txt = string.Format("暴击 {0}", value);
            }
            else if (ftype == FlyTextType.Buff)
            {
                txt = (string)parameter.objParameter;
            }
            else if (ftype == FlyTextType.MonsterNormal)
            {
                if (0 == value)
                {
                    return;
                }

                txt = string.Format("{0}", value);
            }
            else if (ftype == FlyTextType.PlayerNormal)
            {
                if (0 == value)
                {
                    return;
                }

                txt = string.Format("{0}", value);
            }
            else if (ftype == FlyTextType.AddHP)
            {
                if (0 == value)
                {
                    return;
                }

                txt = string.Format("+{0}", -value);
            }
            else if (ftype == FlyTextType.Special)
            {
                txt = (string)parameter.objParameter;
            }

            ShowText(owner, txt, ftype, isGood);
        }
Example #2
0
        public void Init(GameObject owner, string text, FlyTextType type, int isGood)
        {
            FlyType = type;

            ShowText.text = text;
            mOwner        = owner;

            Inverse = false;
            InitBindPosition();
            GetRandomPosition();
        }
Example #3
0
        private void AddProcessInfo(bool isPlayer, GameObject owner, string text, FlyTextType type, int isGood = 0)
        {
            FlyTextInfo info = new FlyTextInfo();

            info.owner   = owner;
            info.text    = text;
            info.flyType = type;
            info.isGood  = isGood;

            if (isPlayer)
            {
                //ShowText(info.owner, info.text, info.flyType, info.isGood);
                mPlayerInfo.Enqueue(info);
            }
            else
            {
                ShowText(info.owner, info.text, info.flyType, info.isGood);
                //mProcessInfo.Enqueue(info);
            }
        }
Example #4
0
        private void ShowText(GameObject owner, string text, FlyTextType type, int isGood = 0)
        {
            Transform parent = FlyTextRoot;

            if (null == parent)
            {
                return;
            }

            string         path       = m_FlyTextPath[type];
            List <FlyText> activeList = m_FlyTextList[(int)type];
            List <FlyText> cacheList  = m_CachedList[(int)type];

            int     cachedCnt = cacheList.Count;
            FlyText ft        = null;

            if (cachedCnt > 0)
            {
                ft = cacheList[cachedCnt - 1];
                cacheList.RemoveAt(cachedCnt - 1);
                if (ft != null)
                {
                    ft.AniStart = Time.realtimeSinceStartup;

                    ft.transform.localPosition = Vector3.zero;
                    //ft.gameObject.SetActive(true);
                    ft.gameObject.transform.SetRenderActive(true);
                    activeList.Add(ft);
                }
            }
            else
            {
                GameObject prefab = (GameObject)CoreEntry.gResLoader.Load(path, typeof(GameObject));
                if (null == prefab)
                {
                    return;
                }
                GameObject obj = Instantiate(prefab) as GameObject;
                if (null == obj)
                {
                    return;
                }

                obj.transform.SetParent(parent);
                obj.transform.localPosition = Vector3.zero;
                obj.transform.localScale    = Vector3.one;
                obj.SetActive(true);
                ft = obj.GetComponent <FlyText>();
                if (ft != null)
                {
                    ft.AniStart = Time.realtimeSinceStartup;

                    activeList.Add(ft);
                }
            }

            if (null != ft)
            {
                ft.Init(owner, text, type, isGood);
            }
        }