jass的文字如下
1 library UnitAnimation
globals
private integer StructMax = 0
endglobals
struct Animation
integer UnitType
integer WalkAnimation
integer ElseWalkAnimation
integer StandAnimation
integer DeepWaterStand
real MoveSpeed
static Animation data
static method TurnUnitAnimation takes integer UnitType returns integer
local integer i = 0
local integer TurnIndex = 0
loop
exitwhen i > StructMax
set data = i
if data.UnitType == UnitType then
set TurnIndex = data.WalkAnimation
exitwhen true
endif
set i = i + 1
endloop
return TurnIndex
endmethod
static method TurnUnitMoveSpeed takes integer UnitType returns real
local integer i = 0
local real TurnSpeed = 0
loop
exitwhen i > StructMax
set data = i
if data.UnitType == UnitType then
set TurnSpeed = data.MoveSpeed
exitwhen true
endif
set i = i + 1
endloop
return TurnSpeed
endmethod
static method TurnUnitElseWalkAnimation takes integer UnitType returns integer
local integer i = 0
local integer TurnIndex = 0
loop
exitwhen i > StructMax
set data = i
if data.UnitType == UnitType then
set TurnIndex = data.ElseWalkAnimation
exitwhen true
endif
set i = i + 1
endloop
return TurnIndex
endmethod
static method TurnUnitDeepWaterStand takes integer UnitType returns integer
local integer i = 0
local integer TurnIndex = 0
loop
exitwhen i > StructMax
set data = i
if data.UnitType == UnitType then
set TurnIndex = data.DeepWaterStand
exitwhen true
endif
set i = i + 1
endloop
return TurnIndex
endmethod
static method TurnUnitStandAnimation takes integer UnitType returns integer
local integer i = 0
local integer TurnIndex = 0
loop
exitwhen i > StructMax
set data = i
if data.UnitType == UnitType then
set TurnIndex = data.StandAnimation
exitwhen true
endif
set i = i + 1
endloop
return TurnIndex
endmethod
endstruct
//设置单位的行走索引
function SaveUnitAnimation takes integer UnitType,integer WalkAnimation returns nothing
local Animation dat
set StructMax = StructMax + 1
set dat = Animation.create()
set dat.UnitType = UnitType
set dat.WalkAnimation = WalkAnimation
endfunction
//! textmacro_once SaveAnimation takes func_name,type
function SaveUnit$func_name$ takes integer UnitType,$type$ value returns nothing
local Animation dat
local integer i = 0
loop
exitwhen i > StructMax
set dat = i
if dat.UnitType == UnitType then
set dat.$func_name$= value
endif
set i = i + 1
endloop
endfunction
//! endtextmacro
//! runtextmacro SaveAnimation ("ElseWalkAnimation","integer")
//! runtextmacro SaveAnimation ("MoveSpeed","real")
//! runtextmacro SaveAnimation ("DeepWaterStand","integer")
//! runtextmacro SaveAnimation ("StandAnimation","integer")
//! textmacro_once Turn takes func_name,type
function TurnUnit$func_name$ takes unit UnitType returns $type$
return Animation.TurnUnit$func_name$(GetUnitTypeId(UnitType))
endfunction
//! endtextmacro
//! runtextmacro Turn ("ElseWalkAnimation","integer")
//! runtextmacro Turn ("Animation","integer")
//! runtextmacro Turn ("MoveSpeed","real")
//! runtextmacro Turn ("DeepWaterStand","integer")
//! runtextmacro Turn ("StandAnimation","integer")
endlibrary
先说清楚了,我是个完全不懂jass的人!
1 library UnitAnimation
globals
private integer StructMax = 0
endglobals
struct Animation
integer UnitType
integer WalkAnimation
integer ElseWalkAnimation
integer StandAnimation
integer DeepWaterStand
real MoveSpeed
static Animation data
static method TurnUnitAnimation takes integer UnitType returns integer
local integer i = 0
local integer TurnIndex = 0
loop
exitwhen i > StructMax
set data = i
if data.UnitType == UnitType then
set TurnIndex = data.WalkAnimation
exitwhen true
endif
set i = i + 1
endloop
return TurnIndex
endmethod
static method TurnUnitMoveSpeed takes integer UnitType returns real
local integer i = 0
local real TurnSpeed = 0
loop
exitwhen i > StructMax
set data = i
if data.UnitType == UnitType then
set TurnSpeed = data.MoveSpeed
exitwhen true
endif
set i = i + 1
endloop
return TurnSpeed
endmethod
static method TurnUnitElseWalkAnimation takes integer UnitType returns integer
local integer i = 0
local integer TurnIndex = 0
loop
exitwhen i > StructMax
set data = i
if data.UnitType == UnitType then
set TurnIndex = data.ElseWalkAnimation
exitwhen true
endif
set i = i + 1
endloop
return TurnIndex
endmethod
static method TurnUnitDeepWaterStand takes integer UnitType returns integer
local integer i = 0
local integer TurnIndex = 0
loop
exitwhen i > StructMax
set data = i
if data.UnitType == UnitType then
set TurnIndex = data.DeepWaterStand
exitwhen true
endif
set i = i + 1
endloop
return TurnIndex
endmethod
static method TurnUnitStandAnimation takes integer UnitType returns integer
local integer i = 0
local integer TurnIndex = 0
loop
exitwhen i > StructMax
set data = i
if data.UnitType == UnitType then
set TurnIndex = data.StandAnimation
exitwhen true
endif
set i = i + 1
endloop
return TurnIndex
endmethod
endstruct
//设置单位的行走索引
function SaveUnitAnimation takes integer UnitType,integer WalkAnimation returns nothing
local Animation dat
set StructMax = StructMax + 1
set dat = Animation.create()
set dat.UnitType = UnitType
set dat.WalkAnimation = WalkAnimation
endfunction
//! textmacro_once SaveAnimation takes func_name,type
function SaveUnit$func_name$ takes integer UnitType,$type$ value returns nothing
local Animation dat
local integer i = 0
loop
exitwhen i > StructMax
set dat = i
if dat.UnitType == UnitType then
set dat.$func_name$= value
endif
set i = i + 1
endloop
endfunction
//! endtextmacro
//! runtextmacro SaveAnimation ("ElseWalkAnimation","integer")
//! runtextmacro SaveAnimation ("MoveSpeed","real")
//! runtextmacro SaveAnimation ("DeepWaterStand","integer")
//! runtextmacro SaveAnimation ("StandAnimation","integer")
//! textmacro_once Turn takes func_name,type
function TurnUnit$func_name$ takes unit UnitType returns $type$
return Animation.TurnUnit$func_name$(GetUnitTypeId(UnitType))
endfunction
//! endtextmacro
//! runtextmacro Turn ("ElseWalkAnimation","integer")
//! runtextmacro Turn ("Animation","integer")
//! runtextmacro Turn ("MoveSpeed","real")
//! runtextmacro Turn ("DeepWaterStand","integer")
//! runtextmacro Turn ("StandAnimation","integer")
endlibrary
先说清楚了,我是个完全不懂jass的人!