找回密码
 点一下
查看: 1779|回复: 11

单位在面板上的排序是根据什么呢?

[复制链接]
发表于 2011-7-8 12:29:55 | 显示全部楼层 |阅读模式
应该首先是Subgroup Priority,高的在前。
但是如果Subgroup Priority一样呢?

观察了一下这种情况下似乎跟Glossary Priority有关,低的在前,但是0除外。

如果Subgroup Priority一样,Glossary Priority也一样并且都等于0,怎么办。。。
发表于 2011-7-8 12:42:40 | 显示全部楼层
面板?你说什么面板?

控制台中间那个?
回复

使用道具 举报

 楼主| 发表于 2011-7-8 12:46:56 | 显示全部楼层
引用第1楼麦德三世于2011-07-08 12:42发表的  :
面板?你说什么面板?

控制台中间那个?
就是下面的选择栏拉。。。
回复

使用道具 举报

发表于 2011-7-8 12:47:45 | 显示全部楼层


选择栏?就是显示目前你框选的所有兵的血量的那个?
回复

使用道具 举报

 楼主| 发表于 2011-7-8 12:49:52 | 显示全部楼层
选择枪兵与SCV的话,枪兵会排在前面,因为优先级高。

但是,很多建筑的优先级是一样的,那么这里排列是如何决定的呢?
回复

使用道具 举报

发表于 2011-7-8 13:03:29 | 显示全部楼层
和Glossary Glossary无关。

只和三个因素有关:

1]Subgroup Priority。子组优先级越大的越靠前

2]Subgroup Alias 子组别名一样的会被分到一个子组里。那个组的位置由Subgroup Alias所指定的单位决定。

3]单位ID。如果子组优先级一样,那么看单位ID,按照字母顺序排列。在同一个子组中如果两个单位ID不同,同样按照字母顺序排列。
回复

使用道具 举报

 楼主| 发表于 2011-7-8 13:09:17 | 显示全部楼层

回 5楼(麦德三世) 的帖子

这实在是无法解释为什么飞起的人族建筑物、降落的人族供给站会排到其它子组的后面啊
按理他们与其它建筑一样优先级都是3
而且每个建筑都是自己的subgroup alias因此这项可以无视
单位ID这是怎么个排法。。。
回复

使用道具 举报

发表于 2011-7-8 13:19:20 | 显示全部楼层
OrbitalCommand显然比OrbitalCommandFlying在字母顺序上靠前。SupplyDepot显然比SupplyDepotLowered靠前。
回复

使用道具 举报

 楼主| 发表于 2011-7-8 13:23:29 | 显示全部楼层
引用第7楼麦德三世于2011-07-08 13:19发表的  :
单位ID就是单位ID,我不是说了字母顺序么还能怎么排法。


OrbitalCommand显然比OrbitalCommandFlying在字母顺序上靠前。SupplyDepot显然比SupplyDepotLowered靠前。怎么就无法解释了?
因为实际排序的结果:
Barracks < Factory < Starport
同时
FactoryFlying < StartportFlying < BarracksFlying
有趣的是,如果原本是降落状态,选中后升起建筑,他们会保持不变。如果再重新选择一次,会发现FactoryFlying排到前面去了。
回复

使用道具 举报

发表于 2011-7-8 13:47:40 | 显示全部楼层
好吧,不是字母顺序,而是这个顺序。

