public IObjectBuilder AppendDataProperty(string name, IDynamic value) { var desc = _obj.Environment.CreateDataDescriptor(value, _writable, _enumerable, _configurable); _obj._map.Add(name, desc); return(this); }
public IObjectBuilder AppendAccessorProperty(string name, IDynamic get, IDynamic set) { var desc = _obj.Environment.CreateAccessorDescriptor(get, set, _enumerable, _configurable); _obj._map.Add(name, desc); return(this); }
public virtual void Put(string p, IDynamic value, bool @throw) { if (!CanPut(p)) { if (@throw) { throw Environment.CreateTypeError(""); } return; } var ownDesc = GetOwnProperty(p); if (ownDesc != null && ownDesc.IsDataDescriptor) { var valueDesc = new SPropertyDescriptor() { Value = value }; DefineOwnProperty(p, valueDesc, @throw); return; } var desc = GetProperty(p); if (desc != null && desc.IsAccessorDescriptor) { ((ICallable)desc.Set).Call(Environment, this, new SArgs(Environment, value)); return; } var newDesc = Environment.CreateDataDescriptor(value, true, true, true); DefineOwnProperty(p, newDesc, @throw); }
public void Navigate(IDynamic obj, ConsoleKeyInfo cki, Game game) { switch (cki.Key) { case ConsoleKey.UpArrow: Move(Direction.Up, obj, game); break; case ConsoleKey.DownArrow: Move(Direction.Down, obj, game); break; case ConsoleKey.LeftArrow: Move(Direction.Left, obj, game); break; case ConsoleKey.RightArrow: Move(Direction.Right, obj, game); break; case ConsoleKey.Spacebar: if (!game.IsPaused) { Console.WriteLine(StaticMessages.GamePause); game.Pause(); cki = Console.ReadKey(); } break; } }
public void StartInteraction(IDynamic otherDynamic) { Interacting = true; _tempDynamic = otherDynamic; _hero.SetWalkingActivation(false, true); _hero.SetStickinessActivation(false); var otherCollider = ((MonoBehaviour)otherDynamic).GetComponent <Collider2D>(); _cloneOtherDynamic = _poolManager.GetPoolable <DynamicCollider>(otherCollider.transform.position, otherCollider.transform.rotation, 1, otherDynamic.PoolableType, defaultParent: false); _cloneOtherDynamic.transform.localScale = otherCollider.transform.localScale; _cloneHeroCollider = _poolManager.GetPoolable <DynamicNinjaCollider>(transform.position, transform.rotation, defaultParent: false); CloneHeroStickiness = _cloneHeroCollider.GetComponent <Stickiness>(); _cloneHero = _cloneHeroCollider.GetComponent <DynamicNinja>(); _cloneHero.SetNinja(_hero); CloneHeroStickiness.Awake(); CloneHeroStickiness.Start(); CloneHeroStickiness.ContactPoint.SetParent(_cloneOtherDynamic.Transform, true); _cloneHeroCollider.Transform.SetParent(_cloneOtherDynamic.Transform, true); _previousPosition = _cloneHeroCollider.Transform.localPosition; _hero.Transform.SetParent(otherCollider.transform, true); _hero.Stickiness.Collider.isTrigger = true; _hero.Stickiness.Rigidbody.angularVelocity = 0; _hero.Stickiness.Rigidbody.velocity = Vector2.zero; CloneHeroStickiness.ReactToObstacle(_cloneOtherDynamic, _hero.Stickiness.GetContactPosition()); }
protected override void ProcessRecord() { if (parFile.StartsWith(@".\")) { parFile = System.IO.Path.Combine(this.CurrentProviderLocation("FileSystem").ProviderPath, parFile.Substring(2)); } parFile = System.IO.Path.GetFullPath(parFile); try { string destName = string.Format("{0}\\{1}.{2}", Path.GetDirectoryName(parFile), Path.GetFileNameWithoutExtension(parFile), formatName); WriteVerbose(string.Format("Will convert {0} to {1}", parFile, destName)); if (System.IO.File.Exists(destName) && !parOverwrite) { WriteError(new ErrorRecord(new UnauthorizedAccessException(string.Format("File already exists and overwrite not specified", destName)), "200", ErrorCategory.PermissionDenied, destName)); } else { IDynamic doc = msWord.Property("Documents").Get().Method("Open").AddParameter(parFile).AddMissingParameters(15).Invoke(); doc.Method("SaveAs").AddRefParameter(destName).AddRefParameter(format).Invoke(); if (!parNoExit) { doc.Method("Close").AddParameter(0).Invoke(); } } } catch (Exception ex) { WriteError(new ErrorRecord(new InvalidDataException(string.Format("Conversion failed: {0}", ex.Message)), "201", ErrorCategory.ParserError, parFile)); } }
public bool Instanceof(IDynamic left, IDynamic right) { // 15.3.5.3 [[HasInstance]] (V) var lObj = left as IObject; var rObj = right as IObject; if (lObj == null) { return(false); } var oPrototype = rObj.Get("prototype") as IObject; if (oPrototype == null) { throw CreateTypeError(""); } do { lObj = lObj.Prototype; if (lObj == oPrototype) { return(true); } }while (lObj.Prototype != null); return(false); }
protected override void BeginProcessing() { base.BeginProcessing(); if (!(GetOfficeVersion.GetVersion("Word")).IsInstalled) { ThrowTerminatingError(new ErrorRecord(new FileNotFoundException("Excel is not installed"), "1", ErrorCategory.InvalidOperation, null)); } msWord = BindingFactory.CreateAutomationBinding("Word.Application"); if (parDisplay) { WriteVerbose("Display have been set, making application visible"); msWord.Property("Visible").Set(true); } switch (parFormat.ToLower()) { case "word": format = 12; formatName = "docx"; break; case "word97": format = 0; formatName = "doc"; break; case "pdf": format = 17; formatName = "pdf"; break; case "xps": format = 18; formatName = "xps"; break; case "odf": format = 23; formatName = "odf"; break; case "rtf": format = 6; formatName = "rtf"; break; } WriteVerbose(string.Format("Setting output format to {0} (.{1})", parFormat, formatName)); }
public void ChangeWorld(IDynamic dynamic, Direction direction) { switch (direction) { case Direction.Right: WorldOnFocus.RemoveDynamicEntity((Entity)dynamic); dynamic.ChangeWorld(WorldOnFocus.RightWorld, direction); WorldOnFocus.RightWorld.AddDynamicEntity((Entity)dynamic); break; case Direction.Left: WorldOnFocus.RemoveDynamicEntity((Entity)dynamic); dynamic.ChangeWorld(WorldOnFocus.LeftWorld, direction); WorldOnFocus.LeftWorld.AddDynamicEntity((Entity)dynamic); break; } if (!(dynamic is Cow)) { return; } switch (direction) { case Direction.Right: WorldOnFocus = WorldOnFocus.RightWorld; break; case Direction.Left: WorldOnFocus = WorldOnFocus.LeftWorld; break; } }
public virtual IDynamic Op_BitwiseAnd(IDynamic other) { var lnum = (int)(double)this.ConvertToInt32().BaseValue; var rnum = (int)(double)other.ConvertToInt32().BaseValue; return(Environment.CreateNumber((double)(lnum & rnum))); }
public virtual IDynamic Op_Modulus(IDynamic other) { var lnum = (double)this.ConvertToNumber().BaseValue; var rnum = (double)other.ConvertToNumber().BaseValue; return(Environment.CreateNumber(lnum % rnum)); }
private static IDynamic Map(IEnvironment environment, IArgs args) { var result = ((IConstructable)environment.ArrayConstructor).Construct(environment, environment.EmptyArgs); var obj = environment.Context.ThisBinding.ConvertToObject(); var callArgs = new IDynamic[] { null, null, obj }; var length = (uint)obj.Get("length").ConvertToUInt32().BaseValue; var callbackfn = args[0] as ICallable; var thisArg = args[1]; if (callbackfn == null) { throw environment.CreateTypeError("The first parameter 'callbackfn' must be callable."); } for (uint i = 0; i < length; i++) { var key = i.ToString(); if (obj.HasProperty(key)) { callArgs[0] = obj.Get(key); callArgs[1] = environment.CreateNumber(i); var value = callbackfn.Call(environment, thisArg, environment.CreateArgs(callArgs)); result.DefineOwnProperty(key, environment.CreateDataDescriptor(value, true, true, true), false); } } return(result); }
private static IDynamic ForEach(IEnvironment environment, IArgs args) { var obj = environment.Context.ThisBinding.ConvertToObject(); var callArgs = new IDynamic[] { null, null, obj }; var length = (uint)obj.Get("length").ConvertToUInt32().BaseValue; var callbackfn = args[0] as ICallable; var thisArg = args[1]; if (callbackfn == null) { throw environment.CreateTypeError("The first parameter 'callbackfn' must be callable."); } for (uint i = 0; i < length; i++) { var key = i.ToString(); if (obj.HasProperty(key)) { callArgs[0] = obj.Get(key); callArgs[1] = environment.CreateNumber(i); callbackfn.Call(environment, thisArg, environment.CreateArgs(callArgs)); } } return(environment.Undefined); }
public virtual IDynamic Call(IEnvironment environment, IDynamic thisBinding, IArgs args) { var oldContext = environment.Context; var newEnvironment = Scope.NewDeclarativeEnvironment(); using (var newContext = environment.EnterContext()) { newContext.LexicalEnviroment = newEnvironment; newContext.VariableEnviroment = newEnvironment; newContext.Strict = ExecutableCode.Strict; if (ExecutableCode.Strict) { newContext.ThisBinding = thisBinding; } else { switch (thisBinding.TypeCode) { case LanguageTypeCode.Undefined: case LanguageTypeCode.Null: newContext.ThisBinding = Environment.GlobalObject; break; default: newContext.ThisBinding = thisBinding.ConvertToObject(); break; } } BindFormalParameters(args); Environment.BindFunctionDeclarations(ExecutableCode.FunctionDeclarations, ExecutableCode.Strict, true); BindArgumentsObject(args); Environment.BindVariableDeclarations(ExecutableCode.VariableDeclarations, ExecutableCode.Strict, true); return ExecutableCode.Code(environment, args); } }
public override void ConnectComponents(IDomain domain, IDynamic currentDynamic, IReadOnlyCollection <IComponent> components) { base.ConnectComponents(domain, currentDynamic, components); if (Items.Count < 1) { throw new ParsingException(203, Source, $"Panel '{GetType().Name}' has no item."); } double MaxWidthValue; if (MaxWidth != null && !ParserDomain.TryParseDouble(MaxWidth, out MaxWidthValue)) { throw new ParsingException(204, Source, "Invalid max width."); } double MaxHeightValue; if (MaxHeight != null && !ParserDomain.TryParseDouble(MaxHeight, out MaxHeightValue)) { throw new ParsingException(205, Source, "Invalid max height."); } foreach (ILayoutElement Item in Items) { Item.ConnectComponents(domain, currentDynamic, components); } }
public bool CombineGeneratorWithIterator(Generator generator, IDynamic other) { var iterable = other.ConvertToObject(); var createIterator = iterable.Get("createIterator") as ICallable; if (createIterator == null) { throw CreateTypeError(""); } var iterator = createIterator.Call(this, iterable, EmptyArgs).ConvertToObject(); if (!iterator.HasProperty("current")) { throw CreateTypeError(""); } var next = iterator.Get("next") as ICallable; if (next == null) { throw CreateTypeError(""); } GeneratorStep step = null; step = (_e, _g) => { if (!next.Call(this, Undefined, EmptyArgs).ConvertToBoolean().BaseValue) { return(false); } generator.Current = iterator.Get("current"); generator.Steps.Enqueue(step); return(true); }; return(step(this, generator)); }
public override object Deserialize(IDictionary <string, object> dictionary, Type type, JavaScriptSerializer serializer) { IDynamic obj = null; if (type == typeof(DynamicSword)) { obj = new DynamicSword(); } else { var temp = Activator.CreateInstance(type, null); if (temp is IDynamic) { obj = (IDynamic)temp; } } if (obj != null) { foreach (KeyValuePair <string, object> item in dictionary) { try { obj[item.Key] = item.Value; } catch (Exception ex) { throw ex; } } } return(obj); }
public override void ConnectComponents(IDomain domain, IDynamic currentDynamic, IReadOnlyCollection <IComponent> components) { base.ConnectComponents(domain, currentDynamic, components); if (ColumnCount < 0) { throw new ParsingException(167, Source, $"Invalid column count."); } else if (ColumnCount == 0) { ColumnCount = 1; } if (RowCount < 0) { throw new ParsingException(168, Source, $"Invalid row count."); } else if (RowCount == 0) { RowCount = 1; } ColumnWidthArray = ParseDoubleList(ColumnWidths, ColumnCount, "column width"); RowHeightArray = ParseDoubleList(RowHeights, RowCount, "row height"); }
public void GenerateRemoveDyanmicEvent(object sender, IObject3D obj, IDynamic dynamic) { if (RemoveDynamic != null) { RemoveDynamic(sender, new DynamicEventArgs(obj, dynamic)); } }
public void GenerateAddDyanmicRequestEvent(object sender, IObject3D obj, IDynamic dynamic) { if (AddDynamicRequest != null) { AddDynamicRequest(sender, new DynamicEventArgs(obj, dynamic)); } }
public void Update(GameTime gameTime) { dynamicLoader.Load(game.Camera.RightBound + LoadMargin); // We set the load range to 100. if (Mario.Position.X < game.Camera.LeftBound) { Mario.Position = new Vector2(game.Camera.LeftBound, Mario.Position.Y); } for (int i = (StaticObjects.Count - 1); i >= 0 && i < StaticObjects.Count; i--) { IStatic obj = StaticObjects[i]; BoundaryCheck(obj); obj.Update(gameTime); if (obj.ObjState == ObjectState.Destroy) { DestroyFromManager(obj); } if (obj.ObjState == ObjectState.NonCollidable) { MoveToNonCollidable(obj); } } for (int i = (DynamicObjects.Count - 1); i >= 0 && i < DynamicObjects.Count; i--) { IDynamic obj = DynamicObjects[i]; BoundaryCheck(obj); obj.Update(gameTime); if (obj.ObjState == ObjectState.Destroy) { DestroyFromManager(obj); } if (obj.ObjState == ObjectState.NonCollidable) { MoveToNonCollidable(obj); } } for (int i = (NonCollidableObjects.Count - 1); i >= 0 && i < NonCollidableObjects.Count; i--) { BoundaryCheck(NonCollidableObjects[i]); IObject obj; if (NonCollidableObjects[i] is IStatic) { obj = (IStatic)NonCollidableObjects[i]; ((IStatic)obj).Update(gameTime); } else { obj = (IDynamic)NonCollidableObjects[i]; ((IDynamic)obj).Update(gameTime); } if (obj.ObjState == ObjectState.Destroy) { DestroyFromNonCollidable(obj); } if (obj.ObjState == ObjectState.Normal) { MoveToCollidable(obj); } } }
//移除动力学 public void RemoveDynamic(IDynamic system) { if (system != null && dynamics.Contains(system)) { dynamics.Remove(system); UpdateDynamic(); } }
public virtual IDynamic Op_UnsignedRightShift(IDynamic other) { var lnum = (uint)(double)this.ConvertToUInt32().BaseValue; var rnum = (uint)(double)other.ConvertToUInt32().BaseValue; var shiftCount = (int)(rnum & (uint)0x1F); return(Environment.CreateNumber((double)unchecked (lnum >> shiftCount))); }
public virtual IDynamic Op_LeftShift(IDynamic other) { var lnum = (int)(double)this.ConvertToInt32().BaseValue; var rnum = (uint)(double)other.ConvertToUInt32().BaseValue; var shiftCount = (int)(rnum & (uint)0x1F); return(Environment.CreateNumber((double)(lnum << shiftCount))); }
public IDynamic Call(IEnvironment environment, IDynamic thisBinding, IArgs args) { using (var newContext = environment.EnterContext()) { Environment.Context.ThisBinding = thisBinding; return _code(environment, args); } }
public IDynamic Call(IEnvironment environment, IDynamic thisBinding, IArgs args) { using (var newContext = environment.EnterContext()) { Environment.Context.ThisBinding = thisBinding; return(_code(environment, args)); } }
public void Set(string name, IDynamic value, bool strict) { if (strict) { throw Environment.CreateReferenceError("The name '" + name + "' could not be resolved."); } Environment.GlobalObject.Put(name, value, strict); }
public bool Connect(IDomain domain, IDynamic currentDynamic, IObject currentObject) { bool IsConnected = false; IsConnected |= Operand.Connect(domain, currentDynamic, currentObject); return(IsConnected); }
public override bool HasInstance(IDynamic value) { var func = TargetFunction as IHasInstance; if (func == null) { throw Environment.CreateTypeError(""); } return func.HasInstance(value); }
public override void ConnectComponents(IDomain domain, IDynamic currentDynamic, IReadOnlyCollection <IComponent> components) { base.ConnectComponents(domain, currentDynamic, components); if (Items.Count != 1) { throw new ParsingException(207, Source, $"BorderDecoration must have one nested item."); } }
//注册动力学 public void RegistDynamic(IDynamic system) { if (system != null && !dynamics.Contains(system)) { dynamics.Add(system); UpdateDynamic(); Debugger.Log("RegistDynamic:" + dynamics.Count); } }
public void CheckObjectCoercible(IDynamic value) { switch (value.TypeCode) { case LanguageTypeCode.Undefined: case LanguageTypeCode.Null: throw CreateTypeError("'" + value + "' cannot be coerced into an object."); } }
public void CollectData(IDynamic obj) { if (obj?.Velocity.Length() == 0) { return; } (Data as VelocityTimestampData).Velocity = obj.Velocity; (Data as VelocityTimestampData).TimeStamp = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond; }
public override IDynamic Op_StrictEquals(IDynamic other) { switch (other.TypeCode) { case LanguageTypeCode.Undefined: return Environment.True; default: return Environment.False; } }
public override IDynamic Op_Equals(IDynamic other) { switch (other.TypeCode) { case LanguageTypeCode.Boolean: return Environment.CreateBoolean(this.BaseValue == ((LBoolean)other).BaseValue); default: return this.ConvertToNumber().Op_Equals(other); } }
public override IDynamic Op_StrictEquals(IDynamic other) { switch (other.TypeCode) { case LanguageTypeCode.Boolean: return Environment.CreateBoolean(this.BaseValue == ((LBoolean)other).BaseValue); default: return Environment.CreateBoolean(false); } }
public override IDynamic Op_Equals(IDynamic other) { switch (other.TypeCode) { case LanguageTypeCode.String: return Environment.CreateBoolean(this.BaseValue == ((LString)other).BaseValue); case LanguageTypeCode.Number: return this.ConvertToNumber().Op_Equals(other); case LanguageTypeCode.Object: return this.ConvertToPrimitive(null).Op_Equals(other); default: return Environment.False; } }
public override IDynamic Next(IEnvironment environment, IArgs args) { if (_complete) return environment.False; _initialized = true; while (_iterator.Next()) { var callArgs = environment.CreateArgs(new[] { _iterator.Current }); _current = _mapping.Call(environment, environment.Undefined, callArgs); return environment.True; } _complete = true; return environment.False; }
public Iterator(IEnvironment environment, IDynamic iterable) { _environment = environment; var o = iterable.ConvertToObject(); var createIterator = o.Get("createIterator") as ICallable; if (createIterator == null) throw environment.CreateTypeError("The object supplied does not contain a callable property named 'createIterator'."); _iterator = createIterator.Call(environment, iterable, environment.EmptyArgs).ConvertToObject(); if (!_iterator.HasProperty("current")) throw environment.CreateTypeError("The object returned from the iterable supplied does not have a property named 'current'."); _next = _iterator.Get("next") as ICallable; if (_next == null) throw environment.CreateTypeError("The object returned from the iterable supplied does not have a callable property named 'next'."); }
public void SetMutableBinding(string n, IDynamic v, bool s) { var binding = _bindings[n]; if ((binding.Flags & BFlags.Immutable) == BFlags.Immutable) { throw _environment.CreateUriError(""); } binding.Value = v; }
public void Set(string name, IDynamic value, bool strict) { SetMutableBinding(name, value, strict); }
public IDynamic Op_Modulus(IDynamic other) { return Value.Op_Modulus(other); }
public IDynamic Call(IEnvironment environment, IDynamic thisBinding, IArgs args) { return environment.Undefined; }
public IDynamic Op_StrictEquals(IDynamic other) { return Value.Op_StrictEquals(other); }
public IDynamic Op_LeftShift(IDynamic other) { return Value.Op_LeftShift(other); }
public IDynamic Op_PostfixIncrement() { StrictReferenceCondition(); var oldValue = Value.ConvertToNumber(); Value = _environment.CreateNumber(oldValue.BaseValue + 1.0); return oldValue; }
public IDynamic Op_PrefixDecrement() { StrictReferenceCondition(); return Value = _environment.CreateNumber(Value.ConvertToNumber().BaseValue - 1.0); }
public IDynamic Op_UnsignedRightShift(IDynamic other) { return Value.Op_UnsignedRightShift(other); }
public IDynamic Op_Subtraction(IDynamic other) { return Value.Op_Subtraction(other); }
public Binding(IDynamic value, BFlags flags) { Value = value; Flags = flags; }
public void InitializeImmutableBinding(string n, IDynamic v) { _bindings[n].Value = v; }
public IDynamic Op_LessthanOrEqual(IDynamic other) { return Value.Op_LessthanOrEqual(other); }
public virtual bool HasInstance(IDynamic value) { return Environment.Instanceof(value, this); }
public IDynamic Op_Multiplication(IDynamic other) { return Value.Op_Multiplication(other); }
public void Set(string name, IDynamic value, bool strict) { if (strict) throw Environment.CreateReferenceError("The name '" + name + "' could not be resolved."); Environment.GlobalObject.Put(name, value, strict); }
public IDynamic Op_PrefixIncrement() { StrictReferenceCondition(); var oldNum = Value.ConvertToNumber(); var newNum = _environment.CreateNumber(oldNum.BaseValue + 1.0); Value = newNum; return newNum; }
public void AddDynamics(IDynamic dynamic) { // if the dynamics list doesn't exist, create a new list attached to the selected object if (dynamicsList == null) { dynamicsList = new ArrayList(); } dynamicsList.Add(dynamic); this.isDynamic = true; this.rigidity = Rigidity.Active; this.dynamicStartMemento = this.CreateMemento(); }
public DynamicEventArgs(IObject3D obj, IDynamic dynamic) : base(obj) { this.dynamic = dynamic; }
public IDynamic Op_LogicalOr(IDynamic other) { return Value.Op_LogicalOr(other); }
public IDynamic Op_Lessthan(IDynamic other) { return Value.Op_Lessthan(other); }