void Start() { status = GetComponent<CharStatus> (); jump = GetComponent<CharJump> (); rigidBody2D = GetComponent<Rigidbody2D> (); input = GameObject.Find ("InputManager").GetComponent<InputManager> (); }
// Update is called once per frame void Update () { Vector3 pos = transform.position; if (Input.GetKey (KeyCode.W)) { } else if (Input.GetKey (KeyCode.S)) { }else if (Input.GetKey (KeyCode.A)) { horV = -MaxHorSpeed; }else if (Input.GetKey (KeyCode.D)) { horV = MaxHorSpeed; }else if (Input.GetKey (KeyCode.J)) { }else if (Input.GetKey (KeyCode.K)) { if(status == CharStatus.STAND || status == CharStatus.RUN){ vertV = MaxVerSpeed; status = CharStatus.JUMP; } }else{ horV = 0; } pos.x += horV * Time.deltaTime; pos.y += vertV * Time.deltaTime; transform.position = pos; if (status == CharStatus.JUMP || status == CharStatus.FALL) { vertV += g * Time.deltaTime; } }
/// <summary> /// 处理左大括号 /// </summary> /// <param name="chr"></param> private void ResolveLeftBigParantheses(char chr) { switch (csNow) { case CharStatus.None: if (szName == "") { if (dp == null) { dp = gObj; ((JsonObject)dp).IsObject = true; dp.Children.Clear(); } else { throw new Exception("非法字符"); } } else { dp = dp[GetNormalName(szName)]; ((JsonObject)dp).IsObject = true; } csNow = CharStatus.ObjectName; break; case CharStatus.ObjectValue: if (szValue.StartsWith("\"")) { szValue += chr; } else { dp = NewChild(); ((JsonObject)dp).IsObject = true; csNow = CharStatus.ObjectName; } break; case CharStatus.ObjectName: if (dp.IsArray) { dp = NewChild(); ((JsonObject)dp).IsObject = true; csNow = CharStatus.ObjectName; } else { throw new Exception("意外的\"" + chr + "\"字符"); } break; default: throw new Exception("意外的\"" + chr + "\"字符"); } }
void Start() { //Change player sprite and display tutorial lineRenderer = GetComponent<LineRenderer> (); lineRenderer.useWorldSpace = true; charStatus = transform.parent.GetComponent<CharStatus> (); charEnergy = GameObject.Find("Char").GetComponent<CharEnergy> (); input = GameObject.Find ("InputManager").GetComponent<InputManager> (); }
void Start() { status = GetComponent<CharStatus> (); input = GameObject.Find ("InputManager").GetComponent<InputManager> (); }
public override void HitDamage(int _damage) { if (!poweroverwhelming) { Debug.Log(CharStatus.HealthPoint); if (CharStatus.SkillLevel [5] < 4) { if (charAlive) { CharStatus.SkillLevel [4] = 3; int chance = (CharStatus.SkillLevel [4]) * 25; int superArmor; superArmor = Random.Range(0, 100); if (CharStatus.HealthPoint > 0) { CharStatus.DecreaseHealthPoint(_damage); if (chance > superArmor) { if (State != CharacterState.Skill1 && State != CharacterState.Skill2 && State != CharacterState.Skill3 && State != CharacterState.Skill4) { CharState((int)CharacterState.HitDamage); } else { //ArmorEffect Debug.Log("in superA"); superArmorEffect = Instantiate(Resources.Load <GameObject> ("Effect/MagicionPassive2"), new Vector3(transform.position.x, transform.position.y + 1.0f, transform.position.z), Quaternion.Euler(90, 0, 90)) as GameObject; Destroy(superArmorEffect, 0.5f); } } else { CharState((int)CharacterState.HitDamage); } } else if (CharStatus.HealthPoint <= 0) { CharState((int)CharacterState.Death); charAlive = false; } } } else if (CharStatus.SkillLevel [5] == 4) { Debug.Log(CharStatus.HealthPoint); if (charAlive) { if (CharStatus.HealthPoint > 0) { CharStatus.DecreaseHealthPoint(_damage); CharState((int)CharacterState.HitDamage); if (State != CharacterState.Skill1 && State != CharacterState.Skill2 && State != CharacterState.Skill3 && State != CharacterState.Skill4) { CharState((int)CharacterState.HitDamage); } } else if (CharStatus.HealthPoint <= 0) { CharState((int)CharacterState.Death); CharAudio.PlayOneShot(Skill1Sound); charAlive = false; } } } } }
void Start() { chargeCounter = 0; charEnergy = transform.parent.GetComponent<CharEnergy> (); status = transform.parent.GetComponent<CharStatus> (); input = GameObject.Find ("InputManager").GetComponent<InputManager> (); }
public void Resolve(string json) { dp = null; csNow = CharStatus.None; nLine = 1; nIndex = 0; for (int i = 0; i < json.Length; i++) { nIndex++; char chr = json[i]; try { switch (chr) { case '{'://左大括号 ResolveLeftBigParantheses(chr); break; case '}'://右大括号 ResolveRightBigParantheses(chr); break; case '\\': #region [=====斜杠=====] switch (csNow) { case CharStatus.ObjectValue: if (szValue.StartsWith("\"")) { csNow = CharStatus.SlashValue; } else { throw new Exception("非法的数值字符"); } break; case CharStatus.SlashValue: szValue += "\\"; break; default: throw new Exception("规则外的字符!"); } break; #endregion case ':': #region [=====冒号=====] switch (csNow) { case CharStatus.None: if (szName != "") { csNow = CharStatus.ObjectValue; } else { throw new Exception("规则外的字符!"); } break; case CharStatus.ObjectName: case CharStatus.ObjectNameFinish: csNow = CharStatus.ObjectValue; break; case CharStatus.ObjectValue: if (szValue.StartsWith("\"")) { szValue += chr; } else { throw new Exception("非法字符!"); } break; default: throw new Exception("非法字符!"); } break; #endregion case '"': #region [=====双引号=====] switch (csNow) { case CharStatus.ObjectName: if (szName == "") { szName += "\""; } else { if (szName.StartsWith("\"")) { szName += "\""; csNow = CharStatus.ObjectNameFinish; } else { throw new Exception("规则外的字符!"); } } break; case CharStatus.ObjectValue: if (szValue == "") { szValue += "\""; } else { if (szValue.StartsWith("\"")) { szValue += "\""; //纯值模式下直接保存值 if (dp == null) gObj.Value = GetNormalValue(szValue); csNow = CharStatus.ObjectValueFinish; } else { throw new Exception("规则外的字符!"); } } break; case CharStatus.SlashValue: szValue += "\""; csNow = CharStatus.ObjectValue; break; case CharStatus.None: //纯值模式 szValue += chr; csNow = CharStatus.ObjectValue; break; default: throw new Exception("意外的\"" + chr + "\"字符"); } break; #endregion case '\r': break; case '\n': ResolveWrap(chr); break; case ','://逗号 ResolveComma(chr); break; case '['://左中括号,数组开始 ResolveLeftInParantheses(chr); break; case ']'://右中括号,数组结束 ResolveRightInParantheses(chr); break; case ' ': #region [=====空格=====] switch (csNow) { case CharStatus.ObjectName: if (szName != "") { if (szName.StartsWith("\"")) { throw new Exception("名称不能包含空格!"); } else { csNow = CharStatus.ObjectNameFinish; } } break; case CharStatus.ObjectValue: if (szValue != "") { if (szValue.StartsWith("\"")) { szValue += chr; } else { csNow = CharStatus.ObjectValueFinish; } } break; } break; #endregion default: switch (csNow) { case CharStatus.ObjectName: szName += chr; break; case CharStatus.ObjectValue: szValue += chr; break; default: throw new Exception("规则外的字符!"); } break; } } catch (Exception ex) { throw new Exception("行 " + nLine + " 位置 " + nIndex + " 字符 \"" + chr + "\"(0x" + ((byte)chr).ToString("X2") + ")," + ex.Message); } } }
/// <summary> /// 处理逗号 /// </summary> /// <param name="chr"></param> private void ResolveComma(char chr) { switch (csNow) { case CharStatus.ObjectValue: if (szValue.StartsWith("\"")) { szValue += chr; } else { if (dp.IsArray) { SaveArrayObject(); csNow = CharStatus.ObjectValue; } else { SaveObject(); csNow = CharStatus.ObjectName; } } break; case CharStatus.ObjectValueFinish: if (dp.IsArray) { SaveArrayObject(); csNow = CharStatus.ObjectValue; } else { SaveObject(); csNow = CharStatus.ObjectName; } break; case CharStatus.ObjectFinish: csNow = CharStatus.ObjectName; break; default: throw new Exception("意外的\"" + chr + "\"字符"); } }
private void Awake() { instance = this; }
public void Close() { gameObject.SetActive(false); charStatus = null; }
public virtual void InitializeCharacterStatus() { CharStatus = new CharStatus(this); }
public void SetStatus(CharStatus newStatus) => _status = newStatus;
public override void UpdateFromPacket(NetIncomingMessage packet) { RoleID = packet.ReadInt32(); worldPosition.X = packet.ReadFloat(); worldPosition.Y = packet.ReadFloat(); positionOverride = packet.ReadBoolean(); SetCurrentAnimation((Anim)packet.ReadInt32()); status = (CharStatus)packet.ReadByte(); currentHealth = packet.ReadFloat(); currentFocus = packet.ReadFloat(); focusOverride = packet.ReadBoolean(); speed = packet.ReadInt32(); Team = (Team)packet.ReadByte(); Name = packet.ReadString(); CrystalCount = packet.ReadInt32(); }
public void EnterStatus(CharStatus status) { status.character = chara; CheckStatus(status); }
/// <summary> /// 处理右大括号 /// </summary> /// <param name="chr"></param> private void ResolveRightBigParantheses(char chr) { switch (csNow) { case CharStatus.None: if (dp == null) throw new Exception("缺少对象!"); //添加尚未添加的信息 if (szName != "") { SaveObject(); } BackToParent(); csNow = CharStatus.ObjectFinish; break; case CharStatus.ObjectValue: if (szValue.StartsWith("\"")) { szValue += chr; } else { SaveObject(); } BackToParent(); csNow = CharStatus.ObjectFinish; break; case CharStatus.ObjectValueFinish: SaveObject(); BackToParent(); csNow = CharStatus.ObjectFinish; break; case CharStatus.ObjectFinish: BackToParent(); csNow = CharStatus.ObjectFinish; break; default: throw new Exception("意外的\"" + chr + "\"字符"); } }
/// <summary> /// 处理右中括号 /// </summary> /// <param name="chr"></param> private void ResolveRightInParantheses(char chr) { switch (csNow) { case CharStatus.ObjectValue: if (szValue.StartsWith("\"")) { szValue += chr; } else { if (!dp.IsArray) throw new Exception("语法错误!"); SaveArrayObject(); BackToParent(); csNow = CharStatus.ObjectFinish; } break; case CharStatus.ObjectValueFinish: if (!dp.IsArray) throw new Exception("语法错误!"); SaveArrayObject(); BackToParent(); csNow = CharStatus.ObjectFinish; break; case CharStatus.ObjectFinish: BackToParent(); csNow = CharStatus.ObjectFinish; break; default: throw new Exception("非法字符!"); } }
public override void HitDamage(int _damage) { if (CharStatus.SkillLevel [5] < 4) { if (charAlive) { if (charAlive) { if (CharStatus.HealthPoint > 0) { int deFendDamage; deFendDamage = _damage - (CharStatus.SkillLevel [5] * 1); Debug.Log(deFendDamage); if (deFendDamage < 0) { deFendDamage = 0; } CharStatus.DecreaseHealthPoint(deFendDamage); if (State != CharacterState.Skill1 && State != CharacterState.Skill2 && State != CharacterState.Skill3 && State != CharacterState.Skill4) { CharState((int)CharacterState.HitDamage); } } if (CharStatus.HealthPoint <= 0) { CharState((int)CharacterState.Death); charAlive = false; } } } } else if (CharStatus.SkillLevel [5] == 4) { Debug.Log(CharStatus.HealthPoint); if (charAlive) { if (CharStatus.HealthPoint > 0) { int deFendDamage; deFendDamage = _damage - (CharStatus.SkillLevel [5] * 1); if (deFendDamage < 0) { deFendDamage = 0; } CharStatus.DecreaseHealthPoint(deFendDamage); CharState((int)CharacterState.HitDamage); if (State != CharacterState.Skill1 && State != CharacterState.Skill2 && State != CharacterState.Skill3 && State != CharacterState.Skill4) { CharState((int)CharacterState.HitDamage); } } else if (CharStatus.HealthPoint <= 0) { CharState((int)CharacterState.Death); charAlive = false; if (!rise) { rise = true; charAlive = true; animator.SetBool("Rise", false); StartCoroutine(colltimeCheck()); CharStatus.DecreaseHealthPoint((-100)); } else if (rise) { animator.SetBool("Rise", true); } } } } }
/// <summary> /// 处理换行 /// </summary> /// <param name="chr"></param> private void ResolveWrap(char chr) { switch (csNow) { case CharStatus.None: case CharStatus.ObjectValueFinish: break; case CharStatus.ObjectValue: if (szValue != "") { if (szValue.StartsWith("\"")) { throw new Exception("语句尚未结束,无法换行!"); } else { csNow = CharStatus.ObjectValueFinish; } } else { if (szName != "") throw new Exception("语句尚未结束,无法换行!"); } break; default: if (szName != "" || szValue != "") throw new Exception("语句尚未结束,无法换行!"); break; } nLine++; nIndex = 0; }
/// <summary> /// пометить персонажа как удалённый /// </summary> internal void MarkAsDeleted() { Status = CharStatus.Deleted; }
public L2Chair(int objectId, CharTemplate template) : base(objectId, template) { Closed = 0; //MaxHp = 0; CharStatus.SetCurrentHp(0); }
void Start() { status = GameObject.Find ("Char").GetComponent<CharStatus> (); }