SetParam() 공개 메소드

public SetParam ( string name, string val ) : bool
name string
val string
리턴 bool
        /// <summary>
        ///
        /// </summary>
        /// <param name="line"></param>
        /// <param name="affector"></param>
        private void ParseAffectorAttrib(string line, ParticleAffector affector)
        {
            string[] values = line.Split(new char[] { ' ' }, 2);

            if (!(affector.SetParam(values[0], values[1])))
            {
                ParseHelper.LogParserError(values[0], affector.Type, "Command not found.");
            }
        }
예제 #2
0
        public virtual void CopyTo(ParticleAffector affector)
        {
            // loop through all registered commands and copy from this instance to the target instance
            foreach (var key in this.commandTable.Keys)
            {
                // get the value of the param from this instance
                var val = ((IPropertyCommand)this.commandTable[key]).Get(this);

                // set the param on the target instance
                affector.SetParam(key, val);
            }
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="emitter"></param>
        public virtual void CopyTo(ParticleAffector affector)
        {
            // loop through all registered commands and copy from this instance to the target instance
            foreach (DictionaryEntry entry in commandTable)
            {
                string name = (string)entry.Key;

                // get the value of the param from this instance
                string val = ((ICommand)entry.Value).Get(this);

                // set the param on the target instance
                affector.SetParam(name, val);
            }
        }
예제 #4
0
		/// <summary>
		///
		/// </summary>
        /// <param name="affector"></param>
		public virtual void CopyTo( ParticleAffector affector )
		{
			// loop through all registered commands and copy from this instance to the target instance
			foreach ( string key in commandTable.Keys )
			{
				// get the value of the param from this instance
				string val = ( (IPropertyCommand)commandTable[ key ] ).Get( this );

				// set the param on the target instance
				affector.SetParam( key, val );
			}
		}
        /// <summary>
        /// 
        /// </summary>
        /// <param name="line"></param>
        /// <param name="affector"></param>
        private void ParseAffectorAttrib(string line, ParticleAffector affector)
        {
            string[] values = line.Split(new char[] {' '}, 2);

            if(!(affector.SetParam(values[0], values[1]))) {
                ParseHelper.LogParserError(values[0], affector.Type, "Command not found.");
            }
        }
			/// <see cref="Translator.Translate"/>
			public override void Translate( ScriptCompiler compiler, AbstractNode node )
			{
				ObjectAbstractNode obj = (ObjectAbstractNode)node;

				// Must have a type as the first value
				if ( obj.Values.Count == 0 )
				{
					compiler.AddError( CompileErrorCode.StringExpected, obj.File, obj.Line );
					return;
				}

				string type = string.Empty;
				if ( !getString( obj.Values[ 0 ], out type ) )
				{
					compiler.AddError( CompileErrorCode.InvalidParameters, obj.File, obj.Line );
					return;
				}

				ParticleSystem system = (ParticleSystem)obj.Parent.Context;
				_Affector = system.AddAffector( type );

				foreach ( AbstractNode i in obj.Children )
				{
					if ( i is PropertyAbstractNode )
					{
						PropertyAbstractNode prop = (PropertyAbstractNode)i;
						string value = string.Empty;

						// Glob the values together
						foreach ( AbstractNode it in prop.Values )
						{
							if ( it is AtomAbstractNode )
							{
								if ( string.IsNullOrEmpty( value ) )
									value = ( (AtomAbstractNode)it ).Value;
								else
									value = value + " " + ( (AtomAbstractNode)it ).Value;
							}
							else
							{
								compiler.AddError( CompileErrorCode.InvalidParameters, prop.File, prop.Line );
								break;
							}
						}

						if ( !_Affector.SetParam( prop.Name, value ) )
						{
							compiler.AddError( CompileErrorCode.InvalidParameters, prop.File, prop.Line );
						}
					}
					else
					{
						_processNode( compiler, i );
					}
				}
			}
        /// <summary>
        /// 
        /// </summary>
        /// <param name="emitter"></param>
        public virtual void CopyTo(ParticleAffector affector)
        {
            // loop through all registered commands and copy from this instance to the target instance
            foreach(DictionaryEntry entry in commandTable) {
                string name = (string)entry.Key;

                // get the value of the param from this instance
                string val = ((ICommand)entry.Value).Get(this);

                // set the param on the target instance
                affector.SetParam(name, val);
            }
        }