blob: 30a30e992c89b663b8ed61d7db133fa200141661 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
/*-- Aimer appendto --*/
#strict 2
#appendto AIMR
local targetDir;
private func DoDirControl(int iDir)
{
// Abbruch, wenn das Zielobjekt weg ist
if (!pTargetObject) return(Abort());
// Richtungsänderung?
if (iDir != targetDir)
{
iAngle=-iAngle;
if(GetAction(pTargetObject) != "Scale")
{
pTargetObject->SetDir(iDir);
}
pArrow->UpdateAngle(iAngle);
pTargetObject->~AimingAngle(iAngle);
targetDir = iDir;
}
else
// Tastendruck in Zielrichtung: Zaubern!
DoEnter();
return(1);
}
private func DoUpDownControl(int iByChange)
{
// Abbruch, wenn das Zielobjekt weg ist
if (!pTargetObject) return(Abort());
// Zielrichtung ändern
iAngle = BoundBy(Abs(iAngle) + iByChange, 0, 180);
if (!targetDir) iAngle *= -1;
pArrow->UpdateAngle(iAngle);
pTargetObject->~AimingAngle(iAngle);
return(1);
}
public func Create(object pCommandObject, object pMenuObj, int iStartAngle)
{
var ret = _inherited(pCommandObject, pMenuObj, iStartAngle);
targetDir = pTargetObject->GetDir();
return ret;
}
|