Inheritance: MonoBehaviour
コード例 #1
0
ファイル: Projectile.cs プロジェクト: Staz00/Breakpoint
    void OnHitCheck(Collider collider)
    {
        IDamageable damageableObject = collider.GetComponent <IDamageable>();

        if (collider.CompareTag("Enemy"))
        {
            m_State = collider.GetComponent <StatePatternEnemy>();

            if (damageableObject != null)
            {
                damageableObject.TakeDamage(damage);
            }

            if (m_State.currentState != m_State.chaseState)
            {
                m_State.currentState = m_State.alertState;
            }

            GameObject.Destroy(gameObject);
        }
        else if (collider.CompareTag("Boss"))
        {
            if (damageableObject != null)
            {
                damageableObject.TakeDamage(damage);
            }

            GameObject.Destroy(gameObject);
        }
    }
コード例 #2
0
 void OnEnable()
 {
     ai_target      = (StatePatternEnemy)target;
     ai_types_index = ai_target.current_preset;
     show_data      = new AnimBool(ai_target.customType);
     show_data.valueChanged.AddListener(Repaint);
 }
コード例 #3
0
    void Update()
    {
        //Only execute if hit.collider has a reference
        if (hit.collider != null)
        {
            //checks if EnemyMovement reference is not null, if it is then use HiddenPathEnemy reference
            if (hit.collider.name.Contains("Hidden"))
            {
                m_HiddenEnemy = hit.collider.GetComponent <HiddenPathEnemy>();

                m_HPText.text       = m_HiddenEnemy.m_Health.ToString();
                m_AgroText.text     = m_HiddenEnemy.isAggressive.ToString();
                m_DurationText.text = m_HiddenEnemy.Duration.ToString();
                m_CerebText.text    = m_HiddenEnemy.m_Cereb.ToString();
            }

            else
            {
                m_Enemy          = hit.collider.GetComponent <EnemyMovement>();
                m_AgroText.text  = m_Enemy.isAggressive.ToString();
                m_HPText.text    = m_Enemy.m_Health.ToString();
                m_CerebText.text = m_Enemy.m_Cereb.ToString();
            }

            m_EnemyState = hit.collider.GetComponent <StatePatternEnemy>();
        }
    }
コード例 #4
0
ファイル: Projectile.cs プロジェクト: Staz00/Breakpoint
    void OnHitCheck(RaycastHit hit)
    {
        IDamageable damageableObject = hit.collider.GetComponent <IDamageable>();

        //check the tag of the object that was hit
        if (hit.collider.CompareTag("Enemy"))
        {
            m_State = hit.collider.GetComponent <StatePatternEnemy>();

            if (damageableObject != null)
            {
                damageableObject.TakeHit(damage, hit);
            }

            if (m_State.currentState != m_State.chaseState)
            {
                m_State.currentState = m_State.alertState;
            }

            GameObject.Destroy(gameObject);
        }
        else if (hit.collider.CompareTag("Boss"))
        {
            if (damageableObject != null)
            {
                damageableObject.TakeHit(damage, hit);
            }

            GameObject.Destroy(gameObject);
        }
        else if (hit.collider.CompareTag("Obstacles"))
        {
            GameObject.Destroy(gameObject);
        }
    }
コード例 #5
0
ファイル: IdleState.cs プロジェクト: Adam-J-Harris/FSM
    public void CreateState(StatePatternEnemy pEnemy)
    {
        enemy = pEnemy;
        enemy.numberOfStates++;

        Debug.Log("Idle State Created " + enemy.numberOfStates);
    }
コード例 #6
0
ファイル: AIEditor.cs プロジェクト: xela10104/qk-pop-1
 public void loadData(StatePatternEnemy target)
 {
     target.sightRange = sightRange_;
     target.sightAngle = sightAngle_;
     target.suspiciousCheckRange = suspiciousCheckRange_;
     target.alert = alert_;
 }
コード例 #7
0
ファイル: Enemy.cs プロジェクト: Eliice/RPGRogueLike
 override protected void Awake()
 {
     base.Awake();
     statePattern = GetComponent <StatePatternEnemy>();
     animations   = GetComponent <Animation>();
     InitComponentToKeep();
     RecalcAtkSpeed();
 }
コード例 #8
0
ファイル: EngageState.cs プロジェクト: Adam-J-Harris/FSM
    void IEnemyState.CreateState(StatePatternEnemy pEnemy)
    {
        enemy = pEnemy;

        enemy.numberOfStates++;

        Debug.Log("Engage State Created " + enemy.numberOfStates);
    }
