/// <summary> /// Käynnistää ajastimen. /// </summary> public void Start() { _enabled = true; timeToTrigger = trigInterval; timeToCount = countInterval; timers.Add(this); }
/// <summary> /// Laittaa kappaleen värähtelemään edestakaisin nykyisen paikkansa ympärillä tietyn akselin suuntaisesti. /// </summary> /// <param name="axis">Akseli, jonka suunnassa värähdellään. Pituudella ei väliä, vain suunnalla.</param> /// <param name="amplitude">Amplitudi eli ääripäiden välinen etäisyys.</param> /// <param name="frequency">Taajuus, eli kuinka monta jaksoa sekunnissa värähdellään.</param> /// <param name="phase">Vaihe, eli mistä kohtaa jaksoa aloitetaan. Vaihteluväli 0 - 2 * Math.PI (siniaalto)</param> /// <param name="damping">Vaimennuskerroin. 0 = ei vaimene, mitä suurempi niin sitä nopeammin vaimenee.</param> public void Oscillate(Vector axis, double amplitude, double frequency, double phase = 0, double damping = 0) { if (oscillators == null) { oscillators = new SynchronousList <Oscillator>(); } oscillators.Add(new LinearOscillator(this, axis, amplitude, frequency, phase, damping)); IsUpdated = true; }
/// <summary> /// Laukaisee aliohjelman kun annetut operaatiot on suoritettu. /// </summary> /// <param name="callback">Aliohjelma</param> /// <param name="actions">Operaatiot</param> public void TriggerOnComplete(Action callback, params AsyncOperation[] actions) { triggers.Add(new AsyncTrigger(actions.ToList().FindAll(o => !o.IsCompleted), callback)); #if JYPELI triggers.Update(Game.Time); #else triggers.Update(Time.Zero); #endif }
private Listener AddListener(SynchronousList <TouchListener> list, Predicate <Touch> rule, string helpText, Delegate handler, params object[] args) { var l = new TouchListener(rule, Game.Instance.ControlContext, helpText, handler, args); list.Add(l); return(l); }
private void InitLayers() { Layers = new SynchronousList <Layer>(-3); Layers.ItemAdded += OnLayerAdded; Layers.ItemRemoved += OnLayerRemoved; for (int i = 0; i < 7; i++) { Layers.Add(new Layer()); } // This is the widget layer Layers.Add(Layer.CreateStaticLayer()); Layers.UpdateChanges(); }
private Listener AddGestureListener(Predicate <Gesture> rule, string helpText, Delegate handler, params object[] args) { Predicate <Touch> touchRule = (Touch t) => t is Gesture && rule((Gesture)t); var l = new TouchListener(touchRule, Game.Instance.ControlContext, helpText, handler, args); GestureListeners.Add(l); return(l); }
/// <summary> /// Lisää vapaamuotoisen tapahtumankäsittelijän. /// </summary> /// <param name="condition">Ehto josta tapahtuma laukeaa.</param> /// <param name="handler">Kutsuttava funktio.</param> public CustomEventHandler AddCustomHandler(Func <bool> condition, Action handler) { if (handlers == null) { handlers = new SynchronousList <CustomEventHandler>(); } var handlerObj = new CustomEventHandler(condition, handler); handlers.Add(handlerObj); return(handlerObj); }
private void ObjectAdded(IGameObject obj) { if (obj is ParticleSystem system) { Effects.Add(system); } else if (obj is CustomDrawable) { objectsWithDrawMethod.Add(obj); } else if (obj.Image != null) { objectsWithImage.Add(obj); } else { objectsWithoutImage.Add(obj); } ((IGameObjectInternal)obj).Layer = this; }
private void ObjectAdded(IGameObject obj) { //#if !DISABLE_EFFECTS if (obj is ParticleSystem) { Effects.Add((ParticleSystem)obj); } else //#endif if (obj is CustomDrawable) { objectsWithDrawMethod.Add(obj); } else if (obj.Image != null) { objectsWithImage.Add(obj); } else { objectsWithoutImage.Add(obj); } ((IGameObjectInternal)obj).Layer = this; }
/// <summary> /// Täristää peliohjainta. /// </summary> /// <param name="leftMotor">Vasemmanpuoleisen moottorin tärinän määrä (maksimi 1).</param> /// <param name="rightMotor">Oikeanpuoleisen moottorin tärinän määrä (maksimi 1) .</param> /// <param name="leftAcceleration">Vasemmanpuoleisen moottorin tärinäkiihtyvyys (yksikköä sekunnissa).</param> /// <param name="rightAcceleration">Oikeanpuoleisen moottorin tärinäkiihtyvyys (yksikköä sekunnissa).</param> /// <param name="time">Aika, jonka tärinä kestää (sekunteina).</param> public void Vibrate(double leftMotor, double rightMotor, double leftAcceleration, double rightAcceleration, double time) { vibrations.Add(new Vibration(leftMotor, rightMotor, leftAcceleration, rightAcceleration, time)); }
/// <summary> /// Lisää liitoksen peliin. /// </summary> public void Add(IAxleJoint j) { Joints.Add(j); }
internal void Add(IGameObject o) { Objects.Add(o); }
private void AddControls() { _controls.Add(Game.TouchPanel.ListenOn(this, ButtonState.Pressed, StartDrag, null).InContext(this)); _controls.Add(Game.TouchPanel.Listen(ButtonState.Released, EndDrag, null).InContext(this)); }