protected FormRow(string labelText, ControlOrder controlOrder = ControlOrder.LabelFirst) : base() { this.AutoSize = true; this.Label = new Label { Text = labelText, Font = mainFont, Anchor = AnchorStyles.Left, TextAlign = ContentAlignment.MiddleLeft, AutoSize = true, }; this.Field = this.CreateField(); this.Field.Font = mainFont; this.Field.Anchor = AnchorStyles.Right; this.Field.AutoSize = true; var controls = new Control[] { this.Label, this.Field }; foreach (var control in (controlOrder == ControlOrder.LabelFirst ? controls : controls.Reverse().ToArray())) { this.Controls.Add(control); } }
protected virtual void RunOrder(string InnerText) { if (InnerText == "0") { mode = ControlOrder.Row; } else if (InnerText == "1") { mode = ControlOrder.Column; } else { mode = mode == ControlOrder.Row ? ControlOrder.Column : ControlOrder.Row; } }
public void ControlAndSendToServer() { if (PlayerList.Count <= 0) { return; } var ctrl = Controller.GetControl(); if (ctrl != ControlOrder.None) { if (ctrl != ControlOrder.Idle) { sendIdle = true; } if (ctrl != ControlOrder.Kick) { PlayerList[myName].Action(ctrl, PlayerList[myName].transform.position.x, PlayerList[myName].transform.position.y, false, false, Parameters.MoveSpeed); } if (ctrl == ControlOrder.Kick || sendIdle || myPos.x != PlayerList[myName].transform.position.x) { if (sendIdle && ctrl == ControlOrder.Idle) { sendIdle = false; } var actMessage = new PlayerActionMessage(); var act = new PlayerAction(); act.Name = myName; act.Control = ctrl; act.X = PlayerList[myName].transform.position.x; act.Y = PlayerList[myName].transform.position.y; act.Turn = PlayerList[myName].TurnFlag; act.Vx = Parameters.Vx * (act.Turn ? -1 : 1); actMessage.Data = act; if (Time.time > sendTime || (ctrl != ControlOrder.moveLeft && ctrl != ControlOrder.moveRight) || nowOrder != ctrl) { Send(Message.Act, actMessage); sendTime = Time.time + Time.deltaTime * Parameters.SendDistance; perTime = (sendTime - Time.time) / Parameters.SendDistance; } myPos = PlayerList[myName].transform.position; } nowOrder = ctrl; } }
public void Action(ControlOrder control, float x, float y, bool turn, bool fromServer, float vx) { switch (control) { case ControlOrder.moveLeft: //Debug.Log("move left"); if (myGameObject.transform.eulerAngles != new Vector3(0, -180, 0)) { Turn("left"); } if (fromServer) { Move(x, y, vx); } else { Move(-Parameters.MoveSpeed + myGameObject.transform.position.x, myGameObject.transform.position.y); } break; case ControlOrder.moveRight: //Debug.Log("move right"); if (myGameObject.transform.eulerAngles != new Vector3(0, 0, 0)) { Turn("right"); } if (fromServer) { Move(x, y, vx); } else { Move(Parameters.MoveSpeed + myGameObject.transform.position.x, myGameObject.transform.position.y); } break; case ControlOrder.Jump: if (!fromServer && (Parameters.CanJump > Time.time || Animator.GetBool("Jump"))) { break; } else if (Animator.GetBool("Jump")) { break; } Jump(); break; case ControlOrder.Kick: if (fromServer && CRisRunning) { MainGame.StopCoroutine(updatePositionCoroutine); } Kick(); break; case ControlOrder.Idle: //if(fromServer) Debug.Log("Idle turn is " + turn); if (fromServer && CRisRunning) { MainGame.StopCoroutine(updatePositionCoroutine); } if (fromServer) { Idle(x, y, turn); } else { Idle(x, y, TurnFlag); } break; case ControlOrder.Skill: Skill(); break; } }