Example #1
0
        public void Small1Over(BattleDamageNumGroup _unit)
        {
            Action waitCall = delegate()
            {
                Small(_unit);
            };

            SuperTween.Instance.DelayCall(waitTimeConst, waitCall);
        }
Example #2
0
        public BattleDamageNumUnit GetDamageUnit(BattleDamageNumGroup _group)
        {
            BattleDamageNumUnit unit = unitFreeVec[_group.drawIndex];

            unitFreeVec[_group.drawIndex] = unit.nextUnit;

            unit.SetGroup(_group.index);

            return(unit);
        }
Example #3
0
        public void Small1Over(BattleDamageNumGroup _unit)
        {
            Action waitCall = delegate()
            {
                Small(_unit);
            };

            int id = SuperTween.Instance.DelayCall(waitTimeConst, waitCall);

            SuperTween.Instance.SetTag(id, "battle_tag");
        }
Example #4
0
        public void DelDamageGroup(BattleDamageNumGroup _unit)
        {
            _unit.Alpha = 0;

            _unit.IsChange = true;

            _unit.State = 0;

            if (_unit.unitVec == null)
            {
                Debug.Log("哈哈");
            }

            for (int i = 0; i < _unit.unitVec.Length; i++)
            {
                _unit.unitVec[i].SetGroup(-1);

                _unit.unitVec[i].nextUnit = unitFreeVec[_unit.drawIndex];

                unitFreeVec[_unit.drawIndex] = _unit.unitVec[i];
            }

            _unit.unitVec = null;

            if (_unit.preGroup != null)
            {
                _unit.preGroup.nextGroup = _unit.nextGroup;

                if (_unit.nextGroup != null)
                {
                    _unit.nextGroup.preGroup = _unit.preGroup;
                }
            }
            else
            {
                groupUseVec[_unit.drawIndex] = _unit.nextGroup;

                if (_unit.nextGroup != null)
                {
                    _unit.nextGroup.preGroup = null;
                }
            }

            _unit.nextGroup = groupFreeVec[_unit.drawIndex];

            groupFreeVec[_unit.drawIndex] = _unit;

            if (groupUseVec[_unit.drawIndex] == null)
            {
                //GameObject.Destroy(meshList[_unit.drawIndex]);
            }
        }
Example #5
0
        public void Update()
        {
            if (mrList != null)
            {
                for (int i = 0; i < damageDrawNum; i++)
                {
                    if (mrList[i] != null)
                    {
                        MeshRenderer tempMR = mrList[i];

                        for (int m = 0; m < damageUnitNum; m++)
                        {
                            BattleDamageNumUnit tempUnit = unitVec[i, m];

                            if (tempUnit.State == 1 || tempUnit.IsChange)
                            {
                                if (tempUnit.IsChange)
                                {
                                    tempUnit.IsChange = false;
                                }

                                tempUnit.GetFix(tempMR.material);
                                tempUnit.GetState(tempMR.material);

//	                            tempMR.material.SetVector("fix" + m.ToString(), tempUnit.GetFix());
//                                tempMR.material.SetVector("state" + m.ToString(), tempUnit.GetState());
                            }
                        }

                        for (int n = 0; n < damageGroupNum; n++)
                        {
                            BattleDamageNumGroup tempGroup = groupVec[i, n];

                            if (tempGroup.State == 1 || tempGroup.IsChange)
                            {
                                if (tempGroup.IsChange)
                                {
                                    tempGroup.IsChange = false;
                                }

                                tempGroup.GetPositionsVec(tempMR.material);
                                tempGroup.GetScaleFix(tempMR.material);

//	                            tempMR.material.SetVector("positions" + n.ToString(), tempGroup.GetPositionsVec());
//                                tempMR.material.SetVector("scaleFix" + n.ToString(), tempGroup.GetScaleFix());
                            }
                        }
                    }
                }
            }
        }
Example #6
0
        public void Small(BattleDamageNumGroup _unit)
        {
            Action scaleCall = delegate()
            {
                MoveOver(_unit);
            };

            Action <float> setScaleCall = delegate(float value)
            {
                _unit.SetScale(value);
            };

            SuperTween.Instance.To(_unit.nowScale, 0, smallTime, setScaleCall, scaleCall);
        }
Example #7
0
        public void ClearAll()
        {
            for (int i = 0; i < damageDrawNum; i++)
            {
                BattleDamageNumGroup tmpGroup = groupUseVec[i];

                while (tmpGroup != null)
                {
                    BattleDamageNumGroup tmpGroup2 = tmpGroup;

                    tmpGroup = tmpGroup.nextGroup;

                    DelDamageGroup(tmpGroup2);
                }
            }
        }
Example #8
0
        public void Samll1(BattleDamageNumGroup _unit)
        {
            Action scaleCall = delegate()
            {
                Small1Over(_unit);
            };

            Action <float> setScaleCall = delegate(float value)
            {
                _unit.SetScale(value);
            };

            int id = SuperTween.Instance.To(_unit.nowScale, small1Scale, small1Time, setScaleCall, scaleCall);

            SuperTween.Instance.SetTag(id, "battle_tag");
        }
