130 lines
2.9 KiB
Plaintext
130 lines
2.9 KiB
Plaintext
|
||
function sq_AddFunctionName(appendage)
|
||
{
|
||
appendage.sq_AddFunctionName("proc", "proc_appendage_avenger_effect")
|
||
appendage.sq_AddFunctionName("prepareDraw", "prepareDraw_appendage_avenger_effect")
|
||
appendage.sq_AddFunctionName("onStart", "onStart_appendage_avenger_effect")
|
||
appendage.sq_AddFunctionName("onEnd", "onEnd_appendage_avenger_effect")
|
||
appendage.sq_AddFunctionName("drawAppend", "drawAppend_appendage_avenger_effect")
|
||
appendage.sq_AddFunctionName("isEnd", "isEnd_appendage_avenger_effect")
|
||
}
|
||
|
||
|
||
function sq_AddEffect(appendage)
|
||
{
|
||
//appendage.sq_AddEffectFront("Character/Priest/Effect/Animation/ScytheMastery/1_aura_normal.ani")
|
||
}
|
||
|
||
function proc_appendage_avenger_effect(appendage)
|
||
{
|
||
if(!appendage) {
|
||
return;
|
||
}
|
||
|
||
}
|
||
|
||
|
||
function onStart_appendage_avenger_effect(appendage)
|
||
{
|
||
if(!appendage) {
|
||
return;
|
||
}
|
||
|
||
local obj = appendage.getParent();
|
||
|
||
|
||
}
|
||
|
||
|
||
function prepareDraw_appendage_avenger_effect(appendage)
|
||
{
|
||
if(!appendage) {
|
||
return;
|
||
}
|
||
|
||
local obj = appendage.getParent();
|
||
}
|
||
|
||
|
||
|
||
|
||
function onEnd_appendage_avenger_effect(appendage)
|
||
{
|
||
if(!appendage) {
|
||
return;
|
||
}
|
||
|
||
local obj = appendage.getParent();
|
||
}
|
||
|
||
function drawAppend_appendage_avenger_effect(appendage, isOver, x, y, isFlip)
|
||
{
|
||
if(!appendage) {
|
||
return;
|
||
}
|
||
|
||
local obj = appendage.getParent();
|
||
|
||
if(!obj) {
|
||
appendage.setValid(false);
|
||
return;
|
||
}
|
||
|
||
local pAni = sq_GetCurrentAnimation(obj);
|
||
|
||
if(!pAni) {
|
||
appendage.setValid(false);
|
||
return;
|
||
}
|
||
|
||
local currentT = sq_GetCurrentTime(pAni);
|
||
|
||
local targetV = 50;
|
||
|
||
local al = sq_GetUniformVelocity(200, targetV, appendage.getTimer().Get(), 500);
|
||
|
||
local rgb = sq_RGB(0, 0, 0);
|
||
local alpha = sq_ALPHA(al);
|
||
pAni.setEffectLayer(true, GRAPHICEFFECT_NONE, true, rgb, alpha, true, false);
|
||
|
||
|
||
local size = sq_AniLayerListSize(pAni);
|
||
|
||
if(size > 0) {
|
||
//local aniList =[];
|
||
//aniList.resize(size);
|
||
for(local i=0;i<size;i+=1) {
|
||
local aniL = sq_getAniLayerListObject(pAni, i);
|
||
|
||
if(aniL) {
|
||
local effect = aniL.GetCurrentFrame().GetGraphicEffect();
|
||
|
||
if(effect != GRAPHICEFFECT_LINEARDODGE) {
|
||
aniL.setEffectLayer(true, GRAPHICEFFECT_NONE, true, rgb, alpha, true, false);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
//CNRDAnimation::AniLayerList *layerList = animation->getAnimationLayers();
|
||
//for (CNRDAnimation::AniLayerList::iterator it = layerList->begin(); it != layerList->end(); it++)
|
||
//{
|
||
//if ((*it).second->GetFrameNumber() != 0 && (*it).second->GetCurrentFrame() && (*it).second->GetCurrentFrame()->GetGraphicEffect() != GRAPHICEFFECT_LINEARDODGE)
|
||
//(*it).second->setEffectLayer(true, GRAPHICEFFECT_NONE, true, RGB(255, 0, 0), ALPHA(alpha), true);
|
||
//}
|
||
|
||
|
||
if(al == targetV) {
|
||
appendage.setValid(false);
|
||
}
|
||
}
|
||
|
||
// 横渐螳 陕撩 渗褐暧 部睡碟
|
||
function isEnd_appendage_avenger_effect(appendage)
|
||
{
|
||
if(!appendage) return false;
|
||
|
||
local T = appendage.getTimer().Get();
|
||
|
||
return false;
|
||
} |