Example #1
0
        public void Reset()
        {
            //activate on death subemitter.
            if (Owner.UseSubEmitters && !string.IsNullOrEmpty(Owner.DeathSubEmitter))
            {
                XffectComponent sub = Owner.SpawnCache.GetEffect(Owner.DeathSubEmitter);
                if (sub == null)
                {
                    return;
                }

                sub.transform.position = CurWorldPos;
                sub.Active();
            }

            //Position = Vector3.up * -9999;
            Position    = Owner.ClientTransform.position;
            Velocity    = Vector3.zero;
            ElapsedTime = 0f;


            CurWorldPos = Owner.transform.position;

            LastWorldPos = CurWorldPos;

            IsCollisionEventSended = false;

            if (Owner.IsRandomStartColor)
            {
                //StartColor = Owner.RandomColorParam.GetGradientColor(UnityEngine.Random.Range(0f, 1f));
                StartColor = Owner.RandomColorGradient.Evaluate(UnityEngine.Random.Range(0f, 1f));
            }

            //do not use foreach in script!
            for (int i = 0; i < AffectorList.Count; i++)
            {
                Affector aft = AffectorList[i];
                aft.Reset();
            }

            Scale = Vector3.one;


            mIsFade = false;


            RenderObj.Reset();

            if (Owner.UseSubEmitters &&
                SubEmitter != null && XffectComponent.IsActive(SubEmitter.gameObject) &&
                Owner.SubEmitterAutoStop)
            {
                SubEmitter.StopEmit();
            }
        }
Example #2
0
        public void Reset()
        {
            Position     = Owner.ClientTransform.position;
            Velocity     = Vector3.zero;
            ElapsedTime  = 0f;
            CurWorldPos  = Owner.transform.position;
            LastWorldPos = CurWorldPos;

            if (Owner.IsRandomStartColor)
            {
                StartColor = Owner.RandomColorGradient.Evaluate(UnityEngine.Random.Range(0f, 1f));
            }

            foreach (var v in AffectorList)
            {
                v.Reset();
            }

            Scale = Vector3.one;
            //mIsFade = false;
            RenderObj.Reset();
        }