// // CPT operator / SondeerGame // This source file is (c) by Deltares. // - October 2014 // class OfficeObject_Klok extends OfficeObject placeable; #exec OBJ LOAD FILE=GeoGamePlay.usx var DynamicMeshActor secwijzer, minwijzer, hourwijzer; function prebeginplay() { local SondeerOffice so; local rotator ofrot; local vector ofvec; /// Find office rotation: ForEach AllActors( class 'SondeerOffice', so) { ofrot = so.Rotation; break; } ofvec.X = -495.02;// * cos(ofrot.Yaw) - 340 * sin(ofrot.Yaw); ofvec.Y = 340; // * sin(ofrot.Yaw) + 340 * cos(ofrot.Yaw); ofvec.Z = -315.066; //x: -498.14 depth //y: -340.501 left/right //z: 315.066 height //vect(-495.02, 340, -315) secwijzer = spawn(class'DynamicMeshActor', self,, Location - ofvec, Rotation); secwijzer.SetStaticMesh( StaticMesh'GeoGamePlay.Markers.RedMarker' ); secwijzer.SetDrawScale3D( vect(0.5, 0.3, 0.3)); secwijzer.Skins[0] = Texture'Engine.MenuBlack'; minwijzer = spawn(class'DynamicMeshActor', self,, Location - ofvec, Rotation); minwijzer.SetStaticMesh( StaticMesh'GeoGamePlay.Markers.RedMarker' ); minwijzer.SetDrawScale3D( vect(0.5, 0.26, 0.26)); minwijzer.Skins[0] = Texture'Engine.MenuBlack'; hourwijzer = spawn(class'DynamicMeshActor', self,, Location - ofvec, Rotation); hourwijzer.SetStaticMesh( StaticMesh'GeoGamePlay.Markers.RedMarker' ); hourwijzer.SetDrawScale3D( vect(0.5, 0.24, 0.24)); hourwijzer.Skins[0] = Texture'Engine.MenuBlack'; settimer(1, true); } simulated function timer() { local rotator m, h, s; s.roll = 1092.266667 * (Float(Level.Second) + 0.1); s.pitch = secwijzer.rotation.pitch; s.yaw = secwijzer.rotation.yaw; secwijzer.SetRotation( s); s.roll /= 60; m.roll = 1092.266667 * Float(Level.Minute); m.pitch = minwijzer.rotation.pitch; m.yaw = minwijzer.rotation.yaw; s.pitch = 0; s.yaw = 0; //minwijzer.realrotation = m + s; minwijzer.SetRotation( m + s); m.roll /= 60; h.roll = 5461.333333 * Float(Level.Hour); h.pitch = hourwijzer.rotation.pitch; h.yaw = hourwijzer.rotation.yaw; m.pitch = 0; m.yaw = 0; //hourwijzer.realrotation = h + m; hourwijzer.SetRotation( h + m ); } event Destroyed() { Super.Destroyed(); settimer(0, false); secwijzer.Destroy(); minwijzer.Destroy(); hourwijzer.Destroy(); } defaultproperties { bMouseEnabled=false; DrawScale=1.0 DrawScale3D=(X=1.0,Y=1.0,Z=1.0) DrawType=DT_StaticMesh bEdShouldSnap=True bStaticLighting=False bShadowCast=True bCollideActors=True bBlockActors=True bBlockPlayers=True bBlockKarma=True bWorldGeometry=True CollisionHeight=+000001.000000 CollisionRadius=+000001.000000 bAcceptsProjectors=True StaticMesh=StaticMesh'SondeerMeester2.office.klok' }