コード例 #9
0
    public FleeState(StatePatternEnemy statePatternEnemy)
    {
        manager = statePatternEnemy;
        manager.ModelSwap(manager.FleeModel);

        //Sets the powerup timer
        manager.powerUpTimer = 20f;
        Debug.Log("Flee");
    }
コード例 #10
0
    void Awake()
    {
        player       = GameObject.FindGameObjectWithTag("Player");
        playerHealth = player.GetComponent <PlayerHealth>();

        enemyHealth = GetComponentInParent <EnemyHealth>();

        enemy = GetComponentInParent <StatePatternEnemy>();
    }
コード例 #11
0
ファイル: ChaseState.cs プロジェクト: weej89/PsychoticGameDev
    /// <summary>
    /// Initializes a new instance of the <see cref="ChaseState"/> class.
    /// </summary>
    /// <param name="statePatternEnemy">State pattern enemy.</param>
    /// <param name="zombie">Zombie.</param>
    public ChaseState(StatePatternEnemy statePatternEnemy, HorrorAI zombie)
    {
        this.enemy = statePatternEnemy;
        this.zombie = zombie;

        MakeDecisionTree();
        SetNodes();

        decisionTree = new DecisionTree(decisions, actions, enemy.AddActionToQueue);
    }
コード例 #12
0
    /// <summary>
    /// Initializes a new instance of the <see cref="PatrolState"/> class.
    /// </summary>
    /// <param name="statePatternEnemy">State pattern enemy.</param>
    /// <param name="zombie">Zombie.</param>
    /// <param name="grid">Grid.</param>
    public PatrolState(StatePatternEnemy statePatternEnemy, HorrorAI zombie, Grid grid)
    {
        this.enemy = statePatternEnemy;
        this.zombie = zombie;
        this.grid = grid;

        MakeDecisionTree();
        SetNodes();

        decisionTree = new DecisionTree(decisions, actions, enemy.AddActionToQueue);
    }
コード例 #13
0
    void Start()
    {
        if(GetComponent<StatePatternEnemy>() == null)
        {
            Debug.Warning("level", "Redcoat " + gameObject.name + " has no state pattern to animate on.");
            return;
        }

        animController = GetComponent<Animator>();
        animParams = animController.parameters;
        redcoat = GetComponent<StatePatternEnemy>();
        state = redcoat.currentState;
    }
コード例 #14
0
    void IEnemyState.CreateState(StatePatternEnemy pEnemy)
    {
        enemy = pEnemy;
        enemy.numberOfStates++;

        Debug.Log("Patorl State Created " + enemy.numberOfStates);

        globalWayPoints = new Vector3[enemy.localWaypoints.Length];

        for (int i = 0; i < enemy.localWaypoints.Length; i++)
        {
            globalWayPoints[i] = enemy.localWaypoints[i] + enemy.transform.position;
        }

        cyclicArray = true;
    }
コード例 #15
0
ファイル: HiddenPathEnemy.cs プロジェクト: Staz00/Breakpoint
    protected override void Start()
    {
        base.Start();


        //initialize variables
        player   = GameObject.FindGameObjectWithTag("Player");
        m_State  = GetComponent <StatePatternEnemy>();
        nav      = GetComponent <NavMeshAgent>();
        m_Cereb  = Random.Range(20, 2020);
        m_WCereb = Random.Range(100, 50000);

        m_State.currentState = m_State.alertState;
        if (player != null)
        {
            nav.SetDestination(player.transform.position);
        }
        else
        {
            nav.SetDestination(m_ReturnPosition);
        }
    }
コード例 #16
0
 void Start()
 {
     destructorTransforms = new List <Transform>();
     m_patternEnemy       = GetComponent <StatePatternEnemy>();
     m_patternEnemyRanged = GetComponent <StatePatternEnemyRanged>();
     m_animator           = GetComponent <Animator>();
     m_navMesh            = GetComponent <NavMeshAgent>();
     m_capsuleCollider    = GetComponent <CapsuleCollider>();
     if (m_skinnedRenderer == null)
     {
         print("skinned renderer is null, assign in scene(AI) hpscript");
     }
     if (m_health > 0)
     {
         m_alive = true;
     }
     else
     {
         m_alive = false;
         Debug.Log("Spawned with 0 health, instadeath");
     }
 }