BeaconRally
BeaconAttack
BeaconDefend
BeaconDetect
BeaconExpand
BeaconHarass
BeaconScout
Ball
StereoscopicOptionsUnit
Colossus
TechLab
Reactor
InfestorTerran
BanelingCocoon
Baneling
Mothership
PointDefenseDrone
Changeling
ChangelingZealot
ChangelingMarineShield
ChangelingMarine
ChangelingZerglingWings
ChangelingZergling
CommandCenter
SupplyDepot
Refinery
Barracks
EngineeringBay
MissileTurret
Bunker
SensorTower
GhostAcademy
Factory
Starport
Armory
FusionCore
AutoTurret
SiegeTankSieged
SiegeTank
VikingAssault
VikingFighter
CommandCenterFlying
BarracksTechLab
BarracksReactor
FactoryTechLab
FactoryReactor
StarportTechLab
StarportReactor
FactoryFlying
StarportFlying
SCV
BarracksFlying
SupplyDepotLowered
Marine
Reaper
Ghost
Marauder
Thor
Hellion
Medivac
Banshee
Raven
Battlecruiser
Nuke
Nexus
Pylon
Assimilator
Gateway
Forge
FleetBeacon
TwilightCouncil
PhotonCannon
Stargate
TemplarArchive
DarkShrine
RoboticsBay
RoboticsFacility
CyberneticsCore
Zealot
Stalker
HighTemplar
DarkTemplar
Sentry
Phoenix
Carrier
VoidRay
WarpPrism
Observer
Immortal
Probe
Interceptor
Hatchery
CreepTumor
Extractor
SpawningPool
EvolutionChamber
HydraliskDen
Spire
UltraliskCavern
InfestationPit
NydusNetwork
BanelingNest
RoachWarren
SpineCrawler
SporeCrawler
Lair
Hive
GreaterSpire
Egg
Drone
Zergling
Overlord
Hydralisk
Mutalisk
Ultralisk
Roach
Infestor
Corruptor
BroodLordCocoon
BroodLord
BanelingBurrowed
DroneBurrowed
HydraliskBurrowed
RoachBurrowed
ZerglingBurrowed
InfestorTerranBurrowed
RedstoneLavaCritterBurrowed
RedstoneLavaCritterInjuredBurrowed
RedstoneLavaCritter
RedstoneLavaCritterInjured
QueenBurrowed
Queen
InfestorBurrowed
OverlordCocoon
Overseer
PlanetaryFortress
UltraliskBurrowed
OrbitalCommand
WarpGate
OrbitalCommandFlying
ForceField
WarpPrismPhasing
CreepTumorBurrowed
SpineCrawlerUprooted
SporeCrawlerUprooted
Archon
NydusCanal
BroodlingEscort
RichMineralField
XelNagaTower
InfestedTerransEgg
Larva
ReaperPlaceholder
NeedleSpinesWeapon
CorruptionWeapon
InfestedTerransWeapon
NeuralParasiteWeapon
PointDefenseDroneReleaseWeapon
HunterSeekerWeapon
MULE
ThorAAWeapon
PunisherGrenadesLMWeapon
VikingFighterWeapon
ATALaserBatteryLMWeapon
ATSLaserBatteryLMWeapon
LongboltMissileWeapon
D8ChargeWeapon
YamatoWeapon
IonCannonsWeapon
AcidSalivaWeapon
SpineCrawlerWeapon
SporeCrawlerWeapon
GlaiveWurmWeapon
GlaiveWurmM2Weapon
GlaiveWurmM3Weapon
StalkerWeapon
EMP2Weapon
BacklashRocketsLMWeapon
PhotonCannonWeapon
ParasiteSporeWeapon
Broodling
BroodLordBWeapon
AutoTurretReleaseWeapon
LarvaReleaseMissile
AcidSpinesWeapon
FrenzyWeapon
ContaminateWeapon
FungalGrowthMissile
NeuralParasiteTentacleMissile
Beacon_Protoss
Beacon_ProtossSmall
Beacon_Terran
Beacon_TerranSmall
Beacon_Zerg
Beacon_ZergSmall
Lyote
CarrionBird
KarakMale
KarakFemale
UrsadakMale
UrsadakFemale
UrsadakCalf
UrsadakMaleExotic
UrsadakFemaleExotic
UtilityBot
CommentatorBot1
CommentatorBot2
CommentatorBot3
CommentatorBot4
Scantipede
Dog
Sheep
Cow
InfestedTerransEggPlacement
InfestorTerransWeapon
MineralField
VespeneGeyser
SpacePlatformGeyser
RichVespeneGeyser
DestructibleSearchlight
DestructibleBullhornLights
DestructibleStreetlight
DestructibleSpacePlatformSign
DestructibleStoreFrontCityProps
DestructibleBillboardTall
DestructibleBillboardScrollingText
DestructibleSpacePlatformBarrier
DestructibleSignsDirectional
DestructibleSignsConstruction
DestructibleSignsFunny
DestructibleSignsIcons
DestructibleSignsWarning
DestructibleGarage
DestructibleGarageLarge
DestructibleTrafficSignal
TrafficSignal
BraxisAlphaDestructible1x1
BraxisAlphaDestructible2x2
DestructibleDebris4x4
DestructibleDebris6x6
DestructibleRock2x4Vertical
DestructibleRock2x4Horizontal
DestructibleRock2x6Vertical
DestructibleRock2x6Horizontal
DestructibleRock4x4
DestructibleRock6x6
DestructibleRampDiagonalHugeULBR
DestructibleRampDiagonalHugeBLUR
DestructibleRampVerticalHuge
DestructibleRampHorizontalHuge
MengskStatueAlone
MengskStatue
WolfStatue
GlobeStatue
Weapon
GlaiveWurmBounceWeapon
BroodLordWeapon
BroodLordAWeapon
CreepBlocker1x1
PathingBlocker1x1
PathingBlocker2x2
AutoTestAttackTargetGround
AutoTestAttackTargetAir
AutoTestAttacker
HelperEmitterSelectionArrow
MultiKillObject
ShapeGolfball
ShapeCone
ShapeCube
ShapeCylinder
ShapeDodecahedron
ShapeIcosahedron
ShapeOctahedron
ShapePyramid
ShapeRoundedCube
ShapeSphere
ShapeTetrahedron
ShapeThickTorus
ShapeThinTorus
ShapeTorus
Shape4PointStar
Shape5PointStar
Shape6PointStar
Shape8PointStar
ShapeArrowPointer
ShapeBowl
ShapeBox
ShapeCapsule
ShapeCrescentMoon
ShapeDecahedron
ShapeDiamond
ShapeFootball
ShapeGemstone
ShapeHeart
ShapeJack
ShapePlusSign
ShapeShamrock
ShapeSpade
ShapeTube
ShapeEgg
ShapeYenSign
ShapeX
ShapeWatermelon
ShapeWonSign
ShapeTennisball
ShapeStrawberry
ShapeSmileyFace
ShapeSoccerball
ShapeRainbow
ShapeSadFace
ShapePoundSign
ShapePear
ShapePineapple
ShapeOrange
ShapePeanut
ShapeO
ShapeLemon
ShapeMoneyBag
ShapeHorseshoe
ShapeHockeyStick
ShapeHockeyPuck
ShapeHand
ShapeGolfClub
ShapeGrape
ShapeEuroSign
ShapeDollarSign
ShapeBasketball
ShapeCarrot
ShapeCherry
ShapeBaseball
ShapeBaseballBat
ShapeBanana
ShapeApple
ShapeCashLarge
ShapeCashMedium
ShapeCashSmall
ShapeFootballColored
ShapeLemonSmall
ShapeOrangeSmall
ShapeTreasureChestOpen
ShapeTreasureChestClosed
ShapeWatermelonSmall
回复

