1
0
KF2-Dev-Scripts/GameFramework/Classes/GameCrowdAgentSM.uc

74 lines
1.8 KiB
Ucode
Raw Normal View History

2020-12-13 15:01:13 +00:00
/**
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
*/
class GameCrowdAgentSM extends GameCrowdAgent
abstract
native;
var(Rendering) StaticMeshComponent Mesh;
var(Rendering) MaterialInstanceConstant MeshColor;
simulated function PostBeginPlay()
{
Super.PostBeginPlay();
MeshColor = Mesh.CreateAndSetMaterialInstanceConstant(0);
}
simulated function InitDebugColor()
{
Super.InitDebugColor();
ChangeDebugColor( DebugAgentColor );
}
simulated function ChangeDebugColor( Color InC )
{
local LinearColor C;
C.R = float(InC.R) / 255.f;
C.G = float(InC.G) / 255.f;
C.B = float(InC.B) / 255.f;
MeshColor.SetVectorParameterValue( 'CrowdCylinderColor', C );
}
function ActivateBehavior(GameCrowdAgentBehavior NewBehaviorArchetype, optional Actor LookAtActor )
{
Super.ActivateBehavior( NewBehaviorArchetype, LookAtActor );
if( CurrentBehavior != None )
{
ChangeDebugColor( CurrentBehavior.DebugBehaviorColor );
}
else
{
ChangeDebugColor( DebugAgentColor );
}
}
function StopBehavior()
{
Super.StopBehavior();
if( CurrentBehavior == None )
{
ChangeDebugColor( DebugAgentColor );
}
}
defaultproperties
{
Begin Object Class=StaticMeshComponent Name=StaticMeshComponent0
CollideActors=TRUE
BlockActors=TRUE
BlockZeroExtent=TRUE
BlockNonZeroExtent=FALSE
BlockRigidBody=FALSE
RBChannel=RBCC_GameplayPhysics
bCastDynamicShadow=FALSE
RBCollideWithChannels=(Default=TRUE,GameplayPhysics=TRUE,EffectPhysics=TRUE)
bAcceptsDynamicDecals=FALSE // for crowds there are so many of them probably not going to notice not getting decals on them. Each decal on them causes entire SkelMesh to be rerendered
End Object
Mesh=StaticMeshComponent0
Components.Add(StaticMeshComponent0)
}