Example #9
0
        public BattleDamageNumGroup AddSpeedNum(string _str, Vector3 _pos)
        {
            _pos.y = _pos.y + 2.5f;
            int nowDrawIndex = -1;

            for (int i = 0; i < damageDrawNum; i++)
            {
                if (groupFreeVec[i] != null)
                {
                    nowDrawIndex = i;

                    break;
                }
            }

            BattleDamageNumGroup unit = groupFreeVec[nowDrawIndex];

            unit.init(_str, 1);

            unit.State = 1;

            unit.Alpha = 1;

            groupFreeVec[nowDrawIndex] = unit.nextGroup;

            unit.nextGroup = groupUseVec[nowDrawIndex];

            unit.preGroup = null;

            groupUseVec[nowDrawIndex] = unit;

            if (unit.nextGroup != null)
            {
                unit.nextGroup.preGroup = unit;
            }

            unit.pos.x = _pos.x;

            unit.pos.y = _pos.y;

            unit.pos.z = _pos.z;

            return(unit);
        }
Example #10
0
        public void Init(GameObject con)
        {
            container = con;

            if (damageGO)
            {
                damageGO.SetActive(true);
                return;
            }

            unitVec = new BattleDamageNumUnit[damageDrawNum, damageUnitNum];

            unitFreeVec = new BattleDamageNumUnit[damageDrawNum];

            groupVec = new BattleDamageNumGroup[damageDrawNum, damageGroupNum];

            groupFreeVec = new BattleDamageNumGroup[damageDrawNum];

            groupUseVec = new BattleDamageNumGroup[damageDrawNum];

            int i, m;

            for (i = 0; i < damageDrawNum; i++)
            {
                for (m = 0; m < damageUnitNum; m++)
                {
                    unitVec[i, m] = new BattleDamageNumUnit();

                    if (m > 0)
                    {
                        unitVec[i, m - 1].nextUnit = unitVec[i, m];
                    }
                }

                unitFreeVec[i] = unitVec[i, 0];

                for (m = 0; m < damageGroupNum; m++)
                {
                    groupVec[i, m]     = new BattleDamageNumGroup(i, m);
                    groupVec[i, m].bdm = this;

                    if (m > 0)
                    {
                        groupVec[i, m - 1].nextGroup = groupVec[i, m];
                    }
                }

                groupFreeVec[i] = groupVec[i, 0];
            }

            mrList = new MeshRenderer[damageDrawNum];

            Action <GameObject> loadGameObject = delegate(GameObject _go)
            {
                damageGO = _go;

                damageGO.transform.SetParent(container.transform, false);

                mrList[0] = _go.GetComponent <MeshRenderer>();
            };

            GameObjectFactory.Instance.GetGameObject("Assets/Arts/battle/BattleTool/DamageNum.prefab", loadGameObject, true);
        }
Example #11
0
 public void MoveOver(BattleDamageNumGroup _unit)
 {
     DelDamageGroup(_unit);
 }
Example #12
0
        public void AddDamageNum(string _str, int _color, Vector3 _pos, bool _randomDirection = false, bool _isFly = false)
        {
            _pos.y = _pos.y + 1.8f;
            int nowDrawIndex = -1;

            for (int i = 0; i < damageDrawNum; i++)
            {
                if (groupFreeVec[i] != null)
                {
                    nowDrawIndex = i;

                    break;
                }
            }

            //if(groupUseVec[nowDrawIndex] == null){
            //mrList[nowDrawIndex] = GameObject.Instantiate(damageGO).GetComponent<MeshRenderer>();
            //}

            BattleDamageNumGroup unit = groupFreeVec[nowDrawIndex];

            unit.init(_str, _color);

            unit.State = 1;

            unit.alpha = 1;

            groupFreeVec[nowDrawIndex] = unit.nextGroup;

            unit.nextGroup = groupUseVec[nowDrawIndex];

            unit.preGroup = null;

            groupUseVec[nowDrawIndex] = unit;

            if (unit.nextGroup != null)
            {
                unit.nextGroup.preGroup = unit;
            }

            if (!_randomDirection)
            {
                unit.pos.x = _pos.x;

                unit.pos.y = _pos.y;

                unit.pos.z = _pos.z;
            }
            else
            {
                unit.pos.y = _pos.y + randomRadios - (UnityEngine.Random.value * 2 * randomRadios);

                unit.pos.x = _pos.x + randomRadios - (UnityEngine.Random.value * 2 * randomRadios);

                unit.pos.z = _pos.z + randomRadios - (UnityEngine.Random.value * 2 * randomRadios);
            }

            if (!_isFly)
            {
                Action scaleCall = delegate()
                {
                    Samll1(unit);
                };

                Action <float> setScaleCall = delegate(float value)
                {
                    unit.SetScale(value);
                };

                SuperTween.Instance.To(unit.nowScale, targetScale, largeTime, setScaleCall, scaleCall);
            }
            else
            {
                Action moveCall = delegate()
                {
                    MoveOver(unit);
                };

                Action <float> setMoveCall = delegate(float value)
                {
                    unit.pos.y = value;
                    unit.alpha = 1 - (value - _pos.y) / flyHeight;
                };

                SuperTween.Instance.To(unit.pos.y, unit.pos.y + flyHeight, flyTime, setMoveCall, moveCall);
            }
        }