public QForm() { this.color = Color.White; this.moveModes = MoveModes.Whole; this.rectangle = new Rectangle(5, 5, 0x10, 0x10); this.captionHeight = 20; this.font = new Font("宋体", 10f); this.captionColor = Color.Black; this.point = new Point(); this.haloColor = Color.White; this.haloSize = 5; this.textShowModes = TextShowModes.Halo; this.drawIcon = true; this.opacity = 1.0; this.graphicsPath = new GraphicsPath(); this.animation = new Animation(); this.enableAnimation = true; this.animationTypes = AnimationTypes.FadeinFadeoutEffect; this.timer = new System.Windows.Forms.Timer(); base.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.DoubleBuffer | ControlStyles.AllPaintingInWmPaint | ControlStyles.SupportsTransparentBackColor | ControlStyles.UserPaint, true); if (base.DesignMode) { base.SetStyle(ControlStyles.ResizeRedraw, true); } base.UpdateStyles(); this.InitializeComponent(); }
/// <summary> /// 重载飞行方法 /// </summary> /// <param name="from"></param> /// <param name="to"></param> /// <param name="speed"></param> /// <param name="moveMode"></param> public override void Move(Point from, Point to, double speed, MoveModes moveMode) { Point p0 = Scene.GetWindowCoordinate(to); Point p1 = Scene.GetWindowCoordinate(from); double angle = Global.GetAngle(p0.Y - p1.Y, p0.X - p1.X); this.RenderTransform = new RotateTransform() { CenterX = 70, CenterY = 25, Angle = angle }; base.Move(from, to, speed, moveMode); }
public void Sync(GroupOverrides syncFrom) { MoveMode = syncFrom.MoveMode; MaxSize = syncFrom.MaxSize; MinSize = syncFrom.MinSize; Neutrals = syncFrom.Neutrals; Unowned = syncFrom.Unowned; Friendly = syncFrom.Friendly; Control = syncFrom.Control; FocusTargets = syncFrom.FocusTargets; FocusSubSystem = syncFrom.FocusSubSystem; SubSystem = syncFrom.SubSystem; Meteors = syncFrom.Meteors; Biologicals = syncFrom.Biologicals; Projectiles = syncFrom.Projectiles; }
public Vector2 GetForce(MoveModes mode) { switch (mode) { case MoveModes.Left: return(Vector2.left * MoveSpeed); case MoveModes.Right: return(Vector2.right * MoveSpeed); case MoveModes.Random: var toggler = (int)(Time.timeSinceLevelLoad * 3) % 2 == 0; return(new Vector2(toggler ? 1 : -1, 0) * MoveSpeed); } return(Vector2.zero); }
void ToggleMoveMode() { moveMode = (MoveModes)(int)Mathf.Repeat((float)moveMode + 1, 3); ShowModeMessage(); switch (moveMode) { case MoveModes.Normal: debugLr.material.SetColor("_EmissiveColor", Color.green); break; case MoveModes.Slow: debugLr.material.SetColor("_EmissiveColor", XKCDColors.Orange); break; case MoveModes.Ludicrous: debugLr.material.SetColor("_EmissiveColor", XKCDColors.PurpleishBlue); break; } }
public void Sync(GroupOverrides syncFrom) { MoveMode = syncFrom.MoveMode; MaxSize = syncFrom.MaxSize; MinSize = syncFrom.MinSize; Neutrals = syncFrom.Neutrals; Unowned = syncFrom.Unowned; Friendly = syncFrom.Friendly; Control = syncFrom.Control; FocusTargets = syncFrom.FocusTargets; FocusSubSystem = syncFrom.FocusSubSystem; SubSystem = syncFrom.SubSystem; Meteors = syncFrom.Meteors; Grids = syncFrom.Grids; Biologicals = syncFrom.Biologicals; Projectiles = syncFrom.Projectiles; Repel = syncFrom.Repel; CameraChannel = syncFrom.CameraChannel; Debug = syncFrom.Debug; LeadGroup = syncFrom.LeadGroup; }
void Update() { switch (MoveMode) { case MoveModes.ToBase: MoveMode = MoveToBase(); break; case MoveModes.ToPlayer: MoveMode = MoveToPlayer(); break; case MoveModes.Frozen: MoveMode = Frozen(); break; case MoveModes.Attack: MoveMode = Attack(); break; } CheckPlayerHit(); }
public override void Move(Point from, Point to, double speed, MoveModes moveMode) { switch (moveMode) { case MoveModes.InjureText: if (Scale == 1) { this.RenderTransform = new ScaleTransform() { CenterX = ContentWidth / 2, CenterY = ContentHeight / 2 }; } else { from = new Point(from.X, from.Y - 300); to = new Point(to.X, to.Y - 300); } Point tempTo = new Point(to.X, to.Y + (from.Y - to.Y) / 2 - RandomSeed.Next(-10, 30) * Scale); Duration duration = TimeSpan.FromMilliseconds(GlobalMethod.GetTwoPointDistance(from, tempTo) * speed / Scale); double scale = 0.9; Storyboard storyboard = new Storyboard(); storyboard.Children.Add(GlobalMethod.CreatePointAnimation(this, "Position", from, tempTo, duration, new PowerEase() { EasingMode = EasingMode.EaseOut })); storyboard.Children.Add(GlobalMethod.CreateDoubleAnimation(this, "(UIElement.RenderTransform).(ScaleTransform.ScaleX)", Scale * scale, duration, new PowerEase() { EasingMode = EasingMode.EaseOut })); storyboard.Children.Add(GlobalMethod.CreateDoubleAnimation(this, "(UIElement.RenderTransform).(ScaleTransform.ScaleY)", Scale * scale, duration, new PowerEase() { EasingMode = EasingMode.EaseOut })); EventHandler handler = null; storyboard.Completed += handler = (s, e) => { Storyboard sb = s as Storyboard; sb.Completed -= handler; scale = 0.6; sb = new Storyboard(); sb.Children.Add(GlobalMethod.CreatePointAnimation(this, "Position", new Point(tempTo.X, tempTo.Y + 15), duration, new PowerEase() { EasingMode = EasingMode.EaseIn })); sb.Children.Add(GlobalMethod.CreateDoubleAnimation(this, "(UIElement.RenderTransform).(ScaleTransform.ScaleX)", Scale * scale, duration, new PowerEase() { EasingMode = EasingMode.EaseIn })); sb.Children.Add(GlobalMethod.CreateDoubleAnimation(this, "(UIElement.RenderTransform).(ScaleTransform.ScaleY)", Scale * scale, duration, new PowerEase() { EasingMode = EasingMode.EaseIn })); sb.Completed += moveStoryboard_Completed; sb.Begin(); }; storyboard.Begin(); break; default: base.Move(from, to, speed, moveMode); break; } }
private void ToggleMoveMode() { _moveMode = (MoveModes)(int)Mathf.Repeat((float)_moveMode + 1, 4); ShowModeMessage(); switch (_moveMode) { case MoveModes.Normal: _debugLr.material.SetColor("_EmissiveColor", Color.green); break; case MoveModes.Slow: _debugLr.material.SetColor("_EmissiveColor", XKCDColors.Orange); break; case MoveModes.Fine: _debugLr.material.SetColor("_EmissiveColor", XKCDColors.BrightRed); break; case MoveModes.Ludicrous: _debugLr.material.SetColor("_EmissiveColor", XKCDColors.PurpleishBlue); break; } }
/// <summary> /// 从一点向另一点移动(完毕后释放) /// </summary> /// <param name="from">起点</param> /// <param name="to">终点</param> /// <param name="speed">速度系数</param> /// <param name="moveMode">模式</param> public virtual void Move(Point from, Point to, double speed, MoveModes moveMode) { Duration duration = TimeSpan.FromMilliseconds(GlobalMethod.GetTwoPointDistance(from, to) * speed); moveStoryboard.Children.Add(GlobalMethod.CreatePointAnimation(this, "Position", from, to, duration, null)); switch (moveMode) { case MoveModes.Normal: break; case MoveModes.Opacity: moveStoryboard.Children.Add(GlobalMethod.CreateDoubleAnimation(this, "Opacity", 1, 0, duration, null)); break; case MoveModes.Rotation: moveStoryboard.Children.Add(GlobalMethod.CreateDoubleAnimation(this, "(UIElement.RenderTransform).(TransformGroup.Children)[0].(SkewTransform.AngleX)", 0, 90, duration, null)); moveStoryboard.Children.Add(GlobalMethod.CreateDoubleAnimation(this, "(UIElement.RenderTransform).(TransformGroup.Children)[0].(SkewTransform.AngleY)", 0, 90, duration, null)); break; case MoveModes.Narrow: double narrow = RandomSeed.Next(5, 30) * 0.01; moveStoryboard.Children.Add(GlobalMethod.CreateDoubleAnimation(this, "(UIElement.RenderTransform).(ScaleTransform.ScaleX)", narrow, duration, null)); moveStoryboard.Children.Add(GlobalMethod.CreateDoubleAnimation(this, "(UIElement.RenderTransform).(ScaleTransform.ScaleY)", narrow, duration, null)); break; } moveStoryboard.Completed += new EventHandler(moveStoryboard_Completed); moveStoryboard.Begin(); }
public void SetRightMode(int mode) { RightMoveMode = (MoveModes)mode; }
public void SetLeftMode(int mode) { LeftMoveMode = (MoveModes)mode; }
/// <summary> /// 从一点向另一点移动 /// </summary> /// <param name="from">起点</param> /// <param name="to">终点</param> /// <param name="speed">速度系数</param> /// <param name="moveMode">模式</param> public virtual void Move(Point from, Point to, double speed, MoveModes moveMode) { Duration duration = new Duration(TimeSpan.FromMilliseconds(Global.GetTwoPointDistance(from, to) * speed)); Storyboard storyboard = new Storyboard(); PointAnimation pointAnimation = new PointAnimation() { From = from, To = to, Duration = duration, }; Storyboard.SetTarget(pointAnimation, this); Storyboard.SetTargetProperty(pointAnimation, new PropertyPath("Coordinate")); storyboard.Children.Add(pointAnimation); switch (moveMode) { case MoveModes.Normal: break; case MoveModes.Opacity: DoubleAnimation doubleAnimation = new DoubleAnimation() { From = 1, To = 0, Duration = duration, }; Storyboard.SetTarget(doubleAnimation, this); Storyboard.SetTargetProperty(doubleAnimation, new PropertyPath("Opacity")); storyboard.Children.Add(doubleAnimation); break; } EventHandler handler = null; storyboard.Completed += handler = (s, e) => { storyboard.Completed -= handler; storyboard.Stop(); storyboard = null; Dispose(); if (MoveCompleted != null) { MoveCompleted(this, e); } }; storyboard.Begin(); }
public void StartMove(Vessel v, bool _spawningLocal, float _altitude, bool _placingGate, bool _external, Vector3d _targetPos) { if (!_external) { _lineRender.enabled = true; } OrXLog.instance.SetFocusKeys(); targetPosition = _targetPos; _externalControl = _external; MovingVessel = new Vessel(); placingGate = _placingGate; _alt = _altitude; spawningLocal = _spawningLocal; _moveMode = MoveModes.Normal; MovingVessel = v; IsMovingVessel = true; _distance = OrXUtilities.instance.GetDistance(MovingVessel.longitude, MovingVessel.latitude, _targetPos.y, _targetPos.x, (MovingVessel.altitude + _targetPos.z) / 2);// CheckDistance(null, targetPosition); if (MovingVessel == OrXHoloKron.instance._HoloKron) { MoveHeight = 10; } else { MoveHeight = 10 + _alt; } mPerDegree = (((2 * (FlightGlobals.ActiveVessel.mainBody.Radius + FlightGlobals.ActiveVessel.altitude)) * Math.PI) / 360); degPerMeter = 1 / mPerDegree; UpVect = (v.transform.position - v.mainBody.transform.position).normalized; _startRotation = MovingVessel.transform.rotation; _currRotation = _startRotation; _rb = MovingVessel.GetComponent<Rigidbody>(); _rb.isKinematic = true; _moving = true; if (_placingGate) { OrXHoloKron.instance.spawningStartGate = true; OrXHoloKron.instance.movingCraft = true; OrXHoloKron.instance._spawningVessel = false; OrXHoloKron.instance.getNextCoord = true; OrXHoloKron.instance.OrXHCGUIEnabled = true; } else { if (_external) { OrXHoloKron.instance.Reach(); } else { OrXHoloKron.instance._spawningVessel = true; OrXHoloKron.instance.getNextCoord = true; OrXHoloKron.instance.OrXHCGUIEnabled = true; } } if (MovingVessel != FlightGlobals.ActiveVessel) { Debug.Log("[OrX Vessel Move] ===== SETTING ACTIVE VESSEL ====="); FlightGlobals.ForceSetActiveVessel(MovingVessel); } }
void Freeze() { unfreezTime = Time.time + 1.2f; PrevMoveMode = MoveMode; MoveMode = MoveModes.Frozen; }
void ToggleMoveMode() { moveMode = (MoveModes)(int)Mathf.Repeat((float)moveMode+1, 3); ShowModeMessage(); switch(moveMode) { case MoveModes.Normal: debugLr.material.SetColor("_EmissiveColor", Color.green); break; case MoveModes.Slow: debugLr.material.SetColor("_EmissiveColor", XKCDColors.Orange); break; case MoveModes.Ludicrous: debugLr.material.SetColor("_EmissiveColor", XKCDColors.PurpleishBlue); break; } }
public override void Move(Point from, Point to, double speed, MoveModes moveMode) { Angle = GlobalMethod.GetAngle(to.Y - from.Y, to.X - from.X); base.Move(from, to, speed, moveMode); }
/// <summary> /// Update move type /// </summary> /// <param name="moveType">new move type</param> public void UpdateMoveType(byte moveType) { this.predictionTime = DateTime.Now; /* * NV: Would be nice to have all other possible values filled out for this at some point... *Looks at Suiv* * More specifically, 10, 13 and 22 - 10 and 13 seem to be tied to spinning with mouse. 22 seems random (ping mabe?) * Also TODO: Tie this with CurrentMovementMode stat and persistance (ie, log off walking, log back on and still walking) * Values of CurrentMovementMode and their effects: 0: slow moving feet not animating 1: rooted cant sit 2: walk 3: run 4: swim 5: crawl 6: sneak 7: flying 8: sitting 9: rooted can sit 10: same as 0 11: sleeping 12: lounging 13: same as 0 14: same as 0 15: same as 0 16: same as 0 */ switch (moveType) { case 1: // Forward Start this.moveDirection = MoveDirections.Forwards; break; case 2: // Forward Stop this.moveDirection = MoveDirections.None; break; case 3: // Reverse Start this.moveDirection = MoveDirections.Backwards; break; case 4: // Reverse Stop this.moveDirection = MoveDirections.None; break; case 5: // Strafe Right Start this.strafeDirection = SpinOrStrafeDirections.Right; break; case 6: // Strafe Stop (Right) this.strafeDirection = SpinOrStrafeDirections.None; break; case 7: // Strafe Left Start this.strafeDirection = SpinOrStrafeDirections.Left; break; case 8: // Strafe Stop (Left) this.strafeDirection = SpinOrStrafeDirections.None; break; case 9: // Turn Right Start this.spinDirection = SpinOrStrafeDirections.Right; break; case 10: // Mouse Turn Right Start break; case 11: // Turn Stop (Right) this.spinDirection = SpinOrStrafeDirections.None; break; case 12: // Turn Left Start this.spinDirection = SpinOrStrafeDirections.Left; break; case 13: // Mouse Turn Left Start break; case 14: // Turn Stop (Left) this.spinDirection = SpinOrStrafeDirections.None; break; case 15: // Jump Start // NV: TODO: This! break; case 16: // Jump Stop break; case 17: // Elevate Up Start break; case 18: // Elevate Up Stop break; case 19: // ? 19 = 20 = 22 = 31 = 32 break; case 20: // ? 19 = 20 = 22 = 31 = 32 break; case 21: // Full Stop break; case 22: // ? 19 = 20 = 22 = 31 = 32 break; case 23: // Switch To Frozen Mode break; case 24: // Switch To Walk Mode this.moveMode = MoveModes.Walk; break; case 25: // Switch To Run Mode this.moveMode = MoveModes.Run; break; case 26: // Switch To Swim Mode break; case 27: // Switch To Crawl Mode this.previousMoveMode = this.moveMode; this.moveMode = MoveModes.Crawl; break; case 28: // Switch To Sneak Mode this.previousMoveMode = this.moveMode; this.moveMode = MoveModes.Sneak; break; case 29: // Switch To Fly Mode break; case 30: // Switch To Sit Ground Mode this.previousMoveMode = this.moveMode; this.moveMode = MoveModes.Sit; this.stats.NanoDelta.CalcTrickle(); this.stats.HealDelta.CalcTrickle(); this.stats.NanoInterval.CalcTrickle(); this.stats.HealInterval.CalcTrickle(); break; case 31: // ? 19 = 20 = 22 = 31 = 32 break; case 32: // ? 19 = 20 = 22 = 31 = 32 break; case 33: // Switch To Sleep Mode this.moveMode = MoveModes.Sleep; break; case 34: // Switch To Lounge Mode this.moveMode = MoveModes.Lounge; break; case 35: // Leave Swim Mode break; case 36: // Leave Sneak Mode this.moveMode = this.previousMoveMode; break; case 37: // Leave Sit Mode this.moveMode = this.previousMoveMode; this.stats.NanoDelta.CalcTrickle(); this.stats.HealDelta.CalcTrickle(); this.stats.NanoInterval.CalcTrickle(); this.stats.HealInterval.CalcTrickle(); break; case 38: // Leave Frozen Mode break; case 39: // Leave Fly Mode break; case 40: // Leave Crawl Mode this.moveMode = this.previousMoveMode; break; case 41: // Leave Sleep Mode break; case 42: // Leave Lounge Mode break; default: //Console.WriteLine("Unknown MoveType: " + moveType); break; } //Console.WriteLine((moveDirection != 0 ? moveMode.ToString() : "Stand") + "ing in the direction " + moveDirection.ToString() + (spinDirection != 0 ? " while spinning " + spinDirection.ToString() : "") + (strafeDirection != 0 ? " and strafing " + strafeDirection.ToString() : "")); }
/// <summary> /// Update move type /// </summary> /// <param name="moveType"> /// new move type /// </param> public void UpdateMoveType(byte moveType) { this.predictionTime = DateTime.UtcNow; /* * NV: Would be nice to have all other possible values filled out for this at some point... *Looks at Suiv* * More specifically, 10, 13 and 22 - 10 and 13 seem to be tied to spinning with mouse. 22 seems random (ping mabe?) * Also TODO: Tie this with CurrentMovementMode stat and persistance (ie, log off walking, log back on and still walking) * Values of CurrentMovementMode and their effects: * 0: slow moving feet not animating * 1: rooted cant sit * 2: walk * 3: run * 4: swim * 5: crawl * 6: sneak * 7: flying * 8: sitting * 9: rooted can sit * 10: same as 0 * 11: sleeping * 12: lounging * 13: same as 0 * 14: same as 0 * 15: same as 0 * 16: same as 0 */ switch (moveType) { case 1: // Forward Start this.moveDirection = MoveDirections.Forwards; break; case 2: // Forward Stop this.moveDirection = MoveDirections.None; break; case 3: // Reverse Start this.moveDirection = MoveDirections.Backwards; break; case 4: // Reverse Stop this.moveDirection = MoveDirections.None; break; case 5: // Strafe Right Start this.strafeDirection = SpinOrStrafeDirections.Right; break; case 6: // Strafe Stop (Right) this.strafeDirection = SpinOrStrafeDirections.None; break; case 7: // Strafe Left Start this.strafeDirection = SpinOrStrafeDirections.Left; break; case 8: // Strafe Stop (Left) this.strafeDirection = SpinOrStrafeDirections.None; break; case 9: // Turn Right Start this.spinDirection = SpinOrStrafeDirections.Right; break; case 10: // Mouse Turn Right Start break; case 11: // Turn Stop (Right) this.spinDirection = SpinOrStrafeDirections.None; break; case 12: // Turn Left Start this.spinDirection = SpinOrStrafeDirections.Left; break; case 13: // Mouse Turn Left Start break; case 14: // Turn Stop (Left) this.spinDirection = SpinOrStrafeDirections.None; break; case 15: // Jump Start // NV: TODO: This! break; case 16: // Jump Stop break; case 17: // Elevate Up Start break; case 18: // Elevate Up Stop break; case 19: // ? 19 = 20 = 22 = 31 = 32 break; case 20: // ? 19 = 20 = 22 = 31 = 32 break; case 21: // Full Stop break; case 22: // ? 19 = 20 = 22 = 31 = 32 break; case 23: // Switch To Frozen Mode break; case 24: // Switch To Walk Mode this.moveMode = MoveModes.Walk; break; case 25: // Switch To Run Mode this.moveMode = MoveModes.Run; break; case 26: // Switch To Swim Mode break; case 27: // Switch To Crawl Mode this.previousMoveMode = this.moveMode; this.moveMode = MoveModes.Crawl; break; case 28: // Switch To Sneak Mode this.previousMoveMode = this.moveMode; this.moveMode = MoveModes.Sneak; break; case 29: // Switch To Fly Mode break; case 30: // Switch To Sit Ground Mode this.previousMoveMode = this.moveMode; this.moveMode = MoveModes.Sit; this.stats.NanoDelta.CalcTrickle(); this.stats.HealDelta.CalcTrickle(); this.stats.NanoInterval.CalcTrickle(); this.stats.HealInterval.CalcTrickle(); break; case 31: // ? 19 = 20 = 22 = 31 = 32 break; case 32: // ? 19 = 20 = 22 = 31 = 32 break; case 33: // Switch To Sleep Mode this.moveMode = MoveModes.Sleep; break; case 34: // Switch To Lounge Mode this.moveMode = MoveModes.Lounge; break; case 35: // Leave Swim Mode break; case 36: // Leave Sneak Mode this.moveMode = this.previousMoveMode; break; case 37: // Leave Sit Mode this.moveMode = this.previousMoveMode; this.stats.NanoDelta.CalcTrickle(); this.stats.HealDelta.CalcTrickle(); this.stats.NanoInterval.CalcTrickle(); this.stats.HealInterval.CalcTrickle(); break; case 38: // Leave Frozen Mode break; case 39: // Leave Fly Mode break; case 40: // Leave Crawl Mode this.moveMode = this.previousMoveMode; break; case 41: // Leave Sleep Mode break; case 42: // Leave Lounge Mode break; default: // Console.WriteLine("Unknown MoveType: " + moveType); break; } // Console.WriteLine((moveDirection != 0 ? moveMode.ToString() : "Stand") + "ing in the direction " + moveDirection.ToString() + (spinDirection != 0 ? " while spinning " + spinDirection.ToString() : "") + (strafeDirection != 0 ? " and strafing " + strafeDirection.ToString() : "")); }
public void GivePath(List<MovableObjectController.MovableObjectPosition> positions, float speed, bool interruptable, MoveModes moveMode, LoopModes loopMode) { if (State == MoveableObjectStates.MOVING && !mInterruptable) { return; } mPositionQueue.Clear(); mPositionQueue = positions; mMoveSpeed = speed; mMoveMode = moveMode; mLoopMode = loopMode; mMoveDirection = ((mOriginalPosition + mPositionQueue[0].Position) - transform.position); mOriginalMagnitude = mMoveDirection.magnitude; mMoveDirection = mMoveDirection.normalized; mCurrentMoveTime = 0f; mInterruptable = interruptable; mPreviousPosition = mCurrentPosition; mCurrentPosition = -1; mTargetPosition = 0; State = MoveableObjectStates.MOVING; }