Example #1
0
 private void Awake()
 {
     if (instance != null)
     {
         Debug.Log("Déjà Move_Player dans la scène");
         return;
     }
     instance = this;
 }
    public BaseCharacter InstantiateCharacter(ECharacters instanceType, Vector2 pos, int groupNumber)
    {
        BaseCharacter outCharacter = Instantiate(Resources.Load <BaseCharacter>(m_instanceHandlerDic[instanceType].Path), pos, Quaternion.identity);

        // Selection StateMachine
        BaseState idle = null, attack = null, move = null, death = null, chase = null;

        switch (m_instanceHandlerDic[instanceType].IdleState)
        {
        case 0: idle = new Idle_Player(outCharacter); break;

        case 1: idle = new Idle_Enermy(outCharacter); break;
        }
        switch (m_instanceHandlerDic[instanceType].AttackState)
        {
        case 0: attack = new Attack_Player(outCharacter); break;

        case 1: attack = new Attack_ChaseAttack(outCharacter); break;

        case 2: attack = new Attack_SkillAttack(outCharacter); break;
        }
        switch (m_instanceHandlerDic[instanceType].MoveState)
        {
        case 0: move = new Move_Player(outCharacter); break;

        case 1: move = new Move_Enermy(outCharacter); break;
        }
        switch (m_instanceHandlerDic[instanceType].DeathState)
        {
        case 0: death = new Death_Default(outCharacter); break;
        }
        switch (m_instanceHandlerDic[instanceType].ChaseState)
        {
        case 1: chase = new Chase_Enermy(outCharacter); break;

        default: break;
        }

        outCharacter.Init(groupNumber, m_instanceHandlerDic[instanceType].AgentDensity, m_instanceHandlerDic[instanceType].Stat, idle, attack, move, death, chase);
        return(outCharacter);
    }
 void Awake()
 {
     move_Player = GameObject.FindGameObjectWithTag("Player").GetComponent <Move_Player>();
     interact    = GameObject.FindGameObjectWithTag("Interact01").GetComponent <Text>();
 }