// Token: 0x0600001F RID: 31 RVA: 0x000035A0 File Offset: 0x000017A0 private void ProcessAttack(AttackBehaviorBase attack) { bool flag = attack == null; if (!flag) { bool flag2 = attack is BasicAttackBehavior; if (flag2) { BasicAttackBehavior basicAttackBehavior = attack as BasicAttackBehavior; basicAttackBehavior.Cooldown = 0f; basicAttackBehavior.RequiresLineOfSight = false; basicAttackBehavior.MinRange = -1f; basicAttackBehavior.Range = -1f; bool flag3 = attack is TeleportBehavior; if (flag3) { this.TeleBehav = (basicAttackBehavior as TeleportBehavior); basicAttackBehavior.RequiresLineOfSight = true; basicAttackBehavior.MinRange = 1000f; basicAttackBehavior.Range = 0.1f; this.DoTeleport = typeof(TeleportBehavior).GetMethod("DoTeleport", BindingFlags.Instance | BindingFlags.NonPublic); } bool flag4 = attack is DashBehavior; if (flag4) { this.dashBehav = (basicAttackBehavior as DashBehavior); basicAttackBehavior.RequiresLineOfSight = true; basicAttackBehavior.MinRange = 1000f; basicAttackBehavior.Range = 0.1f; this.BeginState = typeof(DashBehavior).GetMethod("BeginState", BindingFlags.Instance | BindingFlags.NonPublic); this.State[0] = typeof(DashBehavior).GetNestedType("DashState", BindingFlags.NonPublic).GetField("Charge").GetValue(this.dashBehav); this.EndState = typeof(DashBehavior).GetMethod("EndState", BindingFlags.Instance | BindingFlags.NonPublic); } bool flag5 = basicAttackBehavior is ShootGunBehavior; if (flag5) { ShootGunBehavior shootGunBehavior = basicAttackBehavior as ShootGunBehavior; shootGunBehavior.LineOfSight = false; shootGunBehavior.EmptiesClip = false; shootGunBehavior.Cooldown = 0.3f; shootGunBehavior.RespectReload = true; } } else { bool flag6 = attack is AttackBehaviorGroup; if (flag6) { AttackBehaviorGroup attackBehaviorGroup = attack as AttackBehaviorGroup; for (int i = 0; i < attackBehaviorGroup.AttackBehaviors.Count; i++) { this.ProcessAttack(attackBehaviorGroup.AttackBehaviors[i].Behavior); } } } } }
//Constructorul bun public PlayerBehavior(GameObject _gameObject, Transform _basicAttackPrefab) { mGameObject = _gameObject; mTransform = mGameObject.transform; mBasicAttackPrefab = _basicAttackPrefab; mTargetingTransform = mTransform.GetChild(1); mAnimator = mTransform.GetChild(0); mActor = mGameObject.GetComponent <GenericActor>(); if (mActor == null) { Debug.LogWarning("Referinta catre Actor din PlayerBehavior este null!!!"); } if (mAnimator == null) { Debug.LogWarning("Referinta catre Animator din PlayerBehavior este null!"); } //mMaxSpeed = PlayerReference.instance.playerMaxSpeed; mNormalSpeed = GlobalValues.instance.playerNormalSpeed; mAirSpeed = GlobalValues.instance.playerAirSpeed; //mJumpTakeOffSpeed = PlayerReference.instance.playerMaxJump; mJumpTakeOffSpeed = GlobalValues.instance.jumpForce; b_PhysicsBehavior = new PhysicsBehavior(mGameObject, mGameObject.GetComponent <Rigidbody2D>()); b_BasicAttackBehavior = new BasicAttackBehavior(mBasicAttackPrefab); b_AnimatorBehavior = new AnimatorBehavior(mGameObject, mActor); b_BasicAttackBehavior.AddHitableTag("enemy"); mBehaviorsList.Add(b_PhysicsBehavior); mBehaviorsList.Add(b_BasicAttackBehavior); mBehaviorsList.Add(b_AnimatorBehavior); mFacingDirection = DIRECTION.RIGHT; mTargetingVector = Vector2.right; mNormalSprite = mGameObject.GetComponent <SpriteRenderer>().sprite; mIsHitSprite = GlobalSpriteReference.instance.EnemyHit; }
public Frostbolt() { SpellName = "Frostbolt"; AttackBehavior = new BasicAttackBehavior(); AbilityCooldown = new Cooldown(MAX_COOLDOWN); }
public Basic() { SpellName = "Basic"; AttackBehavior = new BasicAttackBehavior(); AbilityCooldown = new Cooldown(MAX_COOLDOWN); }
public Shield() { SpellName = "Shield"; AttackBehavior = new BasicAttackBehavior(); AbilityCooldown = new Cooldown(MAX_COOLDOWN); }