コード例 #17
0
    IEnumerator Death()
    {
        if (player)
        {
            Debug.Log("load");
            SceneManager.LoadScene(0);
        }
        if (anim != null)
        {
            anim.SetTrigger("Death");
        }
        audioSource.clip = deathSound;
        audioSource.Play();
        gameObject.GetComponent <Collider2D>().enabled = false;
        StatePatternEnemy pattern = gameObject.GetComponent <StatePatternEnemy>();

        if (pattern != null)
        {
            pattern.enabled = false;
        }
        const float amount = 330f;
        int         sign   = 1;

        if (Random.Range(0, 10) > 5)
        {
            sign = -1;
        }
        for (float i = 0; i < 4; i++)
        {
            CharacterSprite.material.SetFloat("_OffsetBlueX", -sign * (i / amount));
            CharacterSprite.material.SetFloat("_OffsetBlueY", sign * (i / amount));
            CharacterSprite.material.SetFloat("_OffsetRedX", -sign * (i / amount));
            CharacterSprite.material.SetFloat("_OffsetRedY", -sign * (i / amount));
            CharacterSprite.material.SetFloat("_OffsetGreenX", sign * (i / amount));
            yield return(new WaitForSeconds(.13f));
        }
        gameObject.SetActive(false);
    }
コード例 #18
0
    public void OpenDebugger()
    {
        PlayerMovement player = FindObjectOfType(typeof(PlayerMovement)) as PlayerMovement;

        if (player != null)
        {
            player.IsPaused = true;
        }

        if (hit.collider != null)
        {
            m_Enemy      = hit.collider.GetComponent <EnemyMovement>();
            m_EnemyState = hit.collider.GetComponent <StatePatternEnemy>();

            //checks if EnemyMovement reference is not null, if it is then use HiddenPathEnemy reference
            if (m_Enemy == null)
            {
                m_HiddenEnemy = hit.collider.GetComponent <HiddenPathEnemy>();

                m_HPText.text       = m_HiddenEnemy.m_Health.ToString();
                m_AgroText.text     = m_HiddenEnemy.isAggressive.ToString();
                m_DurationText.text = m_HiddenEnemy.Duration.ToString();
                m_CerebText.text    = m_HiddenEnemy.m_Cereb.ToString();
            }
            else
            {
                m_HPText.text       = m_Enemy.m_Health.ToString();
                m_AgroText.text     = m_Enemy.isAggressive.ToString();
                m_DurationText.text = m_Enemy.Duration.ToString();
                m_CerebText.text    = m_Enemy.m_Cereb.ToString();
            }

            m_AttackText.text = m_EnemyState.attackDamage.ToString();
            m_Debugger.SetActive(true);
        }
    }
コード例 #19
0
 public AttackWindUp(StatePatternEnemy statePatternEnemy, AttackState p_attackState)
 {
     enemy       = statePatternEnemy;
     attackState = p_attackState;
 }
コード例 #20
0
ファイル: AlertState.cs プロジェクト: Plippe/unity
 public AlertState(StatePatternEnemy parent)
 {
     enemy = parent;
 }
コード例 #21
0
 public LookState(StatePatternEnemy statePatternEnemy)
 {
     enemy = statePatternEnemy;
 }
コード例 #22
0
 public AttackState(StatePatternEnemy statePatternEnemy)   //Constructor
 {
     enemy = statePatternEnemy;
 }
コード例 #23
0
ファイル: DazedState.cs プロジェクト: xela10104/qk-pop-1
 public DazedState(StatePatternEnemy statePatternEnemy)
 {
     enemy = statePatternEnemy;
 }
コード例 #24
0
ファイル: ChaseState.cs プロジェクト: Plippe/unity
 public ChaseState(StatePatternEnemy parent)
 {
     enemy = parent;
 }
コード例 #25
0
ファイル: GuardState.cs プロジェクト: xela10104/qk-pop-1
 public GuardState(StatePatternEnemy statePatternEnemy)
 {
     enemy = statePatternEnemy;
 }
コード例 #26
0
ファイル: SearchingState.cs プロジェクト: xela10104/qk-pop-1
 public SearchingState(StatePatternEnemy statePatternEnemy)
 {
     enemy = statePatternEnemy;
 }
コード例 #27
0
ファイル: DistractedState.cs プロジェクト: xela10104/qk-pop-1
 public DistractedState(StatePatternEnemy statePatternEnemy)
 {
     enemy = statePatternEnemy;
 }
コード例 #28
0
ファイル: KOState.cs プロジェクト: xela10104/qk-pop-1
 public KOState(StatePatternEnemy statePatternEnemy)
 {
     enemy = statePatternEnemy;
 }
