public void UpdateQueue(GameObject unit = null) { UnityEngine.Profiling.Profiler.BeginSample("p UpdateQueue"); // Profiler if (unit != null) { unitBaseBehaviorComponent = unit.GetComponent <BaseBehavior>(); } DeleteQueue(); if (unit != null && unitBaseBehaviorComponent.productionQuery.Count > 0) { var info = UI.document.getElementsByClassName("infoBlock")[0]; Dom.Element infoDiv = UI.document.createElement("div"); infoDiv.className = "query clckable"; info.appendChild(infoDiv); var index = 0; foreach (var unitQueue in unitBaseBehaviorComponent.productionQuery) { BaseBehavior skillBaseBehaviorComponent = unitQueue.GetComponent <BaseBehavior>(); BaseSkillScript skillScript = unitQueue.GetComponent <BaseSkillScript>(); string imagePath = ""; float timeToBuild = 0.0f; if (skillBaseBehaviorComponent != null) { imagePath = skillBaseBehaviorComponent.skillInfo.imagePath; timeToBuild = skillBaseBehaviorComponent.skillInfo.timeToBuild; } if (skillScript != null) { imagePath = skillScript.skillInfo.imagePath; timeToBuild = skillScript.skillInfo.timeToBuild; } object createdObject = UI.document.Run("CreateQueueElement", imagePath, index, timeToBuild, unitBaseBehaviorComponent.buildTimer); index += 1; HtmlElement createdQueue = (HtmlElement)((Jint.Native.JsValue)createdObject).ToObject(); createdQueue.onmousedown = RemoveQueueElementFromSelected; } } UnityEngine.Profiling.Profiler.EndSample(); // Profiler }
public bool DisplayDescription(string className, List <SkillInfo> skillUIImages = null) { UnityEngine.Profiling.Profiler.BeginSample("p DisplayDescription"); // Profiler foreach (SkillInfo skillUIImage in checkedUIImages) { if (className.Contains(skillUIImage.uniqueName)) { if (descriptionActiveClass == skillUIImage.uniqueName) { return(true); } if (descriptionActiveClass != "" && descriptionActiveClass != skillUIImage.uniqueName) { DestroyDescription(); } var containerDescription = UI.document.getElementsByClassName("containerDescription")[0]; Dom.Element altInfo = UI.document.createElement("div"); altInfo.className = new StringBuilder(30).AppendFormat("content altInfo {0}", skillUIImage.uniqueName).ToString(); containerDescription.appendChild(altInfo); DrawInfo("altInfo", skillUIImage, drawImage: false, detailInfo: true); descriptionActiveClass = skillUIImage.uniqueName; return(true); } } foreach (var skillElement in skillsCache) { unitBaseBehaviorComponent = skillElement.Key.GetComponent <BaseBehavior>(); skillScript = skillElement.Key.GetComponent <BaseSkillScript>(); SkillInfo skillInfo = null; if (unitBaseBehaviorComponent != null) { skillInfo = unitBaseBehaviorComponent.skillInfo; costInfo = unitBaseBehaviorComponent.GetCostInformation().ToArray(); tableStatistics = unitBaseBehaviorComponent.GetStatistics().ToArray(); } if (skillScript != null) { skillInfo = skillScript.skillInfo; costInfo = skillScript.GetCostInformation().ToArray(); tableStatistics = skillScript.GetStatistics().ToArray(); } if (className.Contains(skillInfo.uniqueName)) { if (descriptionActiveClass == skillInfo.uniqueName) { return(true); } if (descriptionActiveClass != "" && descriptionActiveClass != skillInfo.uniqueName) { DestroyDescription(); } skillErrorInfo = BaseSkillScript.GetSkillErrorInfo(skillElement.Value, skillElement.Key); var containerDescription = UI.document.getElementsByClassName("containerDescription")[0]; Dom.Element altInfo = UI.document.createElement("div"); altInfo.className = "content altInfo"; containerDescription.appendChild(altInfo); DrawInfo("altInfo", skillInfo, drawImage: false, detailInfo: true, errorMessage: skillErrorInfo.errorMessage, tableStatistics: tableStatistics, costInfo: costInfo); displayedNames.Add(skillInfo.uniqueName); descriptionActiveClass = skillInfo.uniqueName; return(true); } } UnityEngine.Profiling.Profiler.EndSample(); // Profiler return(false); }
public void DisplaySkillsInfo(List <GameObject> selectedObjects) { UnityEngine.Profiling.Profiler.BeginSample("p DisplayObjectsInfo"); // Profiler skillsCache.Clear(); displayedNames.Clear(); foreach (GameObject selectedObject in selectedObjects) { foreach (SkillType skillTypeFor in new SkillType[] { SkillType.Skill, SkillType.Upgrade }) { unitBaseBehaviorComponent = selectedObject.GetComponent <BaseBehavior>(); foreach (GameObject skillObject in unitBaseBehaviorComponent.skillList.Concat(unitBaseBehaviorComponent.producedUnits)) { skillErrorInfo = BaseSkillScript.GetSkillErrorInfo(selectedObject, skillObject); if (!skillErrorInfo.isDisplayedAsSkill) { continue; } SkillInfo skillInfo = null; string blockImagesName = ""; skillObjectBaseBehaviorComponent = skillObject.GetComponent <BaseBehavior>(); skillScript = skillObject.GetComponent <BaseSkillScript>(); if (skillObjectBaseBehaviorComponent != null && !displayedNames.Contains(skillObjectBaseBehaviorComponent.skillInfo.uniqueName)) { skillInfo = skillObjectBaseBehaviorComponent.skillInfo; costInfo = skillObjectBaseBehaviorComponent.GetCostInformation().ToArray(); tableStatistics = skillObjectBaseBehaviorComponent.GetStatistics().ToArray(); } else if (skillScript != null && !displayedNames.Contains(skillScript.skillInfo.uniqueName)) { skillInfo = skillScript.skillInfo; costInfo = skillScript.GetCostInformation().ToArray(); tableStatistics = skillScript.GetStatistics().ToArray(); } else { continue; } if (skillTypeFor != skillInfo.skillType) { continue; } if (skillInfo.skillType == SkillType.Skill) { blockImagesName = "skills"; } else if (skillInfo.skillType == SkillType.Upgrade) { blockImagesName = "upgrades"; } if (skillInfo != null) { HtmlElement createdImage = DrawInfo("rblock", blockImagesName: blockImagesName, skillInfo: skillInfo, detailInfo: false, costInfo: costInfo, tableStatistics: tableStatistics, hotkey: skillInfo.productionHotkey.ToString(), errorMessage: skillErrorInfo.errorMessage); displayedNames.Add(skillInfo.uniqueName); skillsCache.Add(skillObject, selectedObject); createdImage.onmousedown = OnElementMouseDown; // Description createdImage.onmouseover = OnElementOnMouseOver; createdImage.onmouseout = OnElementOnMouseOut; createdImage.onclick = OnElementOnClick; } } } } UnityEngine.Profiling.Profiler.EndSample(); // Profiler }