DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ CheckIsWeapon()

void Icon::CheckIsWeapon ( )
inlineprotected

См. определение в файле Icon.c строка 1505

1506 {
1507 Weapon_Base wpn = Weapon_Base.Cast(m_Obj);
1508 if (wpn)
1509 {
1510 m_AmmoIcons = new array<ImageWidget>();
1511 m_IsWeapon = true;
1512 float posX = 0.0;
1513 float width = 0.0, height = 0.0;
1514 for (int i = 0; i < wpn.GetMuzzleCount(); i++)
1515 {
1516 if (i == 1)
1517 {
1518 m_AmmoIcons[0].GetSize(width, height);
1519 }
1520 posX += width;
1521
1522 Widget ammoIcon = Widget.Cast(GetGame().GetWorkspace().CreateWidgets("gui/layouts/inventory_new/ammo_icon.layout", GetMainWidget()));
1523 ammoIcon.SetPos(posX, 0.0, false);
1524
1525 ImageWidget ammoIconImg = ImageWidget.Cast(ammoIcon.GetChildren());
1526
1527 AmmoData data = Magazine.GetAmmoData(wpn.GetChamberAmmoTypeName(i));
1528 if (data)
1529 {
1530 CartridgeType cartridgeType = data.m_CartridgeType;
1531 switch (cartridgeType)
1532 {
1533 case CartridgeType.Pistol:
1534 {
1535 ammoIconImg.LoadImageFile(0, "set:dayz_gui image:cartridge_pistol");
1536 ammoIconImg.LoadImageFile(1, "set:dayz_gui image:shell_pistol");
1537 ammoIconImg.LoadImageFile(2, "set:dayz_gui image:jam_pistol");
1538 break;
1539 }
1540 case CartridgeType.Intermediate:
1541 {
1542 ammoIconImg.LoadImageFile(0, "set:dayz_gui image:cartridge_int");
1543 ammoIconImg.LoadImageFile(1, "set:dayz_gui image:shell_int");
1544 ammoIconImg.LoadImageFile(2, "set:dayz_gui image:jam_int");
1545 break;
1546 }
1547 case CartridgeType.FullPower:
1548 {
1549 ammoIconImg.LoadImageFile(0, "set:dayz_gui image:cartridge_fp");
1550 ammoIconImg.LoadImageFile(1, "set:dayz_gui image:shell_fp");
1551 ammoIconImg.LoadImageFile(2, "set:dayz_gui image:jam_fp");
1552 break;
1553 }
1554 case CartridgeType.Shell:
1555 {
1556 ammoIconImg.LoadImageFile(0, "set:dayz_gui image:cartridge_shell");
1557 ammoIconImg.LoadImageFile(1, "set:dayz_gui image:shell_shell");
1558 ammoIconImg.LoadImageFile(2, "set:dayz_gui image:jam_shell");
1559 break;
1560 }
1561 //@note: Crossbows cant jam so we dont add a icon for the jam state
1562 case CartridgeType.Arrow:
1563 {
1564 ammoIconImg.LoadImageFile(0, "set:dayz_gui image:arrow_int");
1565 ammoIconImg.LoadImageFile(1, "set:dayz_gui image:arrow_int");
1566 break;
1567 }
1568 }
1569 }
1570 m_AmmoIcons.Insert(ammoIconImg);
1571 }
1572 }
1573 else
1574 {
1575 m_IsWeapon = false;
1576 }
1577 }
CartridgeType
Определения Magazine.c:4
EntityAI m_Obj
Определения Icon.c:15
ref array< ImageWidget > m_AmmoIcons
Определения Icon.c:39
bool m_IsWeapon
Определения Icon.c:9
proto native CGame GetGame()
WorkspaceWidget Widget
Defined in code.

Перекрестные ссылки GetGame(), m_AmmoIcons, m_IsWeapon и m_Obj.

Используется в InitEx().