コード例 #1
0
        private void Update()
        {
            // check if effect?
            if (!mTriggerAction)
            {
                return;
            }


            mInvicibleTimer += Time.deltaTime;

            // do flash algorithm.
            DoFlash();

            // check if the time reach?
            if (mInvicibleTime > mInvicibleTimer)
            {
                return;
            }

            mLiveObject.CanDamage = true;

            // set back the local color to record color.
            if (mOrderLayerObject.GetSpriteRenderer() != null)
            {
                mOrderLayerObject.GetSpriteRenderer().color = mRecordColor;
            }
            for (int index = 0;
                 index < mOrderLayerObject.SpriteRenderers().Count;
                 ++index)
            {
                /*
                 * No need to check null, this will always be there.
                 * Because 'JCS_OrderLayerObject' will be remove the
                 * empty slot before we use it.
                 */
                mOrderLayerObject.SpriteRenderersAt(index).color = mRecordColor;
            }

            // reset timer.
            mInvicibleTimer = 0.0f;

            this.mFlashToggle = false;

            // cancel action
            mTriggerAction = false;
        }