//Set Hero Featured public int SetHeroFeatured(int[] heroId, int playerId = 0, string token = "") { if (ParseToken(playerId, token)) { HeroParam param = new HeroParam(); param.player_id = apiPlayerId; param.token = apiToken; param.heroes_id = String.Join(",", heroId); string paramJson = JsonUtility.ToJson(param); API api = new API("setherofeatured.php", "RSetHeroFeatured", paramJson, 1); param = null; paramJson = ""; StartCoroutine(Congest.SendPOST(this, api)); return(api.seed); } return(0); }
//Set Costume public int SetCostume(int costumeId = 0, int playerId = 0, string token = "") { if (ParseToken(playerId, token)) { HeroParam param = new HeroParam(); param.player_id = apiPlayerId; param.token = apiToken; param.costume_id = costumeId; string paramJson = JsonUtility.ToJson(param); API api = new API("setcostume.php", "RSetCostume", paramJson, 1); param = null; paramJson = ""; StartCoroutine(Congest.SendPOST(this, api)); return(api.seed); } return(0); }
public int GetHero(int heroGender = 0, int playerId = 0, string token = "") { if (ParseToken(playerId, token)) { HeroParam param = new HeroParam(); param.player_id = apiPlayerId; param.token = apiToken; param.hero_gender = heroGender; string paramJson = JsonUtility.ToJson(param); API api = new API("gethero.php", "RGetHero", paramJson, 1); param = null; paramJson = ""; StartCoroutine(Congest.SendPOST(this, api)); return(api.seed); } return(0); }
private static void ParseSkill(ref HeroParam param, SecurityElement element) { if (param == null || element == null || element.Tag != "Skill") { return; } SkillParam skill = new SkillParam(); skill.type = element.Attribute("enum").ToEnumEx <SkillEnum>(); skill.cd = element.Attribute("cd").ToFloatEx(); //skill.attack = element.Attribute("attack").ToInt32Ex(); skill.action = element.Attribute("action").ToEnumEx <ActionEnum>(); skill.triggerAt = element.Attribute("triggerAt").ToFloatEx(); skill.needTarget = element.Attribute("needTarget").ToBoolEx(); skill.skillType = element.Attribute("skillType").ToEnumEx <SkillType>(); //skill.effects = new List<EffectParam>(); param.skills.Add(skill); }
private void OnInitParam(HeroParam _param) { param = _param; if (string.IsNullOrEmpty(data.name)) { data.name = param.name; } if (data.height == 0) { data.height = param.height; } if (param.components != null) { for (int i = 0; i < param.components.Count; ++i) { HeroComponent component = ObjectPool.GetInstance <HeroComponent>(param.components[i].type); component.Init(this, param.components[i]); components.Add(component); } } //初始化技能 if (param.skills != null) { for (int i = 0; i < param.skills.Count; ++i) { var skill = ObjectPool.GetInstance <HeroSkill>(); skill.Init(this, param.skills[i]); skills.Add(param.skills[i].type, skill); } } //初始化动作状态机 machine = ObjectPool.GetInstance <HeroActionMachine>(); machine.Init(this); string assetBundleName = string.Format("assets/r/{0}.prefab", param.assetBundleName); string assetName = string.Format("assets/r/{0}.prefab", param.assetName); LoadAsset(assetBundleName, assetName); }
private static void ParseConfig(ref HeroParam param, SecurityElement element) { if (param == null || element == null || element.Tag != "Hero") { return; } param.name = element.Attribute("name"); param.height = element.Attribute("height").ToFloatEx(); param.radius = element.Attribute("radius").ToFloatEx(); param.assetBundleName = element.Attribute("bundleName"); param.assetName = element.Attribute("assetName"); //param.searchDistance = element.Attribute("searchDistance").ToFloatEx(); //param.attackDistance = element.Attribute("attackDistance").ToFloatEx(); param.skills = new List <SkillParam>(); param.actions = new List <ActionParam>(); param.components = new List <ComponentParam>(); if (element.Children != null) { for (int i = 0; i < element.Children.Count; ++i) { var child = element.Children[i] as SecurityElement; if (child.Tag == "Skill") { ParseSkill(ref param, child); } else if (child.Tag == "Action") { ParseAction(ref param.actions, child); } else if (child.Tag == "Component") { ParseComponent(ref param, child); } } } }
private static void ParseComponent(ref HeroParam param, SecurityElement element) { if (element == null || element.Tag != "Component") { return; } ComponentParam component = (ComponentParam)Activator.CreateInstance(Type.GetType(element.Attribute("param"))); component.type = Type.GetType(element.Attribute("type")); param.components.Add(component); if (element.Children != null) { for (int i = 0; i < element.Children.Count; ++i) { var child = element.Children[i] as SecurityElement; if (child.Tag == "Param") { ParseComponentParam(ref component, child); } } } }
private void OnGUI() { _styleHeader.fontStyle = FontStyle.Bold; _styleSubHeader.fontStyle = FontStyle.Bold; EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Профайлер с настройками героя", _styleHeader, GUILayout.Width(400)); _playerParam = EditorGUILayout.ObjectField(_playerParam, typeof(HeroParam), true, GUILayout.Width(400)) as HeroParam; EditorGUILayout.EndHorizontal(); if (_playerParam != null) { #region Основные способности героя Rage, Curse, Star EditorGUILayout.Separator(); //EditorGUILayout.BeginHorizontal(); //EditorGUILayout.LabelField("Показать основные способности героя", GUILayout.Width(300)); //_showMainSkill = EditorGUILayout.Toggle( _showMainSkill); //EditorGUILayout.EndHorizontal(); // if (_showMainSkill) { EditorGUILayout.LabelField("Активные способности героя", _styleHeader); EditorGUILayout.Separator(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Время отката - Бешенство", GUILayout.Width(300)); _playerParam.skillTwoCooldownTimerValue = EditorGUILayout.DelayedFloatField(_playerParam.skillTwoCooldownTimerValue, GUILayout.Width(400)); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Время отката - Проклятая земля", GUILayout.Width(300)); _playerParam.skillThreeCooldownTimerValue = EditorGUILayout.DelayedFloatField(_playerParam.skillThreeCooldownTimerValue, GUILayout.Width(400)); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Время отката - Взрыв", GUILayout.Width(300)); _playerParam.skillFourCooldownTimerValue = EditorGUILayout.DelayedFloatField(_playerParam.skillFourCooldownTimerValue, GUILayout.Width(400)); EditorGUILayout.EndHorizontal(); } #endregion //EditorGUILayout.BeginHorizontal(); //EditorGUILayout.LabelField("Показать остальные способности героя", GUILayout.Width(300)); //_showOtherSkill = EditorGUILayout.Toggle(_showOtherSkill); //EditorGUILayout.EndHorizontal(); // if (_showOtherSkill) { #region TriggerSkill EditorGUILayout.Separator(); EditorGUILayout.Separator(); EditorGUILayout.Separator(); EditorGUILayout.LabelField("Триггерные навыки героя", _styleHeader); EditorGUILayout.LabelField("Шрапнель", _styleSubHeader); _playerParam.cooldownTimerValueFlak = EditorGUILayout.DelayedFloatField("Время отката ", _playerParam.cooldownTimerValueFlak); _playerParam.probabilityFlak = EditorGUILayout.DelayedFloatField("Probability ", _playerParam.probabilityFlak); // EditorGUILayout.Separator(); EditorGUILayout.LabelField("Огненная волна", _styleSubHeader); _playerParam.cooldownTimerValueFlame = EditorGUILayout.DelayedFloatField("Время отката ", _playerParam.cooldownTimerValueFlame); _playerParam.probabilityFlame = EditorGUILayout.DelayedFloatField("Probability ", _playerParam.probabilityFlame); // EditorGUILayout.Separator(); EditorGUILayout.LabelField("Иглы", _styleSubHeader); _playerParam.cooldownTimerValueNails = EditorGUILayout.DelayedFloatField("Время отката ", _playerParam.cooldownTimerValueNails); _playerParam.probabilityNails = EditorGUILayout.DelayedFloatField("Probability ", _playerParam.probabilityNails); #endregion #region KillSkill EditorGUILayout.Separator(); EditorGUILayout.Separator(); EditorGUILayout.Separator(); EditorGUILayout.LabelField("Навыки убийства героя", _styleHeader); EditorGUILayout.LabelField("Мина", _styleHeader); _playerParam.killCountValueMine = EditorGUILayout.DelayedFloatField("Kill count ", _playerParam.killCountValueMine); EditorGUILayout.LabelField("Гейзер", _styleHeader); _playerParam.killCountValueGazer = EditorGUILayout.DelayedFloatField("Kill count ", _playerParam.killCountValueGazer); EditorGUILayout.LabelField("Кража энергии", _styleHeader); _playerParam.killCountValueRefresh = EditorGUILayout.DelayedFloatField("Kill count ", _playerParam.killCountValueRefresh); #endregion } } if (GUI.changed) { EditorUtility.SetDirty(_playerParam); } }