//顺序结算 public void useinput(inputpackage p) { //if (p.wasd) { } if (p.useCard_skill) { card_mini c = mini(p.user).minion;//可能是手牌也可能是场上的 if (c != null && cards.Contains(p.user)) { order o = new order(); o.usecard = mini(p.use_mini); o.whichTrigger = p.use_trigger; //------------------------------------ o.Target_pos = p.targetposs; o.Target_card = mini(p.target_mini); o.Target_trigger = trigger(p.target_trigger); o.action = p.action; bool r = c.get_Input_order(o); if (r == false) { print("tool false"); } } } }
//-------------------------------------------------------------|移动 //输入 public void inputUpdate() { while (Input_todo_L.Count != 0) { inputpackage p = Input_todo_L.Dequeue(); p.From.useinput(p); } //先处理玩家按键数据包 按先后顺序来//解析数据包 }
// Update is called once per frame void Update() { if (!m) { gameObject.SetActive(false); return; } m.freshWSDA(getkey.W, getkey.S, getkey.D, getkey.A); if (tosend == null) { tosend = new inputpackage(); } m.getinput(tosend); tosend = null; }
public void clickMap(Vector3 local_l) { if (lastselected != -1) { tosend = new inputpackage(); tosend.useCard_skill = true; //---------------------------------------------- tosend.user = m.hero.ID; tosend.use_mini = m.inhand[lastselected]; //----------------------------------------------- tosend.targetposs = new Vector3(local_l.x, 0, local_l.y) * realmap_L; tosend.action = cardM_Action.card_Become_mini; } }
public void addTodoInput(inputpackage p) { Input_todo_L.Enqueue(p); }
//从网络来的输入 先进入缓冲队列等候 public void getinput(inputpackage p) { p.From = this; host().addTodoInput(p); }