Ticket #1201: hasClass.patch

File hasClass.patch, 4.4 KB (added by leper, 12 years ago)
  • binaries/data/mods/public/gui/session/input.js

     
    255255        switch (action)
    256256        {
    257257        case "garrison":
    258             if (isUnit(entState) && targetState.garrisonHolder && playerOwned)
     258            if (hasClass(entState, "Unit") && targetState.garrisonHolder && playerOwned)
    259259            {
    260260                var allowedClasses = targetState.garrisonHolder.allowedClasses;
    261261                for each (var unitClass in entState.identity.classes)
     
    474474        var entState = GetEntityState(ent);
    475475        if (!entState)
    476476            continue;
    477         if (isUnit(entState))
     477        if (hasClass(entState, "Unit"))
    478478            preferredEnts.push(ent);
    479479
    480480        entStateList.push(entState);
     
    483483    // If there are no units, check if there are defensive entities in the selection
    484484    if (!preferredEnts.length)
    485485        for (var i = 0; i < ents.length; i++)
    486             if (isDefensive(entStateList[i]))
     486            if (hasClass(entStateList[i], "Defensive"))
    487487                preferredEnts.push(ents[i]);
    488488
    489489    return preferredEnts;
     
    496496    for each (var ent in ents)
    497497    {
    498498        var entState = GetEntityState(ent);
    499         if (!isSupport(entState))
     499        if (!hasClass(entState, "Support"))
    500500            militaryEnts.push(ent);
    501501    }
    502502    return militaryEnts;
     
    13551355    if (entity)
    13561356    {
    13571357        var entState = GetEntityState(entity);
    1358         if (entState && isUnit(entState))
     1358        if (entState && hasClass(entState, "Unit"))
    13591359        {
    13601360            Engine.CameraFollow(entity);
    13611361            return;
  • binaries/data/mods/public/gui/session/unit_commands.js

     
    512512        }
    513513
    514514        var formations = getEntityFormationsList(entState);
    515         if (isUnit(entState) && !isAnimal(entState) && !entState.garrisonHolder && formations.length)
     515        if (hasClass(entState, "Unit") && !hasClass(entState, "Animal") && !entState.garrisonHolder && formations.length)
    516516        {
    517517            setupUnitPanel("Formation", usedPanels, entState, formations,
    518518                function (item) { performFormation(entState.id, item); } );
     
    521521        // TODO: probably should load the stance list from a data file,
    522522        // and/or vary depending on what units are selected
    523523        var stances = ["violent", "aggressive", "passive", "defensive", "stand"];
    524         if (isUnit(entState) && !isAnimal(entState) && !entState.garrisonHolder && stances.length)
     524        if (hasClass(entState, "Unit") && !hasClass(entState, "Animal") && !entState.garrisonHolder && stances.length)
    525525        {
    526526            setupUnitPanel("Stance", usedPanels, entState, stances,
    527527                function (item) { performStance(entState.id, item); } );
  • binaries/data/mods/public/gui/session/utility_functions.js

     
    9494    return false;
    9595}
    9696
    97 function isUnit(entState)
    98 {
    99     if (entState.identity)
    100     {
    101         var classes = entState.identity.classes;
    102         if (classes && classes.length)
    103             return (classes.indexOf("Unit") != -1);
    104     }
    105     return false;
    106 }
    107 
    108 function isAnimal(entState)
    109 {
    110     if (entState.identity)
    111     {
    112         var classes = entState.identity.classes;
    113         if (classes && classes.length)
    114             return (classes.indexOf("Animal") != -1);
    115     }
    116     return false;
    117 }
    118 
    119 function isStructure(entState)
    120 {
    121     if (entState.identity)
    122     {
    123         var classes = entState.identity.classes;
    124         if (classes && classes.length)
    125             return (classes.indexOf("Structure") != -1);
    126     }
    127     return false;
    128 }
    129 
    130 function isDefensive(entState)
    131 {
    132     if (entState.identity)
    133     {
    134         var classes = entState.identity.classes;
    135         if (classes && classes.length)
    136             return (classes.indexOf("Defensive") != -1);
    137     }
    138     return false;
    139 }
    140 
    141 function isSupport(entState)
    142 {
    143     if (entState.identity)
    144     {
    145         var classes = entState.identity.classes;
    146         if (classes && classes.length)
    147             return (classes.indexOf("Support") != -1);
    148     }
    149     return false;
    150 }
    151 
    15297function damageTypesToTextStacked(dmg)
    15398{
    15499    if (!dmg)
     
    253198        "icon": "kill_small.png"
    254199    });
    255200   
    256     if (isUnit(entState))
     201    if (hasClass(entState, "Unit"))
    257202    {
    258203        commands.push({
    259204            "name": "garrison",