/// <summary> /// Sets decorator life time period in a timer. /// </summary> /// <param name="baseProps"></param> public CarPropsDecorator(CarProps baseProps) : base(baseProps.owner) { this.baseProps = baseProps; base.owner = baseProps.owner; this.lifeTimer = new GameTimer(3f); this.lifeTimer.Elapsed += (sender, e) => RemoveDecorator(); EngineCore.AddGameObject(this); }
/// <summary> /// Ctor that set a basic car object settings properly. /// </summary> public Car() { spriteRenderer = (SpriteRenderer)AddComponent("SpriteRenderer"); rigidBody2D = (RigidBody2D)AddComponent("RigidBody2D"); // Set defaults for a default car. properties = new CarProps(this); this.fuelLevel = properties.MaxFuelLevel; // Set default wheelBase value and start car position. wheelBase = 80f; SetStartCarPosition(new Vector2(150f, 150f)); // Set default RigidBody parameters for a basic Car object. rigidBody2D.mass = 1200f; rigidBody2D.frictionConst = 750f; base.collider = new PolyCollider(this, new Vector2(110f, 45f)); base.collider.ColliderTriggered += FinishLine_ColliderTriggered; base.collider.ColliderTriggered += Prize_ColliderTriggered; // Difine finished laps array. this.laps = new bool[5 + 1]; }
/// <summary> /// Testing ctor. /// </summary> public CarPropsDecorator(CarProps baseProps, Car owner) { this.baseProps = baseProps; base.owner = owner; }