^ i have no idea if thats right, lol im just randoml putting something in
what a method operators? i've read the jass helper manual tihngy but it still didn't clear things up, what can operators do? and why do people use em?
struct matrix
private integer array values[1000]
private integer m
private integer n
method create takes nothing returns nothing
set .m=0
set .n=0
endmethod
// consider you make yourself a method to put values in the matrix
method value takes integer i , integer j returns integer
if .m>=i and .n>=j then
return values[i+j*m]
else
return 0
endif
endmethod
method operator + takes matrix b returns matrix
local matrix c=matrix.create()
local integer i=0
local integer j=0
set c.m=ImaxBJ(.m,b.m)
set c.n=ImaxBJ(.n,b.n)
loop
exitwhen j==c.n
set i=0
loop
exitwhen i==c.m
set c.values[i+j*c.m]=this.value(i,j)+b.value(i,j)
i=i+1
endloop
set j=j+1
endloop
return c
endmethod
endstruct
scope HELLO
private struct test
unit hero
method operator [] takes unit u returns string
return GetUnitName(.hero)+GetUnitName(u)
endmethod
endstruct
private function hey takes nothing returns nothing
local test t = test.create()
call BJDebugMsg(t[GetTriggerUnit()])
endfunction
endscope
local xefx lol=xefx.create( .. )
set lol.fxpath="lol2.mdl" // this line looks like a simple set variable=something, but in reality it might call shitloads of functions.