private void Awake() { projectController = ProjectController.Instance; characterStatusController = CharacterStatusController.Instance; ideasController = IdeasController.Instance; gameManager = GameManager.Instance; gameManager.OnGameStateChanged.AddListener(OnGameStateChangedHandler); notificationController = GameObject.FindGameObjectWithTag("NotificationController").GetComponentInChildren <NotificationController>(); platformNameIdeas = new List <string>(); playerNameIdeas = new List <string>(); #region Select temp goalSlot = new BaseWorkingProjectIdeaSlot(); mechanicSlots = new BaseWorkingProjectIdeaSlot[2]; for (int i = 0; i < mechanicSlots.Length; i++) { mechanicSlots[i] = new BaseWorkingProjectIdeaSlot(); } themeSlots = new BaseWorkingProjectIdeaSlot(); countMechanicSlots = 0; #endregion Initializing(); }
private void CheckGoalSelect(BaseWorkingProjectIdeaSlot baseIdeaSlot) { //empty if (goalSlot.IDEASLOT == null) { goalSlot = baseIdeaSlot; LoopSetSelectGoalNormal(baseIdeaSlot.IDEASLOT.Id, true); workProjectQuestionDisplay.DisplayGoal(goalSlot.IDEASLOT.IdeaName, true); } else { string goalSlotId = goalSlot.IDEASLOT.Id; string baseSlotId = baseIdeaSlot.IDEASLOT.Id; //same idea if (goalSlotId.Equals(baseSlotId)) { goalSlot = new BaseWorkingProjectIdeaSlot(); LoopSetSelectGoalNormal(baseSlotId, false); workProjectQuestionDisplay.DisplayGoal(string.Empty, false); } else { goalSlot = baseIdeaSlot; LoopSetSelectGoalSwap(baseSlotId, goalSlotId); workProjectQuestionDisplay.DisplayGoal(goalSlot.IDEASLOT.IdeaName, true); } } }
private void CheckThemeSelect(BaseWorkingProjectIdeaSlot baseIdeaSlot) { //empty if (themeSlots.IDEASLOT == null) { themeSlots = baseIdeaSlot; LoopSetSelectThemeNormal(baseIdeaSlot.IDEASLOT.Id, true); workProjectQuestionDisplay.DisplayTheme(themeSlots.IDEASLOT.IdeaName, true); } else { string themeSlotId = themeSlots.IDEASLOT.Id; string baseSlotId = baseIdeaSlot.IDEASLOT.Id; //same idea if (themeSlotId.Equals(baseSlotId)) { themeSlots = new BaseWorkingProjectIdeaSlot(); LoopSetSelectThemeNormal(baseSlotId, false); workProjectQuestionDisplay.DisplayTheme(string.Empty, false); } else { themeSlots = baseIdeaSlot; LoopSetSelectThemeSwap(baseSlotId, themeSlotId); workProjectQuestionDisplay.DisplayTheme(themeSlots.IDEASLOT.IdeaName, true); } } }
private void SetDescriptinoCollected(BaseWorkingProjectIdeaSlot baseIdeaSlot) { nameIdea.text = baseIdeaSlot.IDEASLOT.IdeaName; typeIdea.text = ConvertType.ConvertIdeaTypeToString(baseIdeaSlot.IDEASLOT.IdeaType); descriptionIdea.text = baseIdeaSlot.IDEASLOT.Description; imageIdea.enabled = true; imageIdea.sprite = baseIdeaSlot.IDEASLOT.IdeaImage; }
private void OnPointEnterIdeaSlotHandler(BaseWorkingProjectIdeaSlot baseIdeaSlot) { descriptionGameObject.SetActive(true); if (baseIdeaSlot.IDEASLOT.Collected) { SetDescriptinoCollected(baseIdeaSlot); } }
private void OnClickWorkProjectHandler(BaseWorkingProjectIdeaSlot baseIdeaSlot) { switch (baseIdeaSlot.IDEASLOT.IdeaType) { case IdeaType.Goal: CheckGoalSelect(baseIdeaSlot); break; case IdeaType.Mechanic: CheckMachanicSelect(baseIdeaSlot); break; case IdeaType.Theme: CheckThemeSelect(baseIdeaSlot); break; } }
private void OnPointExitIdeaSlotHandler(BaseWorkingProjectIdeaSlot baseIdeaSlot) { descriptionGameObject.SetActive(false); }
private void CheckMachanicSelect(BaseWorkingProjectIdeaSlot baseIdeaSlot) { //slot 0 and slot 1 is empty add to slot 0 if (mechanicSlots[0].IDEASLOT == null && mechanicSlots[1].IDEASLOT == null) { mechanicSlots[0] = baseIdeaSlot; LoopSetSelectMechanicNormal(baseIdeaSlot.IDEASLOT.Id, true); } //add new idea to slot 1 if slot 1 is empty and slot 0 is not null else if (mechanicSlots[0].IDEASLOT != null && mechanicSlots[1].IDEASLOT == null) { //and new idea to slot 1 if not same idea in slot 0 if (!mechanicSlots[0].IDEASLOT.Id.Equals(baseIdeaSlot.IDEASLOT.Id)) { mechanicSlots[1] = baseIdeaSlot; LoopSetSelectMechanicNormal(baseIdeaSlot.IDEASLOT.Id, true); } else //unselect as same idea { mechanicSlots[0] = new BaseWorkingProjectIdeaSlot(); LoopSetSelectMechanicNormal(baseIdeaSlot.IDEASLOT.Id, false); } } //add new idea to slot 0 if slot 0 is empty and slot 1 is not null else if (mechanicSlots[0].IDEASLOT == null && mechanicSlots[1].IDEASLOT != null) { //and new idea to slot 0 if not same idea in slot 1 if (!mechanicSlots[1].IDEASLOT.Id.Equals(baseIdeaSlot.IDEASLOT.Id)) { mechanicSlots[0] = baseIdeaSlot; LoopSetSelectMechanicNormal(baseIdeaSlot.IDEASLOT.Id, true); } else //unselect as same idea { mechanicSlots[1] = new BaseWorkingProjectIdeaSlot(); LoopSetSelectMechanicNormal(baseIdeaSlot.IDEASLOT.Id, false); } } else //slot 0 and slot 1 is not null { string mechanicFirstSlotId = mechanicSlots[0].IDEASLOT.Id; string mechanicSecondSlotId = mechanicSlots[1].IDEASLOT.Id; string baseSlotId = baseIdeaSlot.IDEASLOT.Id; //same idea first unselect if (mechanicFirstSlotId.Equals(baseSlotId)) { mechanicSlots[0] = new BaseWorkingProjectIdeaSlot(); LoopSetSelectMechanicNormal(baseSlotId, false); } else if (mechanicSecondSlotId.Equals(baseSlotId)) //same idea first unselect { mechanicSlots[1] = new BaseWorkingProjectIdeaSlot(); LoopSetSelectMechanicNormal(baseSlotId, false); } else //select new idea and unselect past idea { if (countMechanicSlots == 0) { mechanicSlots[0] = baseIdeaSlot; LoopSetSelectMechanicSwap(baseSlotId, mechanicFirstSlotId); countMechanicSlots = 1; } else { mechanicSlots[1] = baseIdeaSlot; LoopSetSelectMechanicSwap(baseSlotId, mechanicSecondSlotId); countMechanicSlots = 0; } } } DisplayMechanicSelect(); }
protected void OnClickWorkProjectIdeaSlotEventHandler(BaseWorkingProjectIdeaSlot baseIdeaSlot) { OnClickWorkProjectIdeaSlot?.Invoke(baseIdeaSlot); }
protected void OnPointEnterIdeaSlotEventHandler(BaseWorkingProjectIdeaSlot baseIdeaSlot) { OnPointEnterWorkProjectIdeaSlot?.Invoke(baseIdeaSlot); }