public void PropertyChanged() { GameObject.CreateProperty <float>("X", "Layout", "blah", 1); var a = new GameObject(); var p = a.Properties.Get <float>("X"); _wasCalled = false; float oldValue = 1; float newValue = 11; p.Changed += OnPropertyChanged; p.Changed += (s, e) => Assert.AreEqual(a, s); p.Changed += (s, e) => Assert.AreEqual(p, e.Property); p.Changed += (s, e) => Assert.AreEqual(oldValue, e.OldValue); p.Changed += (s, e) => Assert.AreEqual(newValue, e.NewValue); p.Changed += (s, e) => Assert.AreEqual(newValue, e.CoercedValue); a.SetValue("X", 11f); Assert.IsTrue(_wasCalled); // Setting an equal value does not trigger event. _wasCalled = false; oldValue = 11; a.SetValue("X", 11f); Assert.IsFalse(_wasCalled); // Test de-registration of event handler. _wasCalled = false; p.Changed -= OnPropertyChanged; newValue = 5; p.Value = 5; Assert.IsFalse(_wasCalled); }
public void AddToTemplate(IUIRenderer renderer, string style, GameObject template) { // Add this property to the game object. The value is set to: // - the value of the Renderer/Theme, or // - the overridden default value, or // - no value (= the global default value of the GamePropertyMetadata). T value; if (renderer.GetAttribute(style, Name, out value)) { // Set value from renderer/theme. template.SetValue(Name, value); } else if (OverridesDefaultValue) { // Set overridden default value. template.SetValue(Name, DefaultValue); } else { // Use default value. (Add property without local value.) template.Properties.Add <T>(Name); } }
public void Template() { GameObject.CreateProperty <float>("X", "Layout", "blah", 0); GameObject.CreateProperty <float>("Y", "Layout", "blah", 0); GameObject.CreateProperty <float>("Z", "Layout", "blah", 0); GameObject.CreateProperty <float>("W", "Layout", "blah", 0); var t = new GameObject(); t.SetValue("X", 10.0f); t.SetValue("Y", 20.0f); t.SetValue("Z", 30.0f); var a = new GameObject(); Assert.AreEqual(0, a.GetValue <float>("X")); a.Template = t; Assert.AreEqual(10, a.GetValue <float>("X")); Assert.AreEqual(20, a.GetValue <float>("Y")); Assert.AreEqual(30, a.GetValue <float>("Z")); Assert.IsFalse(a.Properties.Get <float>("X").HasLocalValue); Assert.IsFalse(a.Properties.Get <float>("Y").HasLocalValue); Assert.IsFalse(a.Properties.Get <float>("Z").HasLocalValue); a.SetValue("Y", 999.0f); Assert.AreEqual(10, a.GetValue <float>("X")); Assert.AreEqual(999, a.GetValue <float>("Y")); Assert.AreEqual(30, a.GetValue <float>("Z")); Assert.IsFalse(a.Properties.Get <float>("X").HasLocalValue); Assert.IsTrue(a.Properties.Get <float>("Y").HasLocalValue); Assert.IsFalse(a.Properties.Get <float>("Z").HasLocalValue); a.Properties.Get <float>("Y").Reset(); Assert.AreEqual(10, a.GetValue <float>("X")); Assert.AreEqual(20, a.GetValue <float>("Y")); Assert.AreEqual(30, a.GetValue <float>("Z")); Assert.IsFalse(a.Properties.Get <float>("X").HasLocalValue); Assert.IsFalse(a.Properties.Get <float>("Y").HasLocalValue); Assert.IsFalse(a.Properties.Get <float>("Z").HasLocalValue); // Enumerate properties. Assert.AreEqual(3, ((IEnumerable)a.Properties).Cast <IGameProperty>().Count()); _wasCalled = false; a.TemplateChanged += (s, e) => _wasCalled = true; a.Template = t; Assert.IsFalse(_wasCalled); a.Template = null; Assert.IsTrue(_wasCalled); }
public void PropertyChanging() { GameObject.CreateProperty <float>("X", "Layout", "blah", 1); var a = new GameObject(); var p = a.Properties.Get <float>("X"); _wasCalled = false; float oldValue = 1; float newValue = 11; p.Changing += OnPropertyChanged; p.Changing += (s, e) => e.CoercedValue = 10; p.Changing += (s, e) => Assert.AreEqual(a, s); p.Changing += (s, e) => Assert.AreEqual(p, e.Property); p.Changing += (s, e) => Assert.AreEqual(oldValue, e.OldValue); p.Changing += (s, e) => Assert.AreEqual(newValue, e.NewValue); p.Changing += (s, e) => Assert.LessOrEqual(e.CoercedValue, 10); a.SetValue("X", 11f); Assert.IsTrue(_wasCalled); Assert.AreEqual(10, p.Value); // Test de-registration of event handler. _wasCalled = false; p.Changing -= OnPropertyChanged; oldValue = 10; newValue = 5; p.Value = 5; Assert.IsFalse(_wasCalled); }
private GameObject[] InstantiateAllCars() { int carsLength = carPrefabs.Length; var result = new GameObject[carsLength * 2]; for (int i = 0; i < carPrefabs.Length; i++) { //Account for object duplication var resultIndex = i * 2; var g = Instantiate(carPrefabs[i]); var g1 = Instantiate(carPrefabs[i]); g.SetActive(false); g1.SetActive(false); result.SetValue(g, resultIndex); result.SetValue(g1, resultIndex + 1); } return(result); }
public GameObject[] ShiftLeft(GameObject newTopLeft, GameObject newMidLeft, GameObject newLowLeft) { GameObject[] moveOut = new GameObject[3]; moveOut.SetValue(topRight, 0); moveOut.SetValue(midRight, 1); moveOut.SetValue(lowRight, 2); topRight = topCenter; midRight = midCenter; lowRight = lowCenter; topCenter = topLeft; midCenter = midLeft; lowCenter = lowLeft; topLeft = newTopLeft; midLeft = newMidLeft; lowLeft = newLowLeft; return(moveOut); }
public void NotifyPropertyChanged() { GameObject.CreateProperty <float>("X", "Layout", "blah", 0); var a = new GameObject(); ((INotifyPropertyChanged)a).PropertyChanged += OnPropertyChanged; ((INotifyPropertyChanged)a).PropertyChanged += (s, e) => Assert.AreEqual(a, s); ((INotifyPropertyChanged)a).PropertyChanged += (s, e) => Assert.AreEqual("X", e.PropertyName); a.SetValue("X", 11f); Assert.IsTrue(_wasCalled); // Test de-registering event handler _wasCalled = false; ((INotifyPropertyChanged)a).PropertyChanged -= OnPropertyChanged; a.SetValue("X", 12f); Assert.IsFalse(_wasCalled); }
private GameObject[] CreateTrianglesFor(Rotation[] rotations) { var triangles = new GameObject[rotations.Length]; int index = 0; foreach (Rotation rotation in rotations) { var pos = new Vector3(0, 0, 1); var rot = Quaternion.Euler(0, 0f, (float)rotation); var triangle = CreateTriangle(pos, rot); triangles.SetValue(triangle, index); index++; } return(triangles); }
private void SpawnHolePieceMenu() { GameObject holePieceObject = Instantiate(PieceWithHoles, transform.position, transform.rotation); GameObject[] coverColliders = new GameObject[numberOfHoles]; GameObject[] covers = new GameObject[numberOfHoles]; for (int i = 0; i < numberOfHoles; i++) { int coverIndex = 7 + i; coverColliders.SetValue(holePieceObject.transform.GetChild(i).gameObject, i); covers.SetValue(holePieceObject.transform.GetChild(coverIndex).gameObject, i); } int skipDeleting = UnityEngine.Random.Range(1, 7); int skipDeleting2 = skipDeleting - 1; for (int i = 0; i < numberOfHoles; i++) { HoleColliderScript currentCollider = coverColliders[i].GetComponent <HoleColliderScript>(); currentCollider.GameControllerObject = GameController; if (i != skipDeleting && i != skipDeleting2) { Destroy(covers[i].gameObject); currentCollider.connectedCollider = coverColliders[skipDeleting]; } else { currentCollider.noHole = true; if (i == skipDeleting2) { HoleColliderScript colliderToConnect = coverColliders[skipDeleting].GetComponent <HoleColliderScript>(); colliderToConnect.connectedCollider = coverColliders[i].gameObject; colliderToConnect.connected = true; } } } }
private CharacterConteiner ManageBattle() { List <GameObject> turnList = new List <GameObject>(); GameObject[] playerTeam; GameObject[] enemyTeam; GameObject[] aux; int initiativeRoll; aux = GameObject.FindGameObjectsWithTag("Character"); playerTeam = GameObject.FindGameObjectsWithTag("Player"); enemyTeam = GameObject.FindGameObjectsWithTag("Enemy"); GameObject[] characters = new GameObject[aux.Length]; for (int i = 0; i < aux.Length; i++) { GameObject objectMain = aux[i].transform.parent.gameObject; characters.SetValue(objectMain, i); } foreach (var character in characters) { initiativeRoll = Random.Range(0, 3); character.GetComponent <CharacterDisplay>().character.charCurrentSpeed += initiativeRoll; turnList.Add(character); } turnList = turnList.OrderByDescending(x => x.GetComponent <CharacterDisplay>().character.charCurrentSpeed).ToList(); foreach (var action in turnList) { if (action.GetComponent <CharacterDisplay>().CompareTag("Player") && !action.GetComponent <CharacterDisplay>().character.alreadyAttacked) { player = action.GetComponent <CharacterDisplay>().character; player.active = true; print("Seclected: " + player.charClass + " Count: " + count + " Turn List: " + turnList.Count); return(player); } if (action.GetComponent <CharacterDisplay>().CompareTag("Enemy") && !action.GetComponent <CharacterDisplay>().character.alreadyAttacked) { enemy = action.GetComponent <CharacterDisplay>().character; EnemyAction(enemy); } } if (count == turnList.Count) { count = 0; turn++; for (int i = 0; i < playerTeam.Length; i++) { playerTeam[i].GetComponent <CharacterDisplay>().character.alreadyAttacked = false; } for (int i = 0; i < enemyTeam.Length; i++) { enemyTeam[i].GetComponent <CharacterDisplay>().character.alreadyAttacked = false; } ManageBattle(); } return(player); }
public void Template() { GameObject.CreateProperty<float>("X", "Layout", "blah", 0); GameObject.CreateProperty<float>("Y", "Layout", "blah", 0); GameObject.CreateProperty<float>("Z", "Layout", "blah", 0); GameObject.CreateProperty<float>("W", "Layout", "blah", 0); var t = new GameObject(); t.SetValue("X", 10.0f); t.SetValue("Y", 20.0f); t.SetValue("Z", 30.0f); var a = new GameObject(); Assert.AreEqual(0, a.GetValue<float>("X")); a.Template = t; Assert.AreEqual(10, a.GetValue<float>("X")); Assert.AreEqual(20, a.GetValue<float>("Y")); Assert.AreEqual(30, a.GetValue<float>("Z")); Assert.IsFalse(a.Properties.Get<float>("X").HasLocalValue); Assert.IsFalse(a.Properties.Get<float>("Y").HasLocalValue); Assert.IsFalse(a.Properties.Get<float>("Z").HasLocalValue); a.SetValue("Y", 999.0f); Assert.AreEqual(10, a.GetValue<float>("X")); Assert.AreEqual(999, a.GetValue<float>("Y")); Assert.AreEqual(30, a.GetValue<float>("Z")); Assert.IsFalse(a.Properties.Get<float>("X").HasLocalValue); Assert.IsTrue(a.Properties.Get<float>("Y").HasLocalValue); Assert.IsFalse(a.Properties.Get<float>("Z").HasLocalValue); a.Properties.Get<float>("Y").Reset(); Assert.AreEqual(10, a.GetValue<float>("X")); Assert.AreEqual(20, a.GetValue<float>("Y")); Assert.AreEqual(30, a.GetValue<float>("Z")); Assert.IsFalse(a.Properties.Get<float>("X").HasLocalValue); Assert.IsFalse(a.Properties.Get<float>("Y").HasLocalValue); Assert.IsFalse(a.Properties.Get<float>("Z").HasLocalValue); // Enumerate properties. Assert.AreEqual(3, ((IEnumerable)a.Properties).Cast<IGameProperty>().Count()); _wasCalled = false; a.TemplateChanged += (s, e) => _wasCalled = true; a.Template = t; Assert.IsFalse(_wasCalled); a.Template = null; Assert.IsTrue(_wasCalled); }
public void PropertyChanging() { GameObject.CreateProperty<float>("X", "Layout", "blah", 1); var a = new GameObject(); var p = a.Properties.Get<float>("X"); _wasCalled = false; float oldValue = 1; float newValue = 11; p.Changing += OnPropertyChanged; p.Changing += (s, e) => e.CoercedValue = 10; p.Changing += (s, e) => Assert.AreEqual(a, s); p.Changing += (s, e) => Assert.AreEqual(p, e.Property); p.Changing += (s, e) => Assert.AreEqual(oldValue, e.OldValue); p.Changing += (s, e) => Assert.AreEqual(newValue, e.NewValue); p.Changing += (s, e) => Assert.LessOrEqual(e.CoercedValue, 10); a.SetValue("X", 11f); Assert.IsTrue(_wasCalled); Assert.AreEqual(10, p.Value); // Test de-registration of event handler. _wasCalled = false; p.Changing -= OnPropertyChanged; oldValue = 10; newValue = 5; p.Value = 5; Assert.IsFalse(_wasCalled); }
public void PropertyChanged() { GameObject.CreateProperty<float>("X", "Layout", "blah", 1); var a = new GameObject(); var p = a.Properties.Get<float>("X"); _wasCalled = false; float oldValue = 1; float newValue = 11; p.Changed += OnPropertyChanged; p.Changed += (s, e) => Assert.AreEqual(a, s); p.Changed += (s, e) => Assert.AreEqual(p, e.Property); p.Changed += (s, e) => Assert.AreEqual(oldValue, e.OldValue); p.Changed += (s, e) => Assert.AreEqual(newValue, e.NewValue); p.Changed += (s, e) => Assert.AreEqual(newValue, e.CoercedValue); a.SetValue("X", 11f); Assert.IsTrue(_wasCalled); // Setting an equal value does not trigger event. _wasCalled = false; oldValue = 11; a.SetValue("X", 11f); Assert.IsFalse(_wasCalled); // Test de-registration of event handler. _wasCalled = false; p.Changed -= OnPropertyChanged; newValue = 5; p.Value = 5; Assert.IsFalse(_wasCalled); }
public void NotifyPropertyChanged() { GameObject.CreateProperty<float>("X", "Layout", "blah", 0); var a = new GameObject(); ((INotifyPropertyChanged)a).PropertyChanged += OnPropertyChanged; ((INotifyPropertyChanged)a).PropertyChanged += (s, e) => Assert.AreEqual(a, s); ((INotifyPropertyChanged)a).PropertyChanged += (s, e) => Assert.AreEqual("X", e.PropertyName); a.SetValue("X", 11f); Assert.IsTrue(_wasCalled); // Test de-registering event handler _wasCalled = false; ((INotifyPropertyChanged)a).PropertyChanged -= OnPropertyChanged; a.SetValue("X", 12f); Assert.IsFalse(_wasCalled); }