This commit is contained in:
Ayumiwii
2016-03-13 22:24:59 +01:00
7 changed files with 81 additions and 48 deletions
+7 -1
View File
@@ -104,12 +104,17 @@ struct ModelJob : RenderJob
FillPercentage = fillPercentage;
IsShielded = isShielded;
if (world->HasComponent(Entity, "Unpickable")) {
NotPickable = true;
}
if (model->IsSkinned()) {
Skeleton = Model->m_RawModel->m_Skeleton;
if (Skeleton != nullptr) {
EntityWrapper entityWrapper = EntityWrapper(world, modelComponent.EntityID);
if(Skeleton->BlendTrees.find(entityWrapper) != Skeleton->BlendTrees.end()) {
BlendTree = Skeleton->BlendTrees.at(entityWrapper);
@@ -147,6 +152,7 @@ struct ModelJob : RenderJob
float FillPercentage = 0.0;
bool IsShielded;
bool Shadow;
bool NotPickable = false;
void CalculateHash() override
{
+1
View File
@@ -68,6 +68,7 @@
<xs:include schemaLocation="Components/NetworkComponent.xsd"/>
<xs:include schemaLocation="Components/ServerIdentity.xsd"/>
<xs:include schemaLocation="Components/ServerList.xsd"/>
<xs:include schemaLocation="Components/Unpickable.xsd"/>
<xs:include schemaLocation="Components/ConfigBtnResolution.xsd"/>
<xs:include schemaLocation="Components/ConfigBtnFloat.xsd"/>
</xs:schema>
@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Unpickable xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Unpickable.xsd">
</Unpickable>
@@ -0,0 +1,11 @@
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:t="types">
<xs:import schemaLocation="../Types.xsd" namespace="types"/>
<xs:element name="Unpickable">
<xs:annotation>
<xs:documentation>Makes the entity unpickable</xs:documentation>
</xs:annotation>
</xs:element>
</xs:schema>
+53 -47
View File
@@ -8,7 +8,7 @@
</c:RaptorCopter>
<c:Transform>
<Position X="0" Y="-30.6910019" Z="0"/>
<Orientation X="0" Y="37.056633" Z="0"/>
<Orientation X="0" Y="39.0355186" Z="0"/>
</c:Transform>
</Components>
@@ -69,6 +69,21 @@
<c:Transform/>
</Components>
<Children>
<Entity name="TopRight">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="0.142000005" Y="0.217999995" Z="0.00499999989"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="BottomRight">
<Components>
<c:Sprite>
@@ -85,21 +100,6 @@
</Components>
<Children/>
</Entity>
<Entity name="TopRight">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="0.142000005" Y="0.217999995" Z="0.00499999989"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="BottomLeft">
<Components>
<c:Sprite>
@@ -140,6 +140,7 @@
<Pose1>Blend</Pose1>
<Pose2></Pose2>
</c:Blend>
<c:Unpickable/>
<c:Model>
<GlowIntensity>1.6000000238418579</GlowIntensity>
<Resource>Models/Characters/Assault/AssaultBluePose.mesh</Resource>
@@ -156,7 +157,7 @@
<Components>
<c:Animation>
<AnimationName>AssaultPoseF</AnimationName>
<Time>2.3915339445022532</Time>
<Time>0.17617116993415038</Time>
<Play>true</Play>
</c:Animation>
<c:Transform/>
@@ -172,7 +173,7 @@
<Resource>Models/Weapons/Blue/AssaultWeaponBlue.mesh</Resource>
</c:Model>
<c:Transform>
<Position X="0.160869107" Y="1.21765196" Z="-0.151224568"/>
<Position X="0.160869107" Y="1.21697962" Z="-0.151224568"/>
<Orientation X="1.90465617" Y="-0.166544378" Z="0.0701896623"/>
</c:Transform>
</Components>
@@ -538,6 +539,7 @@
<Pose1>Blend</Pose1>
<Pose2></Pose2>
</c:Blend>
<c:Unpickable/>
<c:Model>
<GlowIntensity>1.6000000238418579</GlowIntensity>
<Resource>Models/Characters/Defender/DefenderBluePose.mesh</Resource>
@@ -554,7 +556,7 @@
<Components>
<c:Animation>
<AnimationName>DefenderPoseF</AnimationName>
<Time>1.5583721233469809</Time>
<Time>1.8430093487788781</Time>
<Play>true</Play>
</c:Animation>
<c:Transform/>
@@ -570,8 +572,8 @@
<Resource>Models/Weapons/Blue/DefenderWeaponBlue.mesh</Resource>
</c:Model>
<c:Transform>
<Position X="0.19607465" Y="0.705387294" Z="0.027300721"/>
<Orientation X="-1.39242768" Y="-0.0973876044" Z="0.332219124"/>
<Position X="0.19599846" Y="0.706871212" Z="0.0306189749"/>
<Orientation X="-1.39242756" Y="-0.0973875076" Z="0.332219273"/>
</c:Transform>
</Components>
<Children/>
@@ -827,6 +829,21 @@
<c:Transform/>
</Components>
<Children>
<Entity name="TopRight">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="0.142000005" Y="0.217999995" Z="0.00499999989"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="BottomLeft">
<Components>
<c:Sprite>
@@ -859,21 +876,6 @@
</Components>
<Children/>
</Entity>
<Entity name="TopRight">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="0.142000005" Y="0.217999995" Z="0.00499999989"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="TopLeft">
<Components>
<c:Sprite>
@@ -898,6 +900,7 @@
<Pose1>Blend</Pose1>
<Pose2></Pose2>
</c:Blend>
<c:Unpickable/>
<c:Model>
<GlowIntensity>1.6000000238418579</GlowIntensity>
<Resource>Models/Characters/Sniper/SniperBluePose.mesh</Resource>
@@ -914,7 +917,7 @@
<Components>
<c:Animation>
<AnimationName>SniperPoseF</AnimationName>
<Time>1.7914650667707797</Time>
<Time>2.0761022922026768</Time>
<Play>true</Play>
</c:Animation>
<c:Transform/>
@@ -930,8 +933,8 @@
<Resource>Models/Weapons/Blue/SecondaryWeaponBlue.mesh</Resource>
</c:Model>
<c:Transform>
<Position X="-0.045448564" Y="1.0650903" Z="-0.125484675"/>
<Orientation X="-1.50533819" Y="1.34000111" Z="-1.34724498"/>
<Position X="-0.0454485416" Y="1.06776285" Z="-0.125484616"/>
<Orientation X="-1.5053376" Y="1.34000039" Z="-1.34724426"/>
</c:Transform>
</Components>
<Children/>
@@ -2042,6 +2045,7 @@
<Pose1>Blend</Pose1>
<Pose2></Pose2>
</c:Blend>
<c:Unpickable/>
<c:Model>
<GlowIntensity>1.6000000238418579</GlowIntensity>
<Resource>Models/Characters/Assault/AssaultRedPose.mesh</Resource>
@@ -2058,7 +2062,7 @@
<Components>
<c:Animation>
<AnimationName>AssaultPoseF</AnimationName>
<Time>1.1136462105269906</Time>
<Time>1.3982834359588878</Time>
<Play>true</Play>
</c:Animation>
<c:Transform/>
@@ -2074,7 +2078,7 @@
<Resource>Models/Weapons/Red/AssaultWeaponRed.mesh</Resource>
</c:Model>
<c:Transform>
<Position X="0.160869107" Y="1.21306264" Z="-0.151224568"/>
<Position X="0.160869107" Y="1.21257722" Z="-0.151224568"/>
<Orientation X="1.90465617" Y="-0.166544378" Z="0.0701896623"/>
</c:Transform>
</Components>
@@ -2440,6 +2444,7 @@
<Pose1>Blend</Pose1>
<Pose2></Pose2>
</c:Blend>
<c:Unpickable/>
<c:Model>
<GlowIntensity>1.6000000238418579</GlowIntensity>
<Resource>Models/Characters/Defender/DefenderRedPose.mesh</Resource>
@@ -2456,7 +2461,7 @@
<Components>
<c:Animation>
<AnimationName>DefenderPoseF</AnimationName>
<Time>1.213854831703582</Time>
<Time>1.4984920571354792</Time>
<Play>true</Play>
</c:Animation>
<c:Transform/>
@@ -2472,8 +2477,8 @@
<Resource>Models/Weapons/Red/DefenderWeaponRed.mesh</Resource>
</c:Model>
<c:Transform>
<Position X="0.195825815" Y="0.70610863" Z="0.0287085027"/>
<Orientation X="-1.39242768" Y="-0.097387448" Z="0.332219332"/>
<Position X="0.196077555" Y="0.705334127" Z="0.027174633"/>
<Orientation X="-1.39242756" Y="-0.097387597" Z="0.332219392"/>
</c:Transform>
</Components>
<Children/>
@@ -2800,6 +2805,7 @@
<Pose1>Blend</Pose1>
<Pose2></Pose2>
</c:Blend>
<c:Unpickable/>
<c:Model>
<GlowIntensity>1.6000000238418579</GlowIntensity>
<Resource>Models/Characters/Sniper/SniperRedPose.mesh</Resource>
@@ -2816,7 +2822,7 @@
<Components>
<c:Animation>
<AnimationName>SniperPoseF</AnimationName>
<Time>1.1306788315585941</Time>
<Time>1.4153160569904912</Time>
<Play>true</Play>
</c:Animation>
<c:Transform/>
@@ -2832,8 +2838,8 @@
<Resource>Models/Weapons/Red/SecondaryWeaponRed.mesh</Resource>
</c:Model>
<c:Transform>
<Position X="-0.0454485118" Y="1.06508994" Z="-0.12548466"/>
<Orientation X="-1.5053376" Y="1.34000039" Z="-1.34724426"/>
<Position X="-0.0454486087" Y="1.06414807" Z="-0.125484616"/>
<Orientation X="-1.50533855" Y="1.34000087" Z="-1.34724522"/>
</c:Transform>
</Components>
<Children/>
+1
View File
@@ -71,6 +71,7 @@
<xs:element ref="c:NetworkComponent" minOccurs="0"/>
<xs:element ref="c:ServerIdentity" minOccurs="0"/>
<xs:element ref="c:ServerList" minOccurs="0"/>
<xs:element ref="c:Unpickable" minOccurs="0"/>
<xs:element ref="c:ConfigBtnResolution" minOccurs="0"/>
<xs:element ref="c:ConfigBtnFloat" minOccurs="0"/>
</xs:all>
+5
View File
@@ -76,6 +76,11 @@ void PickingPass::Draw(RenderScene& scene)
auto modelJob = std::dynamic_pointer_cast<ModelJob>(job);
if (modelJob) {
if(modelJob->NotPickable) {
continue;
}
int pickColor[2] = { m_ColorCounter[0], m_ColorCounter[1] };
PickingInfo pickInfo;