使用道具 举报

 楼主| 发表于 2011-7-8 13:58:33 | 显示全部楼层
为什么是这个顺序呢、、
怎么找到的。。
回复

使用道具 举报

 楼主| 发表于 2011-7-8 14:31:09 | 显示全部楼层
好吧 我表示问题解决了...
原来class里有记录单位对应哪个子组的。。。而且跟单位组中的单位顺序并不对应

class CUnitSelection
{
public:
    void Flush( void )
    {
        CUnitSelection_Flush( this );
    }

    void PushUnit( CUnit* lpcUnit )
    {
        DWORD dwUnitId = lpcUnit->GetUnitId( );
        CUnitSelection_PushUnit( this, &dwUnitId, lpcUnit->GetModelPtr( ) + 0x3C , 1 );
    }

    inline byte
        GetUnits( void ) { return m_bUnitsInGroup; }
    inline byte
        GetSubgroups( void ) { return m_bSubgroupsInGroup; }
    inline WORD
        GetCurrentSubgroup( void ) { return m_wCurrentSubgroup; }
    inline DWORD
        GetUnitId( byte bIndex ) { return m_dwUnits[ bIndex ]; }
    inline byte
        GetUnitSubgroup( byte bIndex ) { return m_bUnitSubgroups[ bIndex ]; }

private:
    /* + 0x000 */ byte m_bUnitsInGroup;
    /* + 0x001 */ byte m_bSubgroupsInGroup;
    /* + 0x002 */ WORD m_wCurrentSubgroup;
    /* + 0x004 */ DWORD m_dwUnits[ 255 ];
    /* + 0x400 */ byte m_bUnitSubgroups[ 255 ];
    /* + 0x500 */ byte m_bTable1[ 2040 ];    // 8
};
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-12-25 13:59 , Processed in 0.033219 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表