private void LightSkillsForSelect(SkillInfo skillInfo, GameObject senderObj) { CloseAbilityViewPopup(); draggingBlock.SetActive(true); var leftAbilitiesBlock = GetLeftAbilitiesBlock(skillInfo); var leftAbilitiesSourceItems = GetLeftSourceItems(skillInfo); leftBlockCopy = Instantiate(leftAbilitiesBlock, draggingBlock.transform); leftBlockCopy.GetComponent <RectTransform>().anchorMax = Vector2.one * 0.5f; leftBlockCopy.GetComponent <RectTransform>().anchorMin = Vector2.one * 0.5f; leftBlockCopy.GetComponent <RectTransform>().sizeDelta = mainAbilityLeftBlock.GetComponent <RectTransform>().sizeDelta; leftBlockCopy.transform.position = leftAbilitiesBlock.transform.position; AbilitySelectedItem[] copySelItems = leftBlockCopy.GetComponentsInChildren <AbilitySelectedItem>(); for (int i = 0; i < copySelItems.Length && i < leftAbilitiesSourceItems.Length; i++) { var ab = copySelItems[i]; ab.SetSourceItem(leftAbilitiesSourceItems[i], i); ab.SetOneListener(this); ab.SetLighted(true); } GameObject copyDraggedAbility = Instantiate(senderObj, draggingBlock.transform); copyDraggedAbility.transform.position = senderObj.transform.position; rightItemCopy = copyDraggedAbility.GetComponent <AbilityDraggingItem>(); rightItemCopy.SetOneListener(this); selectedSkillInfo = skillInfo; }
private void ApplyAbilityTo(AbilitySelectedItem selItem) { userData.SetSkillByIndex(selectedSkillInfo.Id, selItem.SourceItemIndex); selItem.SourceItem.Setup(contentFactory.GetSpriteById(selectedSkillInfo.Id)); GameObject.Destroy(leftBlockCopy); leftBlockCopy = null; GameObject.Destroy(rightItemCopy.gameObject); rightItemCopy = null; draggingBlock.SetActive(false); }
public AbilityDraggingItem CreateDraggingAbility(SkillInfo skillInfo, Transform root) { var skillSprite = GetSpriteById(skillInfo.Id); GameObject newSkillObj = Instantiate(abilityDraggingItemPrefab, root); AbilityDraggingItem ret = newSkillObj.GetComponent <AbilityDraggingItem>(); ret.Setup(skillInfo, skillSprite); return(ret); }
public override void OnStartState(IStateMachine stateMachine, params object[] args) { base.OnStartState(stateMachine, args); this.Inject(); leftBlockCopy = null; rightItemCopy = null; abilityViewPopup.SetOneListener(this); CloseAbilityViewPopup(); skinPerson = contentFactory.GetPlayerPerson(); skinPerson.SetActive(false); SetupMainAbilities(); SetupActiveAbilities(); }
private void SetupMainAbilities() { ClearAbilities(curMainAbilities); abilityMainIcon.Setup(contentFactory.GetSpriteById(userData.GetCurrentCharacter().skill_set.main_skill)); var appConfig = MainContainer.Container.Resolve <AppConfig>(); var availableSkills = appConfig.Skills.Where(s => s.IsEnabled && s.Type == SkillType.Main).ToList(); //TODO: just for test userData.SetSkillConfig(appConfig); foreach (var skill in availableSkills) { AbilityDraggingItem newItem = contentFactory.CreateDraggingAbility(skill, mainAbilityRoot); newItem.SetOneListener(this); curMainAbilities.Add(newItem.gameObject); } }
private void SetupActiveAbilities() { ClearAbilities(curActiveAbilities); var activeSkills = userData.GetCurrentCharacter().skill_set.active_skills; for (int i = 0; i < activeAbilityIcons.Length && i < activeSkills.Length; i++) { activeAbilityIcons[i].Setup(contentFactory.GetSpriteById(activeSkills[i])); } var appConfig = MainContainer.Container.Resolve <AppConfig>(); var availableSkills = appConfig.Skills.Where(s => s.IsEnabled && s.Type != SkillType.Main && s.Type != SkillType.Passive).ToList(); foreach (var skill in availableSkills) { AbilityDraggingItem newItem = contentFactory.CreateDraggingAbility(skill, activeAbilitiesRoot); newItem.SetOneListener(this); curActiveAbilities.Add(newItem.gameObject); } }