﻿################################################################################
### description:
### circliar shining


from tcaxPy import *


def tcaxPy_Init():
    global _FD                         # frame duration, in millisecond
    global _Fs
    global Font
    _FD = 1000 / GetVal(val_FXFPS)
    _Fs = GetVal(val_FontSize)
    Font = InitFont(GetVal(val_FontFileName), GetVal(val_FaceID), _Fs, GetVal(val_Spacing), GetVal(val_SpaceScale), 0xFFFFFF, 0, 0)


def tcaxPy_Fin():
    FinFont(Font)


def DrawLight(r):
    s = '{\\p4}'
    r *= 8
    ag = -0.15
    while (ag <= 0.15):
        l = (pow(abs(ag) / 0.15, 0.3) + 0.5) * r
        s += 'm 0 0 l {0} {1} 0 1 c '.format(int(l * cos(ag)), int(l * sin(ag)))
        ag += 0.01
    s += '{\\p0}'
    return s

def tcaxPy_Main(_i, _j, _n, _start, _end, _elapk, _k, _x, _y, _a, _txt):
    ASS_BUF  = []        # used for saving ASS FX lines
    TCAS_BUF = []        # used for saving TCAS FX raw data

    ts = _start + _elapk
    #te = _start + _elapk + _k
    count = _k + 10
    for i in range(0, count, 2):
        startag = randint(0, 359)
        endag = startag + RandSign() * randint(50, 100)
        EFT = pos(_x, _y) + fad(300, 300) + alpha1(0) + be(1) + color1('147EF3') + frz(startag) + t(frz(endag))
        ass_main(ASS_BUF, SubL(ts + i, ts + i + 100, 4, Pix_Style), EFT, DrawLight(120))
        EFT = pos(_x, _y) + fad(300, 300) + alpha1(20) + be(1) + color1('FFFFFF') + frz(startag) + t(frz(endag))
        ass_main(ASS_BUF, SubL(ts + i, ts + i + 100, 5, Pix_Style), EFT, DrawLight(60))

    return (ASS_BUF, TCAS_BUF)



