public IEnumerator DelPileCharacter(GameObject obj) { MTuple <GameObject, MyCharacter> tof = PanelList.Find(x => x.a == obj); if (tof.b.me.classe == Character.Classe.Sport) { PlayerCntl.airControl = false; } tof.a.GetComponent <CharacterPanelDelete>().StartTimer(tof.b.me.exitLine); yield return(new WaitForSeconds(1)); PlayerCntl.score -= tof.b.me.weight / Character.WeightMultiplicator; PanelList.Remove(tof); tof.a.SetActive(false); tof.b.gameObject.transform.parent = null; Rigidbody2D rb = tof.b.GetComponent <Rigidbody2D>(); rb.bodyType = RigidbodyType2D.Dynamic; rb.AddForce(new Vector2(-15f, 8f), ForceMode2D.Impulse); rb.AddTorque(20f, ForceMode2D.Impulse); for (int i = 0; i < PanelList.Count; ++i) { PanelList[i].b.transform.position = PlayerCntlObj.transform.position + new Vector3(0f, .8f) * (1 + i); PanelList[i].a.transform.position = new Vector3(i * 100 + 30, PanelList[i].a.transform.position.y); PanelList[i].b.GetComponent <SpriteRenderer>().sortingOrder = 999 - i; } PlayerCntl.speed += tof.b.me.weight; }
/// <summary> /// Creates the pin device and start listening. This is useful when the device also manages pins /// </summary> /// <returns>The pin device and start listening.</returns> /// <param name="pinDevice">Pin device.</param> /// <param name="channel">Channel.</param> public MTuple <PinDevice, IMatchMonitor> CreatePinDeviceAndStartListening(PinDevice pinDevice, MatchChannel channel) { var createdDevice = CreatePinDevice(pinDevice); var monitor = SubscribeMatches(channel, createdDevice); return(MTuple.New(createdDevice, monitor)); }
private Multiset readMultiset(XPathNavigator parentNode, bool ignoreNullValues, Multiset x = null) { if (parentNode == null) { return(x); } if (x == null) { x = new Multiset(); } XPathNodeIterator mss = parentNode.SelectChildren("ms", String.Empty); while (mss.MoveNext()) { MTuple t = readTuple(mss.Current); if (t != null) { x.Add(t.Obj, t.Multiplicity, ignoreNullValues); } } return(x); }
private void WriteTuple(MTuple t) { owt.Write(t.Multiplicity + t.Obj); }