public void Deserialize(JSON_BreakObjParam json) { if (json == null) { return; } this.mIname = json.iname; this.mName = json.name; this.mExpr = json.expr; this.mUnitId = json.unit_id; this.mClashType = (eMapBreakClashType)json.clash_type; this.mAiType = (eMapBreakAIType)json.ai_type; this.mSideType = (eMapBreakSideType)json.side_type; this.mRayType = (eMapBreakRayType)json.ray_type; this.mIsUI = json.is_ui != 0; this.mRestHps = (int[])null; if (!string.IsNullOrEmpty(json.rest_hps)) { string[] strArray = json.rest_hps.Split(','); if (strArray != null && strArray.Length != 0) { this.mRestHps = new int[strArray.Length]; for (int index = 0; index < strArray.Length; ++index) { int result = 0; int.TryParse(strArray[index], out result); this.mRestHps[index] = result; } } } this.mAliveClock = json.clock; this.mAppearDir = (EUnitDirection)json.appear_dir; }
public static IntVector2 ToOffset(this EUnitDirection direction) { switch (direction) { case EUnitDirection.PositiveX: return(new IntVector2(1, 0)); case EUnitDirection.PositiveY: return(new IntVector2(0, 1)); case EUnitDirection.NegativeY: return(new IntVector2(0, -1)); default: return(new IntVector2(-1, 0)); } }
public static Quaternion ToRotation(this EUnitDirection direction) { switch (direction) { case EUnitDirection.PositiveX: return(Quaternion.LookRotation(Vector3.get_right())); case EUnitDirection.PositiveY: return(Quaternion.LookRotation(Vector3.get_forward())); case EUnitDirection.NegativeX: return(Quaternion.LookRotation(Vector3.get_left())); case EUnitDirection.NegativeY: return(Quaternion.LookRotation(Vector3.get_back())); default: return(Quaternion.get_identity()); } }
public static Vector3 ToVector(this EUnitDirection direction) { switch (direction) { case EUnitDirection.PositiveX: return(Vector3.get_right()); case EUnitDirection.PositiveY: return(Vector3.get_forward()); case EUnitDirection.NegativeX: return(Vector3.get_left()); case EUnitDirection.NegativeY: return(Vector3.get_back()); default: return(Vector3.get_left()); } }
private bool actionKnockBack(Unit target, RandXorshift rand, LogMapTrick.TargetInfo log_mt_ti) { if (rand == null || (int)this.mTrickParam.KnockBackRate == 0 || (int)this.mTrickParam.KnockBackVal == 0) { return(false); } SceneBattle instance = SceneBattle.Instance; if (!UnityEngine.Object.op_Implicit((UnityEngine.Object)instance)) { return(false); } BattleCore battle = instance.Battle; if (battle == null) { return(false); } if (!this.checkKnockBack(target, rand)) { return(true); } EUnitDirection dir = this.reverseDirection[(int)target.Direction]; Grid gridKnockBack = battle.GetGridKnockBack(target, dir, (int)this.mTrickParam.KnockBackVal, (SkillData)null, 0, 0); if (gridKnockBack == null) { return(true); } if (log_mt_ti != null) { log_mt_ti.IsEffective = true; log_mt_ti.KnockBackGrid = gridKnockBack; } target.x = gridKnockBack.x; target.y = gridKnockBack.y; return(true); }