コード例 #29
0
 public FollowState(StatePatternEnemy statePatternEnemy)
 {
     manager = statePatternEnemy;
     manager.ModelSwap(manager.WanderModel);
 }
コード例 #30
0
 public AlertState(StatePatternEnemy statePatternEnemy)
 {
     enemy = statePatternEnemy;
 }
コード例 #31
0
ファイル: PatrolState.cs プロジェクト: Plippe/unity
 public PatrolState(StatePatternEnemy parent)
 {
     enemy = parent;
 }
コード例 #32
0
ファイル: ChaseState.cs プロジェクト: MrPompon/Tale-Revived
 public ChaseState(StatePatternEnemy statePatternEnemy)
 {
     enemy = statePatternEnemy;
 }
コード例 #33
0
 public AlertState(StatePatternEnemy statePatternEnemy)
 {
     enemy = statePatternEnemy;
 }
コード例 #34
0
ファイル: EnemyDetector.cs プロジェクト: Staz00/Breakpoint
 void Start()
 {
     statePatternEnemy = GetComponentInParent <StatePatternEnemy>();
 }
コード例 #35
0
ファイル: AIEditor.cs プロジェクト: xela10104/qk-pop-1
 void OnEnable()
 {
     ai_target = (StatePatternEnemy)target;
     ai_types_index = ai_target.current_preset;
     show_data = new AnimBool(ai_target.customType);
     show_data.valueChanged.AddListener(Repaint);
 }
コード例 #36
0
 public WanderState(StatePatternEnemy statePatternEnemy)
 {
     enemy = statePatternEnemy;
 }
コード例 #37
0
 public ObserveState(StatePatternEnemy spe)
 {
     statePatternEnemy = spe;
     statePatternEnemy.anim.SetBool("Walking", false);
 }
コード例 #38
0
 public KOState(StatePatternEnemy statePatternEnemy)
 {
     enemy = statePatternEnemy;
 }
コード例 #39
0
 public PatrolState(StatePatternEnemy statePatternEnemy)
 {
     enemy = statePatternEnemy;
 }
コード例 #40
0
 public AttackState(StatePatternEnemy statePatternEnemy)
 {
     enemy = statePatternEnemy;
 }
コード例 #41
0
ファイル: DazedState.cs プロジェクト: xela10104/DeadWeek
 public DazedState(StatePatternEnemy statePatternEnemy)
 {
     enemy = statePatternEnemy;
 }
コード例 #42
0
ファイル: PatrolState.cs プロジェクト: nickchow007/Unity_AI
 public PatrolState(StatePatternEnemy statePatternEnemy)
 {
     enemy = statePatternEnemy;
 }
コード例 #43
0
ファイル: WalkState.cs プロジェクト: xela10104/qk-pop-1
 public WalkState(StatePatternEnemy statePatternEnemy)
 {
     enemy = statePatternEnemy;
 }
コード例 #44
0
ファイル: AlertState.cs プロジェクト: terrastorm/Warrenbound
 public AlertState(StatePatternEnemy statePatternEnemy)   //Constructor
 {
     enemy = statePatternEnemy;
 }
コード例 #45
0
 public AttackOnGoing(StatePatternEnemy statePatternEnemy, AttackState p_attackState)
 {
     enemy       = statePatternEnemy;
     attackState = p_attackState;
 }
コード例 #46
0
 public ExamineState(StatePatternEnemy statePatternEnemy)
 {
     enemy = statePatternEnemy;
 }
コード例 #47
0
 public VictimeState(StatePatternEnemy statePatternEnemy)
 {
     enemy = statePatternEnemy;
 }
コード例 #48
0
 public DeadState(StatePatternEnemy statePatternEnemy)
 {
     manager = statePatternEnemy;
     manager.ModelSwap(manager.DeadModel);
 }
コード例 #49
0
 public PointSearchState(StatePatternEnemy statePatternEnemy)
 {
     enemy = statePatternEnemy;
 }
コード例 #50
0
 public DWaiterState(StatePatternEnemy statePatternEnemy)
 {
     enemy = statePatternEnemy;
 }
コード例 #51
0
 public AttackState(StatePatternEnemy statePatternEnenmy)
 {
     enemy = statePatternEnenmy;
 }
コード例 #52
0
 public ChaseState(StatePatternEnemy statePatternEnemy)
 {
     enemy = statePatternEnemy;
 }
コード例 #53
0
ファイル: SuspiciousState.cs プロジェクト: xela10104/qk-pop-1
 public SuspiciousState(StatePatternEnemy statePatternEnemy)
 {
     enemy = statePatternEnemy;
 }