/// <summary> /// Constructs a new animation clip object. /// </summary> public AnimationClip(TimeSpan duration, List<Keyframe> keyframes, int[] affectedBones, XnaScrapId clipId) : base(duration,clipId) { Duration = duration; Keyframes = keyframes; Affects = affectedBones; }
public Camera(IDataReader state, RenderManager renderManager) : base(state) { addInterface(typeof(ICamera)); m_renderManager = renderManager; m_renderTargetId = new XnaScrapId(state); IRenderTarget renderTarget = m_renderManager.getRenderTarget(m_renderTargetId); if (renderTarget != null) { renderTarget.Cameras.Add(this); } m_fovy = state.ReadSingle(); m_near = state.ReadSingle(); m_far = state.ReadSingle(); m_aspect = state.ReadSingle(); float f = m_fovy * (float)Math.PI / 180.0f; m_projection = Matrix.CreatePerspectiveFieldOfView(f, m_aspect, m_near, m_far); m_viewport = new _Viewport(state); m_renderManager.Cameras.Add(new XnaScrapId("ImplementCameraNamingYouJerk!"), this); }
public ScriptState(IDataReader state) : base(state) { addInterface(typeof(IState)); m_id.deserialize(state); m_enterScriptId = new XnaScrapId(state); m_exitScriptId = new XnaScrapId(state); }
public IState transition(XnaScrapId msg) { if (m_transitions.Keys.Contains(msg)) { return m_transitions[msg]; } return this; }
public RenderTargetCollection(XnaScrapId id, IRenderTarget[] targets) { m_id = id; for (int i = 0; i < 4; ++i) { if (i < targets.Length) Targets[i] = targets[i]; } }
public bool addTransition(XnaScrapId msg, IState toState) { if (!m_transitions.Keys.Contains(msg)) { m_transitions.Add(msg, toState); return true; } return false; }
public override void doHandleMessage(IDataReader msg) { XnaScrapId msgId = new XnaScrapId(msg); if (PrintId == msgId) { String message = msg.ReadString(); System.Console.WriteLine(message); } base.doHandleMessage(msg); }
public override void doHandleMessage(IDataReader msg) { XnaScrapId msgId = new XnaScrapId(msg); if (msgId.Equals(CHANGE_SCALE_MSG_ID)) { m_scale.X = (float)msg.ReadInt32(); m_scale.Y = (float)msg.ReadInt32(); OnChanged(); } base.doHandleMessage(msg); }
public void doHandleMessage(IDataReader msg) { XnaScrapId msgId = new XnaScrapId(msg); if (msgId == NewActionId) { XnaScrapId action = new XnaScrapId(msg); XnaScrapId actor = new XnaScrapId(msg); XnaScrapId target = new XnaScrapId(msg); newAction(action,actor,target); } }
public void addStateMachine(XnaScrapId id, StateMachine stateMachine) { if (!m_stateMachines.Keys.Contains(id)) { m_stateMachines.Add(id, stateMachine); } else { // TODO error handling } }
/// <summary> /// Add an element to the list of active animations /// </summary> /// <param name="clipId">The animation to use</param> /// <param name="aa">The animation player</param> /// <param name="startTime">The starting time (offset) within the animation</param> /// <param name="eventHandler">Event handler that is called after each frame</param> public void animateMe(XnaScrapId clipId,IAbstractAnimation animationPlayer, TimeSpan startTime,bool loop, AnimationChangedEventHandler eventHandler) { //AnimationInstance newAnimation = new AnimationInstance(animationPlayer as AbstractAnimation, startTime); //newAnimation.Start(clipId); //newAnimation.Changed += eventHandler; //m_activeAnimations.Add(newAnimation); if (animationPlayer is AnimationPlayer) { AnimationPlayer player = animationPlayer as AnimationPlayer; player.Start(clipId, loop); } }
public AbstractCollider(IDataReader state) : base(state) { m_collisionGroupId = new XnaScrapId(state); int numCollisionGroups = state.ReadInt32(); for (int i = 0; i < numCollisionGroups; ++i) { m_collisionGroupIds.Add( new XnaScrapId(state)); } m_relativePos.X = state.ReadSingle(); m_relativePos.Y = state.ReadSingle(); m_relativePos.Z = state.ReadSingle(); }
public AnimationPosition3D(IDataReader state, AnimationService animationService) : base(state) { addInterface(typeof(IPosition3D)); m_position.X = state.ReadSingle(); m_position.Y = state.ReadSingle(); m_position.Z = state.ReadSingle(); m_animationId = new XnaScrapId(state); IAbstractAnimation player = animationService.getAnimation(XnaScrapId.INVALID_ID); animationService.animateMe(m_animationId,player, new TimeSpan(0), false, animationChanged); }
public override void doHandleMessage(IDataReader msg) { msg.BaseStream.Position = 0; XnaScrapId msgId = new XnaScrapId(msg); if (msgId == CHANGE_VISIBILITY_MSG_ID) { Visible = msg.ReadBoolean(); } if (msgId == CHANGE_LAYER_MSG_ID) { Layer = msg.ReadInt32(); } base.doHandleMessage(msg); }
public PerformanceSegment addPerformanceMeter(XnaScrapId name, bool autoreset = false) { PerformanceSegment seg; if (!m_timer.Keys.Contains(name)) { seg = new PerformanceSegment(name.ToString()); m_timer.Add(name,seg); if (autoreset) m_autoreset.Add(seg); return seg; } else { throw new Exception(); } }
public void playAnimation(XnaScrapId clipId, bool loop) { AnimationService animService = Owner.Game.Services.GetService(typeof(AnimationService)) as AnimationService; if (animService != null) { animService.animateMe(clipId, m_animation, TimeSpan.Zero,loop, animationChanged); } }
public void setRenderTargetEffect(XnaScrapId id, CBeroEffect effect) { IRenderTarget renderTarget; if (m_renderTargets.TryGetValue(id, out renderTarget)) { renderTarget.Effect = effect; } }
public IRenderTarget getRenderTarget(XnaScrapId id) { IRenderTarget target; if (m_renderTargets.TryGetValue(id, out target)) return target; else return null; }
public void registerCollisionGroup(XnaScrapId id, uint value) { if (!m_collisionGroups.Keys.Contains(id.ToString())) { m_collisionGroups.Add(id.ToString(), value); } else { // TODO error handling } }
public uint getCollisionGroup(XnaScrapId id) { if (m_collisionGroups.Keys.Contains(id.ToString())) { return m_collisionGroups[id.ToString()]; } return 0; }
public bool registerMacro(XnaScrapId name, IMacro macro) { if (!m_registeredMacros.Keys.Contains(name)) { m_registeredMacros.Add(name,macro); return true; } return false; }
public IMacro getMacro(XnaScrapId name) { IMacro macro = null; m_registeredMacros.TryGetValue(name, out macro); return macro; }
public void removeStateMachine(XnaScrapId id) { if (m_stateMachines.Keys.Contains(id)) { m_stateMachines.Remove(id); } }
public bool canTransition(XnaScrapId msg) { return m_transitions.Keys.Contains(msg); }
public AbstractAnimationClip(TimeSpan time, XnaScrapId clipId) { m_time = time; m_clipId = clipId; }
public InputMapping(IDataReader state, Core core) { m_core = core; m_bIsPressed = state.ReadBoolean(); m_downMsg = new XnaScrapId(state); m_upMsg = new XnaScrapId(state); m_targetId = new XnaScrapId(state); m_message = state.ReadString(); }
public override void Start(XnaScrapId animationId, bool loop) { }
public AnimationValue(TimeSpan time, XnaScrapId animationId) : base(time, animationId) { }
private void execute(XnaScrapId msgId) { if (msgId != XnaScrapId.INVALID_ID) { Message msg = new Message(msgId); msg.Writer.Write(m_message); msg.send(m_core.ObjectBuilder, m_targetId); } }
public override void doHandleMessage(IDataReader msg) { XnaScrapId msgId = new XnaScrapId(msg); if (msgId == CHANGE_MODEL_MSG_ID) { m_modelName = msg.ReadString(); setModel(); } else if (msgId == CHANGE_MATERIAL_MSG_ID) { m_materialName = msg.ReadString(); setMaterial(); } else if (msgId == CHANGE_SCALE_MSG_ID) { m_scale.X = msg.ReadSingle(); m_scale.Y = msg.ReadSingle(); m_scale.Z = msg.ReadSingle(); } base.doHandleMessage(msg); }