GameEntities.RTSUnit.OnDieObjectCreate C# (CSharp) Method

OnDieObjectCreate() protected method

protected OnDieObjectCreate ( MapObjectCreateObject createObject, object objectCreated ) : void
createObject MapObjectCreateObject
objectCreated object
return void
        protected override void OnDieObjectCreate(MapObjectCreateObject createObject,
            object objectCreated)
        {
            base.OnDieObjectCreate(createObject, objectCreated);

            MapObjectCreateMapObject createMapObject = createObject as MapObjectCreateMapObject;
            if (createMapObject != null)
            {
                MapObject mapObject = (MapObject)objectCreated;

                //Corpse copy forceMaterial to meshes
                if (mapObject is Corpse && InitialFaction != null)
                {
                    bool badFaction = InitialFaction.Name == "BadFaction";

                    if (Type.Name == "RTSRobot")
                    {
                        (mapObject.AttachedObjects[0] as MapObjectAttachedMesh).MeshObject.
                            SubObjects[0].MaterialName = badFaction ? "Robot2" : "Robot";
                    }
                    else if (Type.Name == "RTSConstructor" || Type.Name == "BuilderAnt")
                    {
                        (mapObject.AttachedObjects[0] as MapObjectAttachedMesh).MeshObject.
                            SubObjects[0].MaterialName = badFaction ? "Red" : "Blue";
                    }
                }
            }
        }