public void TestCreateFirstDeity() { var factory = DeityFactory.GetInstance(Path + "test2"); factory.CreateDeity("Thor"); Assert.AreEqual(new Deity(1, "Thor", 0), factory.CurrentDeity); }
public void UpdateButtons(DeityFactory factory, Action activateDetailsView, Action deactivateDetailsView) { void SelectDeityOnClick(int identifier) { if (factory.CurrentDeity != null && factory.CurrentDeity.identifier == identifier) { deactivateDetailsView(); factory.CurrentDeity = null; } else { factory.CurrentDeity = factory.GetDeity(identifier); activateDetailsView(); } } if (_buttons == null) { _buttons = new List <DeitySelectButtonControl>(); } foreach (var button in _buttons) { factory.OnCurrentDeityChange -= button.ChangeCurrentDeity; Destroy(button.gameObject); } _buttons.Clear(); var count = 1; var collection = factory.GetDeities().OrderBy(deity => deity.identifier); foreach (var deity in collection) { var deityButton = Instantiate(deityButtonPrefab, content.transform); var control = deityButton.GetComponent <DeitySelectButtonControl>(); control.UpdateText(deity); control.button.onClick.AddListener(delegate { SelectDeityOnClick(deity.identifier); }); factory.OnCurrentDeityChange += control.ChangeCurrentDeity; control.ChangeCurrentDeity(null, new DeityEventArgs(factory.CurrentDeity)); var deityButtonRect = deityButton.GetComponent <RectTransform>(); deityButtonRect.anchoredPosition = new Vector2(0, 30 + (-60 * count)); deityButtonRect.offsetMax = new Vector2(0, deityButtonRect.offsetMax.y); deityButtonRect.offsetMin = new Vector2(0, deityButtonRect.offsetMin.y); _buttons.Add(control); count += 1; } var contentRect = content.GetComponent <RectTransform>(); contentRect.offsetMin = new Vector2(contentRect.offsetMin.x, -60 * (count - 1)); }
private void Start() { _factory = DeityFactory.GetInstance(Application.persistentDataPath); _deityDetailControl = Instantiate(deityDetailPrefab, transform).GetComponent <DeityDetailControl>(); _deityDetailControl.gameObject.SetActive(false); _deityEditControl = Instantiate(deityEditPrefab, transform).GetComponent <DeityEditControl>(); _deityEditControl.gameObject.SetActive(false); _deityEditControl.save.onClick.AddListener(Save); _deityEditControl.cancel.onClick.AddListener(Cancel); _deityViewPortControl = GetComponentInChildren <DeityViewPortControl>(); UpdateViewPort(null, null); _factory.OnDeityListChange += UpdateViewPort; _factory.OnCurrentDeityChange += UpdateViews; _sessionPlayerData = GameObject.FindWithTag(Tags.Player).GetComponent <HumanPlayer>(); mainMenuButton.onClick.AddListener(OnClickMainMenu); createDeity.onClick.AddListener(CreateDeity); deleteDeity.onClick.AddListener(DeleteDeity); editDeity.onClick.AddListener(EditDeity); newGameButton.onClick.AddListener(StartGame); }
public void TestInitializationWithoutFile() { DeityFactory.GetInstance(Path + "test1"); Assert.That(File.Exists(Path + "test1/deities/deities.json"), "File at " + Path + "test1/deities/deities.json should exist."); }