Example #1
0
        public void TestCreateFirstDeity()
        {
            var factory = DeityFactory.GetInstance(Path + "test2");

            factory.CreateDeity("Thor");
            Assert.AreEqual(new Deity(1, "Thor", 0), factory.CurrentDeity);
        }
Example #2
0
        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));
        }
Example #3
0
        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);
        }
Example #4
0
 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.");
 }