Author: rloach Date: 2007-01-14 09:59:47 -0500 (Sun, 14 Jan 2007) New Revision: 70984
Added: trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/BasicDirectionalLight.cs trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/BasicEffect.cs trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/EffectParameterBlock.cs trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/Texture3D.cs Removed: trunk/Mono.Xna/src/Microsoft.Xna.Framework/Audio/Audio3DDspSettings.cs trunk/Mono.Xna/src/Microsoft.Xna.Framework/Audio/Audio3DEmitter.cs trunk/Mono.Xna/src/Microsoft.Xna.Framework/Audio/Audio3DListener.cs Modified: trunk/Mono.Xna/src/Microsoft.Xna.Framework.Game/DrawableGameComponent.cs trunk/Mono.Xna/src/Microsoft.Xna.Framework.Game/GameComponent.cs trunk/Mono.Xna/src/Microsoft.Xna.Framework/Audio/Enums.cs trunk/Mono.Xna/src/Microsoft.Xna.Framework/Content/ContentSerializerAttribute.cs trunk/Mono.Xna/src/Microsoft.Xna.Framework/Content/ContentSerializerCollectionItemNameAttribute.cs trunk/Mono.Xna/src/Microsoft.Xna.Framework/Content/ContentSerializerIgnoreAttribute.cs trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/EffectParameter.cs trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/SamplerState.cs trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/SamplerStateCollection.cs trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/ShaderConstant.cs trunk/Mono.Xna/src/Microsoft.Xna.Framework/Input/Enums.cs Log: More stubbing, removed some deprecated classes, updated GameComponent. Deleted: trunk/Mono.Xna/src/Microsoft.Xna.Framework/Audio/Audio3DDspSettings.cs =================================================================== --- trunk/Mono.Xna/src/Microsoft.Xna.Framework/Audio/Audio3DDspSettings.cs 2007-01-14 14:46:33 UTC (rev 70983) +++ trunk/Mono.Xna/src/Microsoft.Xna.Framework/Audio/Audio3DDspSettings.cs 2007-01-14 14:59:47 UTC (rev 70984) @@ -1,195 +0,0 @@ -#region License -/* -MIT License -Copyright � 2006 The Mono.Xna Team -http://www.taoframework.com -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -*/ -#endregion License - -using System; - -namespace Microsoft.Xna.Framework.Audio -{ - - public class Audio3DDspSettings : IDisposable - { - - public Audio3DDspSettings() - { - throw new NotImplementedException(); - } - - - public int DestinationChannelCount - { - get - { - throw new NotImplementedException(); - } - set - { - throw new NotImplementedException(); - } - } - - public float DopplerFactor - { - get - { - throw new NotImplementedException(); - } - set - { - throw new NotImplementedException(); - } - } - - public float EmitterToListenerAngle - { - get - { - throw new NotImplementedException(); - } - set - { - throw new NotImplementedException(); - } - } - - public float EmitterToListenerDistance - { - get - { - throw new NotImplementedException(); - } - set - { - throw new NotImplementedException(); - } - } - - public float EmitterVelocityComponent - { - get - { - throw new NotImplementedException(); - } - set - { - throw new NotImplementedException(); - } - } - - public float ListenerVelocityComponent - { - get - { - throw new NotImplementedException(); - } - set - { - throw new NotImplementedException(); - } - } - - public float LpfDirectCoefficient - { - get - { - throw new NotImplementedException(); - } - set - { - throw new NotImplementedException(); - } - } - - public float LpfReverbCoefficient - { - get - { - throw new NotImplementedException(); - } - set - { - throw new NotImplementedException(); - } - } - - public float ReverbLevel - { - get - { - throw new NotImplementedException(); - } - set - { - throw new NotImplementedException(); - } - } - - public int SourceChannelCount - { - get - { - throw new NotImplementedException(); - } - set - { - throw new NotImplementedException(); - } - } - - - public void Dispose() - { - throw new NotImplementedException(); - } - - protected virtual void Dispose(bool __p1) - { - throw new NotImplementedException(); - } - - public float[] GetDelayTimes() - { - throw new NotImplementedException(); - } - - public float[] GetMatrixCoefficients() - { - throw new NotImplementedException(); - } - - public void SetDelayTimes(float[] delayTimes) - { - throw new NotImplementedException(); - } - - public void SetMatrixCoefficients(float[] matrixCoefficients) - { - throw new NotImplementedException(); - } - - - } -} Deleted: trunk/Mono.Xna/src/Microsoft.Xna.Framework/Audio/Audio3DEmitter.cs =================================================================== --- trunk/Mono.Xna/src/Microsoft.Xna.Framework/Audio/Audio3DEmitter.cs 2007-01-14 14:46:33 UTC (rev 70983) +++ trunk/Mono.Xna/src/Microsoft.Xna.Framework/Audio/Audio3DEmitter.cs 2007-01-14 14:59:47 UTC (rev 70984) @@ -1,65 +0,0 @@ -#region License -/* -MIT License -Copyright � 2006 The Mono.Xna Team -http://www.taoframework.com -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -*/ -#endregion License - -using Microsoft.Xna.Framework; -using System; - -namespace Microsoft.Xna.Framework.Audio -{ - - [Serializable] - public struct Audio3DEmitter - { - - - public static bool operator !=(Audio3DEmitter left, Audio3DEmitter right) { throw new NotImplementedException(); } - - public static bool operator ==(Audio3DEmitter left, Audio3DEmitter right) { throw new NotImplementedException(); } - - - public int ChannelCount { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } - - public float ChannelRadius { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } - - public float DopplerScaler { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } - - public Vector3 Forward { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } - - public Vector3 Position { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } - - public Vector3 Up { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } - - public Vector3 Velocity { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } - - - public override bool Equals(object obj) { throw new NotImplementedException(); } - - public override int GetHashCode() { throw new NotImplementedException(); } - - public override string ToString() { throw new NotImplementedException(); } - } -} Deleted: trunk/Mono.Xna/src/Microsoft.Xna.Framework/Audio/Audio3DListener.cs =================================================================== --- trunk/Mono.Xna/src/Microsoft.Xna.Framework/Audio/Audio3DListener.cs 2007-01-14 14:46:33 UTC (rev 70983) +++ trunk/Mono.Xna/src/Microsoft.Xna.Framework/Audio/Audio3DListener.cs 2007-01-14 14:59:47 UTC (rev 70984) @@ -1,59 +0,0 @@ -#region License -/* -MIT License -Copyright � 2006 The Mono.Xna Team -http://www.taoframework.com -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -*/ -#endregion License - -using Microsoft.Xna.Framework; -using System; - -namespace Microsoft.Xna.Framework.Audio -{ - - [Serializable] - public struct Audio3DListener - { - - - public static bool operator !=(Audio3DListener left, Audio3DListener right){ throw new NotImplementedException(); } - - public static bool operator ==(Audio3DListener left, Audio3DListener right){ throw new NotImplementedException(); } - - - public Vector3 Forward { get{ throw new NotImplementedException(); } set{ throw new NotImplementedException(); } } - - public Vector3 Position { get{ throw new NotImplementedException(); } set{ throw new NotImplementedException(); } } - - public Vector3 Up { get{ throw new NotImplementedException(); } set{ throw new NotImplementedException(); } } - - public Vector3 Velocity { get{ throw new NotImplementedException(); } set{ throw new NotImplementedException(); } } - - - public override bool Equals(object obj){ throw new NotImplementedException(); } - - public override int GetHashCode(){ throw new NotImplementedException(); } - - public override string ToString(){ throw new NotImplementedException(); } - } -} Modified: trunk/Mono.Xna/src/Microsoft.Xna.Framework/Audio/Enums.cs =================================================================== --- trunk/Mono.Xna/src/Microsoft.Xna.Framework/Audio/Enums.cs 2007-01-14 14:46:33 UTC (rev 70983) +++ trunk/Mono.Xna/src/Microsoft.Xna.Framework/Audio/Enums.cs 2007-01-14 14:59:47 UTC (rev 70984) @@ -4,18 +4,6 @@ namespace Microsoft.Xna.Framework.Audio { - public enum AudioSpeakers - { - Left = 1, - Right = 2, - Stereo = 3, - Center = 4, - LowFrequencyEffect = 8, - LeftSurround = 16, - RightSurround = 32, - Surround5Dot1 = 63, - } - public enum AudioStopOptions { AsAuthored = 0, Modified: trunk/Mono.Xna/src/Microsoft.Xna.Framework/Content/ContentSerializerAttribute.cs =================================================================== --- trunk/Mono.Xna/src/Microsoft.Xna.Framework/Content/ContentSerializerAttribute.cs 2007-01-14 14:46:33 UTC (rev 70983) +++ trunk/Mono.Xna/src/Microsoft.Xna.Framework/Content/ContentSerializerAttribute.cs 2007-01-14 14:59:47 UTC (rev 70984) @@ -29,6 +29,7 @@ namespace Microsoft.Xna.Framework.Content { + [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)] public sealed class ContentSerializerAttribute : Attribute { Modified: trunk/Mono.Xna/src/Microsoft.Xna.Framework/Content/ContentSerializerCollectionItemNameAttribute.cs =================================================================== --- trunk/Mono.Xna/src/Microsoft.Xna.Framework/Content/ContentSerializerCollectionItemNameAttribute.cs 2007-01-14 14:46:33 UTC (rev 70983) +++ trunk/Mono.Xna/src/Microsoft.Xna.Framework/Content/ContentSerializerCollectionItemNameAttribute.cs 2007-01-14 14:59:47 UTC (rev 70984) @@ -29,6 +29,7 @@ namespace Microsoft.Xna.Framework.Content { + [AttributeUsage(AttributeTargets.Class)] public sealed class ContentSerializerCollectionItemNameAttribute : Attribute { Modified: trunk/Mono.Xna/src/Microsoft.Xna.Framework/Content/ContentSerializerIgnoreAttribute.cs =================================================================== --- trunk/Mono.Xna/src/Microsoft.Xna.Framework/Content/ContentSerializerIgnoreAttribute.cs 2007-01-14 14:46:33 UTC (rev 70983) +++ trunk/Mono.Xna/src/Microsoft.Xna.Framework/Content/ContentSerializerIgnoreAttribute.cs 2007-01-14 14:59:47 UTC (rev 70984) @@ -30,7 +30,7 @@ namespace Microsoft.Xna.Framework.Content { - + [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)] public sealed class ContentSerializerIgnoreAttribute : Attribute { Added: trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/BasicDirectionalLight.cs =================================================================== --- trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/BasicDirectionalLight.cs 2007-01-14 14:46:33 UTC (rev 70983) +++ trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/BasicDirectionalLight.cs 2007-01-14 14:59:47 UTC (rev 70984) @@ -0,0 +1,62 @@ +#region License +/* +MIT License +Copyright � 2006 The Mono.Xna Team +http://www.taoframework.com +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ +#endregion License + +using System; +using System.Collections.Generic; +using System.Text; + +namespace Microsoft.Xna.Framework.Graphics +{ + /// <summary> + /// Provides methods for manipulating the directional lights used by the BasicEffect class. + /// </summary> + public sealed class BasicDirectionalLight + { + /// <summary> + /// Gets or sets the diffuse color of this light. + /// </summary> + /// <returns>The diffuse color of this light.</returns> + public Vector3 DiffuseColor { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } + + /// <summary> + /// Gets or sets light direciton. + /// </summary> + /// <returns>Gets or sets the light direciton. This value must be a unit vector.</returns> + public Vector3 Direction { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } + + /// <summary>Enables this light.</summary> + /// <returns>true to enable this light; false otherwise. + /// </returns> + public bool Enabled { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } + + /// <summary> + /// Gets or sets the specular color of the light. + /// </summary> + /// <returns>The specular color of the light.</returns> + public Vector3 SpecularColor { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } + } +} \ No newline at end of file Added: trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/BasicEffect.cs =================================================================== --- trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/BasicEffect.cs 2007-01-14 14:46:33 UTC (rev 70983) +++ trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/BasicEffect.cs 2007-01-14 14:59:47 UTC (rev 70984) @@ -0,0 +1,102 @@ +#region License +/* +MIT License +Copyright � 2006 The Mono.Xna Team +http://www.taoframework.com +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ +#endregion License + +using System; +using System.Collections.Generic; +using System.Text; + +namespace Microsoft.Xna.Framework.Graphics +{ + /// <summary> + /// Represents shader model 1.1 Effect that has optional support for vertex colors, texturing, and lighting. + /// </summary> + public class BasicEffect : Effect + { + protected BasicEffect(GraphicsDevice device, BasicEffect clone) + : base(device, clone) + { + throw new NotImplementedException(); + } + + public BasicEffect(GraphicsDevice device, EffectPool effectPool) + : base(device, new byte[]{0}, CompilerOptions.None, effectPool) + + { + throw new NotImplementedException(); + } + + public override Effect Clone(GraphicsDevice device) + { + throw new NotImplementedException(); + } + + public void EnableDefaultLighting() + { + throw new NotImplementedException(); + } + + public float Alpha { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } + + public Vector3 AmbientLightColor { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } + + public Vector3 DiffuseColor { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } + + public BasicDirectionalLight DirectionalLight0 { get { throw new NotImplementedException(); } } + + public BasicDirectionalLight DirectionalLight1 { get { throw new NotImplementedException(); } } + + public BasicDirectionalLight DirectionalLight2 { get { throw new NotImplementedException(); } } + + public Vector3 EmissiveColor { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } + + public Vector3 FogColor { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } + + public bool FogEnabled { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } + + public float FogEnd { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } + + public float FogStart { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } + + public bool LightingEnabled { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } + + public Matrix Projection { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } + + public Vector3 SpecularColor { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } + + public float SpecularPower { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } + + public Texture2D Texture { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } + + public bool TextureEnabled { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } + + public bool VertexColorEnabled { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } + + public Matrix View { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } + + public Matrix World { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } + } +} Modified: trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/EffectParameter.cs =================================================================== --- trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/EffectParameter.cs 2007-01-14 14:46:33 UTC (rev 70983) +++ trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/EffectParameter.cs 2007-01-14 14:59:47 UTC (rev 70984) @@ -31,9 +31,6 @@ namespace Microsoft.Xna.Framework.Graphics { - // TODO: Remove this when Texture3D is actually stubbed! - public class Texture3D { } - public enum EffectParameterType { Void = 0, Added: trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/EffectParameterBlock.cs =================================================================== --- trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/EffectParameterBlock.cs 2007-01-14 14:46:33 UTC (rev 70983) +++ trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/EffectParameterBlock.cs 2007-01-14 14:59:47 UTC (rev 70984) @@ -0,0 +1,86 @@ +#region License +/* +MIT License +Copyright � 2006 The Mono.Xna Team +http://www.taoframework.com +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ +#endregion License + +using System; + +namespace Microsoft.Xna.Framework.Graphics +{ + /// <summary> + /// Represents an EffectParameter state block. + /// </summary> + public class EffectParameterBlock : IDisposable + { + /// <summary> + /// Initializes a new instance of the EffectParameterBlock class. + /// </summary> + /// <param name="parent">The Effect used to generate the EffectParameterBlock.</param> + public EffectParameterBlock(Effect parent) + { + throw new NotImplementedException(); + } + + /// <summary> + /// Applies the parameter changes in the EffectParameterBlock to the current effect state. + /// </summary> + public void Apply() + { + throw new NotImplementedException(); + } + + /// <summary> + /// Begins capturing parameter state changes from the parent Effect. + /// </summary> + public void Begin() + { + throw new NotImplementedException(); + } + + /// <summary> + /// Immediately releases the unmanaged resources used by this object. + /// </summary> + public void Dispose() + { + throw new NotImplementedException(); + } + /// <summary> + /// Releases the unmanaged resources used by the EffectParameterBlock and optionally releases the managed resources. + /// </summary> + /// <param name="">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param> + protected virtual void Dispose(bool disposing) + { + throw new NotImplementedException(); + } + + /// <summary> + /// Stops capturing state changes from the parent Effect. + /// </summary> + public void End() + { + throw new NotImplementedException(); + } + } +} Modified: trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/SamplerState.cs =================================================================== --- trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/SamplerState.cs 2007-01-14 14:46:33 UTC (rev 70983) +++ trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/SamplerState.cs 2007-01-14 14:59:47 UTC (rev 70984) @@ -54,6 +54,11 @@ public TextureFilter MipFilter { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } - public float MipMapLevelOfDetailBias { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } + public float MipMapLevelOfDetailBias { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } + + public override string ToString() + { + return base.ToString(); + } } } Modified: trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/SamplerStateCollection.cs =================================================================== --- trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/SamplerStateCollection.cs 2007-01-14 14:46:33 UTC (rev 70983) +++ trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/SamplerStateCollection.cs 2007-01-14 14:59:47 UTC (rev 70984) @@ -1,4 +1,4 @@ -#region License +#region License /* MIT License Copyright � 2006 The Mono.Xna Team @@ -24,16 +24,21 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ -#endregion License - -using System; - -namespace Microsoft.Xna.Framework.Graphics -{ - /// <summary>Collection of SamplerState objects.</summary> - public sealed class SamplerStateCollection - { - public SamplerState this[int index] { get { throw new NotImplementedException(); } } - } -} +*/ +#endregion License + +using System; + +namespace Microsoft.Xna.Framework.Graphics +{ + /// <summary>Collection of SamplerState objects.</summary> + public sealed class SamplerStateCollection + { + /// <summary> + /// Gets a specific SamplerState object using an index value. + /// </summary> + /// <param name="index">Index of the object to retrieve.</param> + /// <returns>The SamplerState object at the requested index.</returns> + public SamplerState this[int index] { get { throw new NotImplementedException(); } } + } +} \ No newline at end of file Modified: trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/ShaderConstant.cs =================================================================== --- trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/ShaderConstant.cs 2007-01-14 14:46:33 UTC (rev 70983) +++ trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/ShaderConstant.cs 2007-01-14 14:59:47 UTC (rev 70984) @@ -26,12 +26,44 @@ #endregion License using System; -using System.Collections.Generic; -using System.Text; namespace Microsoft.Xna.Framework.Graphics { - public class ShaderConstant + /// <summary> + /// Describes a shader constant. + /// </summary> + public sealed class ShaderConstant { + public void SetValue(GraphicsDevice graphicsDevice, Matrix[] value) { throw new NotImplementedException(); } + public void SetValue(GraphicsDevice graphicsDevice, Matrix value) { throw new NotImplementedException(); } + public void SetValue(GraphicsDevice graphicsDevice, Quaternion[] value) { throw new NotImplementedException(); } + + public void SetValue(GraphicsDevice graphicsDevice, Quaternion value) { throw new NotImplementedException(); } + public void SetValue(GraphicsDevice graphicsDevice, Vector2[] value) { throw new NotImplementedException(); } + public void SetValue(GraphicsDevice graphicsDevice, Vector4 value) { throw new NotImplementedException(); } + public void SetValue(GraphicsDevice graphicsDevice, Vector3[] value) { throw new NotImplementedException(); } + public void SetValue(GraphicsDevice graphicsDevice, Vector2 value) { throw new NotImplementedException(); } + public void SetValue(GraphicsDevice graphicsDevice, Vector4[] value) { throw new NotImplementedException(); } + public void SetValue(GraphicsDevice graphicsDevice, Vector3 value) { throw new NotImplementedException(); } + public void SetValue(GraphicsDevice graphicsDevice, float[] value) { throw new NotImplementedException(); } + public void SetValue(GraphicsDevice graphicsDevice, bool value) { throw new NotImplementedException(); } + public void SetValue(GraphicsDevice graphicsDevice, int[] value) { throw new NotImplementedException(); } + public void SetValue(GraphicsDevice graphicsDevice, int value) { throw new NotImplementedException(); } + public void SetValue(GraphicsDevice graphicsDevice, bool[] value) { throw new NotImplementedException(); } + public void SetValue(GraphicsDevice graphicsDevice, float value) { throw new NotImplementedException(); } + public void SetValueTranspose(GraphicsDevice graphicsDevice, Matrix[] value) { throw new NotImplementedException(); } + public void SetValueTranspose(GraphicsDevice graphicsDevice, Matrix value) { throw new NotImplementedException(); } + + public int ColumnCount { get { throw new NotImplementedException(); } } + public int ElementCount { get { throw new NotImplementedException(); } } + public string Name { get { throw new NotImplementedException(); } } + public EffectParameterClass ParameterClass { get { throw new NotImplementedException(); } } + public EffectParameterType ParameterType { get { throw new NotImplementedException(); } } + public int RegisterCount { get { throw new NotImplementedException(); } } + public int RegisterIndex { get { throw new NotImplementedException(); } } + public ShaderRegisterSet RegisterSet { get { throw new NotImplementedException(); } } + public int RowCount { get { throw new NotImplementedException(); } } + public int SamplerIndex { get { throw new NotImplementedException(); } } + public int StructureMemberCount { get { throw new NotImplementedException(); } } } -} +} \ No newline at end of file Added: trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/Texture3D.cs =================================================================== --- trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/Texture3D.cs 2007-01-14 14:46:33 UTC (rev 70983) +++ trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/Texture3D.cs 2007-01-14 14:59:47 UTC (rev 70984) @@ -0,0 +1,75 @@ +#region License +/* +MIT License +Copyright � 2006 The Mono.Xna Team +http://www.taoframework.com +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ +#endregion License + +using System; +using System.IO; + +namespace Microsoft.Xna.Framework.Graphics +{ + public class Texture3D : Texture + { + public Texture3D(GraphicsDevice graphicsDevice, int width, int height, int depth, int numberLevels, ResourceUsage usage, SurfaceFormat format) + { + throw new NotImplementedException(); + } + + protected override void Dispose(bool disposing) { throw new NotImplementedException(); } + + public override bool Equals(object obj) { throw new NotImplementedException(); } + + public static Texture3D FromFile(GraphicsDevice graphicsDevice, Stream textureStream) { throw new NotImplementedException(); } + public static Texture3D FromFile(GraphicsDevice graphicsDevice, string filename) { throw new NotImplementedException(); } + public static Texture3D FromFile(GraphicsDevice graphicsDevice, Stream textureStream, TextureCreationParameters creationParameters) { throw new NotImplementedException(); } + public static Texture3D FromFile(GraphicsDevice graphicsDevice, Stream textureStream, int numberBytes) { throw new NotImplementedException(); } + public static Texture3D FromFile(GraphicsDevice graphicsDevice, string filename, TextureCreationParameters creationParameters) { throw new NotImplementedException(); } + public static Texture3D FromFile(GraphicsDevice graphicsDevice, Stream textureStream, int numberBytes, TextureCreationParameters creationParameters) { throw new NotImplementedException(); } + public static Texture3D FromFile(GraphicsDevice graphicsDevice, string filename, int width, int height, int depth) { throw new NotImplementedException(); } + + // TODO: Get T ValueType working + //public void GetData<T>(T[] data) where T : ValueType { throw new NotImplementedException(); } + //public void GetData<T>(T[] data, int startIndex, int elementCount) where T : ValueType { throw new NotImplementedException(); } + //public void GetData<T>(int level, int left, int top, int right, int bottom, int front, int back, T[] data, int startIndex, int elementCount) where T : ValueType { throw new NotImplementedException(); } + + public override int GetHashCode() { throw new NotImplementedException(); } + + public static bool operator ==(Texture3D left, Texture3D right) { throw new NotImplementedException(); } + public static bool operator !=(Texture3D left, Texture3D right) { throw new NotImplementedException(); } + + //public void SetData<T>(T[] data) where T : ValueType { throw new NotImplementedException(); } + //public void SetData<T>(T[] data, int startIndex, int elementCount, SetDataOptions options) where T : ValueType { throw new NotImplementedException(); } + //public void SetData<T>(int level, int left, int top, int right, int bottom, int front, int back, T[] data, int startIndex, int elementCount, SetDataOptions options) where T : ValueType { throw new NotImplementedException(); } + + public override string ToString() { throw new NotImplementedException(); } + + public int Depth { get { throw new NotImplementedException(); } } + public SurfaceFormat Format { get { throw new NotImplementedException(); } } + public int Height { get { throw new NotImplementedException(); } } + public ResourceManagementMode ResourceManagementMode { get { throw new NotImplementedException(); } } + public ResourceUsage ResourceUsage { get { throw new NotImplementedException(); } } + public int Width { get { throw new NotImplementedException(); } } + } +} \ No newline at end of file Modified: trunk/Mono.Xna/src/Microsoft.Xna.Framework/Input/Enums.cs =================================================================== --- trunk/Mono.Xna/src/Microsoft.Xna.Framework/Input/Enums.cs 2007-01-14 14:46:33 UTC (rev 70983) +++ trunk/Mono.Xna/src/Microsoft.Xna.Framework/Input/Enums.cs 2007-01-14 14:59:47 UTC (rev 70984) @@ -31,46 +31,48 @@ namespace Microsoft.Xna.Framework.Input { /// <summary> - /// + /// Identifies the state of a mouse button or Xbox 360 Controller button. /// </summary> public enum ButtonState { - Pressed=1, - Released=0 + Pressed = 1, + Released = 0 } /// <summary> - /// + /// Describes the type of a given Xbox 360 controller. /// </summary> public enum GamePadType { //FIXME: Write test to make sure these numbers don;t change - ArcadeStick=3, - DancePad=5, - FlightStick=4, - GamePad=1, - Unknown=0, - Wheel=2 + ArcadeStick = 3, + DancePad = 5, + FlightStick = 4, + GamePad = 1, + Unknown = 0, + Wheel = 2 } /// <summary> - /// + /// Identifies the state of a keyboard key. /// </summary> public enum KeyState { + /// <summary>The key is released.</summary> Up, + /// <summary>The key is pressed.</summary> Down } /// <summary> - /// + /// Specifies a type of dead zone processing to apply to Xbox 360 controller analog sticks when calling GamePad.GetState. /// </summary> public enum GamePadDeadZone { //FIXME: Write test to make sure these don't change - Circular=2, - IndependentAxes=1, - None=0 + Circular = 2, + IndependentAxes = 1, + None = 0 } /// <summary> /// Identifies a particular key on a keyboard. @@ -78,37 +80,6 @@ public enum Keys { None = 0, - Back = 8, - Tab = Key.Tab, - Enter = Key.Return, - CapsLock = Key.CapsLock, - Escape = Key.Escape, - Space = Key.Space, - PageUp = Key.PageUp, - PageDown = Key.PageDown, - End = Key.End, - Home = Key.Home, - Left = Key.LeftArrow, - Up = Key.UpArrow, - Right = Key.RightArrow, - Down = Key.DownArrow, - Select = 41, - Print = 42, - Execute = 43, - PrintScreen = Key.Print, - Insert = Key.Insert, - Delete = Key.Delete, - Help = Key.Help, - D0 = 48, - D1 = 49, - D2 = 50, - D3 = 51, - D4 = 52, - D5 = 53, - D6 = 54, - D7 = 55, - D8 = 56, - D9 = 57, A = Key.A, B = Key.B, C = Key.C, @@ -135,26 +106,42 @@ X = Key.X, Y = Key.Y, Z = Key.Z, - LeftWindows = Key.LeftWindows, - RightWindows = Key.RightWindows, - Apps = 93, - Sleep = 95, - NumPad0 = Key.Keypad0, - NumPad1 = Key.Keypad1, - NumPad2 = Key.Keypad2, - NumPad3 = Key.Keypad3, - NumPad4 = Key.Keypad4, - NumPad5 = Key.Keypad5, - NumPad6 = Key.Keypad6, - NumPad7 = Key.Keypad7, - NumPad8 = Key.Keypad8, - NumPad9 = Key.Keypad9, - Multiply = Key.KeypadMultiply, - Add = Key.KeypadPlus, - Separator = 108, - Subtract = Key.Minus, + Add = Key.Plus, + Apps = Key.World0, + Attn = Key.World1, + Back = Key.World2, + BrowserBack = Key.World3, + BrowserFavorites = Key.World4, + BrowserForward = Key.World5, + BrowserHome = Key.World6, + BrowserRefresh = Key.World7, + BrowserSearch = Key.World8, + BrowserStop = Key.World9, + CapsLock = Key.CapsLock, + Crsel = Key.World10, + + D0 = Key.World11, + D1 = Key.World12, + D2 = Key.World13, + D3 = Key.World14, + D4 = Key.World15, + D5 = Key.World16, + D6 = Key.World17, + D7 = Key.World18, + D8 = Key.World19, + D9 = Key.World20, + Decimal = Key.Period, - Divide = Key.KeypadDivide, + Delete = Key.Delete, + Divide = Key.Slash, + Down = Key.DownArrow, + End = Key.End, + Enter = Key.Return, + EraseEof = Key.World21, + Escape = Key.Escape, + Execute = Key.World22, + Exsel = Key.World23, + F1 = Key.F1, F2 = Key.F2, F3 = Key.F3, @@ -170,62 +157,90 @@ F13 = Key.F13, F14 = Key.F14, F15 = Key.F15, - F16 = 127, - F17 = 128, - F18 = 129, - F19 = 130, - F20 = 131, - F21 = 132, - F22 = 133, - F23 = 134, - F24 = 135, - NumLock = Key.NumLock, - Scroll = Key.ScrollLock, + F16 = Key.F15 + 1, + F17 = Key.F15 + 2, + F18 = Key.F15 + 3, + F19 = Key.F15 + 4, + F20 = Key.F15 + 5, + F21 = Key.F15 + 6, + F22 = Key.F15 + 7, + F23 = Key.F15 + 8, + F24 = Key.F15 + 9, + Help = Key.Help, + + Home = Key.Home, + Insert = Key.Insert, + + LaunchApplication1 = Key.World24, + LaunchApplication2 = Key.World25, + LaunchMail = Key.World26, + + Left = Key.LeftArrow, + LeftAlt = Key.LeftAlt, + LeftControl = Key.LeftControl, LeftShift = Key.LeftShift, + LeftWindows = Key.LeftWindows, + + MediaNextTrack = Key.World27, + MediaPlayPause = Key.World28, + MediaPreviousTrack = Key.World29, + MediaStop = Key.World30, + + Multiply = Key.KeypadMultiply, + NumLock = Key.Keypad0, + NumPad0 = Key.Keypad1, + NumPad1 = Key.Keypad1, + NumPad2 = Key.Keypad2, + NumPad3 = Key.Keypad3, + NumPad4 = Key.Keypad4, + NumPad5 = Key.Keypad5, + NumPad6 = Key.Keypad6, + NumPad7 = Key.Keypad7, + NumPad8 = Key.Keypad8, + NumPad9 = Key.Keypad9, + + Oem8 = Key.World31, + OemBackslash = Key.World32, + OemClear = Key.World33, + OemCloseBrackets = Key.World34, + OemComma = Key.World35, + OemMinus = Key.World36, + OemOpenBrackets = Key.World37, + OemPeriod = Key.World38, + OemPipe = Key.World39, + OemPlus = Key.World40, + OemQuestion = Key.World41, + OemQuotes = Key.World42, + OemSemicolon = Key.World43, + OemTilde = Key.World44, + + Pa1 = Key.World45, + PageDown = Key.PageDown, + PageUp = Key.PageUp, + + Play = Key.World46, + Print = Key.Print, + PrintScreen = Key.Print, + ProcessKey = Key.World47, + + Right = Key.RightArrow, + RightAlt = Key.RightAlt, + RightControl = Key.RightControl, RightShift = Key.RightShift, - LeftControl = Key.LeftControl, - RightControl = Key.RightControl, - LeftAlt = Key.LeftAlt, - RightAlt = Key.RightAlt, - BrowserBack = 166, - BrowserForward = 167, - BrowserRefresh = 168, - BrowserStop = 169, - BrowserSearch = 170, - BrowserFavorites = 171, - BrowserHome = 172, - VolumeMute = 173, - VolumeDown = 174, - VolumeUp = 175, - MediaNextTrack = 176, - MediaPreviousTrack = 177, - MediaStop = 178, - MediaPlayPause = 179, - LaunchMail = 180, - SelectMedia = 181, - LaunchApplication1 = 182, - LaunchApplication2 = 183, - OemSemicolon = 186, - OemPlus = 187, - OemComma = 188, - OemMinus = 189, - OemPeriod = 190, - OemQuestion = 191, - OemTilde = 192, - OemOpenBrackets = 219, - OemPipe = 220, - OemCloseBrackets = 221, - OemQuotes = 222, - Oem8 = 223, - OemBackslash = 226, - ProcessKey = 229, - Attn = 246, - Crsel = 247, - Exsel = 248, - EraseEof = 249, - Play = 250, - Zoom = 251, - Pa1 = 253, - OemClear = 254, + RightWindows = Key.RightWindows, + + Scroll = Key.ScrollLock, + Select = Key.World48, + SelectMedia = Key.World49, + Separator = Key.World50, + Sleep = Key.World51, + Space = Key.Space, + Subtract = Key.Minus, + Tab = Key.Tab, + Up = Key.UpArrow, + VolumeDown = Key.World52, + VolumeMute = Key.World53, + VolumeUp = Key.World54, + Zoom = Key.World55, } -} +} \ No newline at end of file Modified: trunk/Mono.Xna/src/Microsoft.Xna.Framework.Game/DrawableGameComponent.cs =================================================================== --- trunk/Mono.Xna/src/Microsoft.Xna.Framework.Game/DrawableGameComponent.cs 2007-01-14 14:46:33 UTC (rev 70983) +++ trunk/Mono.Xna/src/Microsoft.Xna.Framework.Game/DrawableGameComponent.cs 2007-01-14 14:59:47 UTC (rev 70984) @@ -35,7 +35,7 @@ { #region Public Constructors - public DrawableGameComponent(Game game) + public DrawableGameComponent(Game game) : base(game) { throw new NotImplementedException(); } Modified: trunk/Mono.Xna/src/Microsoft.Xna.Framework.Game/GameComponent.cs =================================================================== --- trunk/Mono.Xna/src/Microsoft.Xna.Framework.Game/GameComponent.cs 2007-01-14 14:46:33 UTC (rev 70983) +++ trunk/Mono.Xna/src/Microsoft.Xna.Framework.Game/GameComponent.cs 2007-01-14 14:59:47 UTC (rev 70984) @@ -38,8 +38,10 @@ { /// <summary>Initializes a new instance of this class.</summary> - public GameComponent() + public GameComponent(Game game) { + this.enabled = true; + this.game = game; } /// <summary>Immediately releases the unmanaged resources used by this object.</summary> @@ -58,22 +60,16 @@ { if (disposing) { - if (this.Game != null) + lock (this) { - // this.Game.GameComponents.Remove(this); + if (this.Game != null) + this.Game.Components.Remove(this); + if (this.Disposed != null) + this.Disposed(this, EventArgs.Empty); } - if (this.Disposed != null) - { - this.Disposed(this, EventArgs.Empty); - } } } - /// <summary>Called when the GameComponent needs to be drawn. Override this method with component-specific draw code.</summary> - public virtual void Draw() - { - } - /// <summary> /// Allows a GameComponent to attempt to free resources and perform other cleanup operations before garbage collection reclaims the GameComponent. /// </summary> @@ -82,89 +78,96 @@ this.Dispose(false); } - /// <summary>Called when the Game associated with a GameComponent changes.</summary> - /// <param name="previousGame">The previous Game the GameComponent was associated with.</param> - protected virtual void OnGameChanging(Game previousGame) + protected virtual void OnEnabledChanged(object sender, EventArgs args) { + if (this.EnabledChanged != null) + this.EnabledChanged(this, EventArgs.Empty); } - /// <summary>Called after game initialization but before the first frame of the game.</summary> - public virtual void Start() + protected virtual void OnUpdateOrderChanged(object sender, EventArgs args) { + if (this.UpdateOrderChanged != null) + this.UpdateOrderChanged(this, EventArgs.Empty); } - /// <summary>Called when the GameComponent needs to be updated. Override this method with component-specific update code.</summary> - public virtual void Update() - { - } - /// <summary> /// Gets and sets the Game associated with this GameComponent. /// </summary> /// <returns> /// The Game associated with this GameComponent. /// </returns> - [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), Browsable(false)] public Game Game { get { - return m_Game; + return game; } - internal set - { - Game previousGame = m_Game; - m_Game = value; - OnGameChanging(previousGame); - } } - /// <summary>Gets or sets the System.ComponentModel.ISite associated with the GameComponent.</summary> - /// <returns> - /// The System.ComponentModel.ISite associated with the GameComponent. - /// </returns> - [Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] - public ISite Site - { - get - { - return m_Site; - } - set - { - m_Site = value; - } - } - /// <summary>Raised when the GameComponent is disposed.</summary> - [Browsable(false)] - public event EventHandler Disposed; - private Game m_Game; - private ISite m_Site; + private Game game; + private bool enabled; + private int updateOrder; - + /// <summary> + /// Called when the GameComponent needs to be initialized. Override to query for required services and load any non-graphics resources + /// </summary> public virtual void Initialize() { - throw new Exception("The method or operation is not implemented."); + // Nothing, this function is to be overriden. } + /// <summary> + /// Indicates whether GameComponent.Update should be called when Game.Update is called. + /// </summary> + /// <returns>true if GameComponent.Update should be called; false otherwise</returns> public bool Enabled { - get { throw new Exception("The method or operation is not implemented."); } + get + { + return enabled; + } + set + { + if (enabled != value) + { + enabled = value; + OnEnabledChanged(this, EventArgs.Empty); + } + } } + /// <summary> + /// Indicates the order the GameComponent should be updated in relative to other GameComponent instances. Lower values are update first. + /// </summary> + /// <returns>The order the GameComponent should be updated in.</returns> public int UpdateOrder { - get { throw new Exception("The method or operation is not implemented."); } + get + { + return updateOrder; + } + set + { + if (updateOrder != value) + { + updateOrder = value; + OnUpdateOrderChanged(this, EventArgs.Empty); + } + } } + /// <summary> + /// Called when the GameComponent needs to be updated. Override this method with component-specific update code. + /// </summary> + /// <param name="gameTime">Time elapsed since the last call to Microsoft.Xna.Framework.GameComponent.Update(Microsoft.Xna.Framework.GameTime)</param> public void Update(GameTime gameTime) { - throw new Exception("The method or operation is not implemented."); + // Nothing, this method is to be overriden. } public event EventHandler EnabledChanged; - public event EventHandler UpdateOrderChanged; + public event EventHandler Disposed; } }
_______________________________________________ Mono-patches maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-patches
