private void BuildNumber(ShootTextInfo shootTextInfo, Transform parent) { string tempNumber = shootTextInfo.content; char numberOperator = tempNumber[0]; string animationType = ""; string plusOrMinus = ""; //出现字体时对应的动画类型 animationType = shootTextInfo.animationType == TextAnimationType.None ? TextAnimationType.Normal.ToString() : shootTextInfo.animationType.ToString(); #region 运算符 GameObject operatorObj = null; plusOrMinus = numberOperator == '+' ? operatorPlusKeyPostfix : operatorMinusKeyPostfix; operatorObj = Instantiate(numberDic[animationType + plusOrMinus]); operatorObj.transform.SetParent(parent, false); #endregion #region 数字 GameObject numberObj = null; for (int i = 1; i < tempNumber.Length; i++) { numberObj = Instantiate(numberDic[animationType + numberPrefix + tempNumber[i]]); numberObj.transform.SetParent(parent, false); } #endregion }
public void SetInfo(ShootTextInfo shootTextInfo)//执行顺序优于Start { content = shootTextInfo.content; animationType = shootTextInfo.animationType; moveType = shootTextInfo.moveType; delayMoveTime = Time.time + shootTextInfo.delayMoveTime; cacheTranform = shootTextInfo.cacheTranform; initializedHorizontalPositionOffset = shootTextInfo.initializedHorizontalPositionOffset; initializedVerticalPositionOffset = shootTextInfo.initializedVerticalPositionOffset; }
private GameObject InstanceShootText(ShootTextInfo shootTextInfo) { GameObject shootText = Instantiate(shootTextPrefab); //先拼装字体,顺序颠倒会造成组件无法找到对应物体 BuildNumber(shootTextInfo, shootText.transform); ShootTextComponent tempShootTextComponent = shootText.GetComponent <ShootTextComponent>(); tempShootTextComponent.SetInfo(shootTextInfo); handleShootTextGroup.Add(tempShootTextComponent); return(shootText); }
public void CreatShootText(string content, TextAnimationType textAnimationType, TextMoveType textMoveType, float delayMoveTime, float initializedVerticalPositionOffset, float initializedHorizontalPositionOffset, Transform tempTransform) { ShootTextInfo shootTextInfo = new ShootTextInfo(); shootTextInfo.content = content; shootTextInfo.animationType = textAnimationType; shootTextInfo.moveType = textMoveType; shootTextInfo.delayMoveTime = delayMoveTime; shootTextInfo.initializedVerticalPositionOffset = initializedVerticalPositionOffset; shootTextInfo.initializedHorizontalPositionOffset = initializedHorizontalPositionOffset; shootTextInfo.cacheTranform = tempTransform; CreatShootText(shootTextInfo); }
public void CreatShootText(ShootTextInfo shootTextInfo) { if (CheckNumber(shootTextInfo.content)) { if (IsAllowAddShootText()) { waitShootTextGroup.Enqueue(shootTextInfo); } else { Debug.LogWarning("数量过多不能添加!!!"); } } else { Debug.LogError("飘字数据不合法"); } }