Beispiel #1
0
    public override void BeginState( IAiProcess currentState)
    {
        if(m_ownerUnit.EnableMoving)
        {
            if(m_flyUnitAgent == null)
            {
                m_flyUnitAgent 				= new FlyUnitAgent();
                m_flyUnitAgent.m_unit		= m_ownerUnit;

                m_ai.m_UpdateMgr.Add(m_flyUnitAgent);
            }

            m_flyUnitAgent.enableUpdate = true;

            if(m_ai.m_TargetUnit != null)
            {
                SetTarget (m_ai.m_TargetUnit.Position);
            }
            else
            {
                SetTarget (m_ai.m_endOfTarget);

            }
        }
    }
Beispiel #2
0
 public override void EndState(IAiProcess nextState)
 {
     if (m_flyUnitAgent != null)
     {
         m_flyUnitAgent.StopMove();
     }
 }
Beispiel #3
0
 public override void EndState(IAiProcess nextState)
 {
     for (int i = 0; i < m_ownerUnit.m_mountList.Count; ++i)
     {
         m_ownerUnit.m_mountList[i].EndFire();
     }
 }
Beispiel #4
0
 public override void EndState(IAiProcess nextState)
 {
     for(int i = 0; i < m_ownerUnit.m_mountList.Count; ++i)
     {
         m_ownerUnit.m_mountList[i].EndFire();
     }
 }
Beispiel #5
0
 public override void EndState(IAiProcess nextState)
 {
     //		if(nextState != null)
     //		{
     //
     //		}
 }
Beispiel #6
0
//	public bool UnitTargetIn()
//	{
//		if(m_TargetUnit == null)
//		{
//			return false;
//		}
//
//		Vector3 v_PosDist = m_TargetUnit.Position - m_unit.Position;
//
//		float l_bothSize = m_TargetUnit.UnitSize + m_unit.UnitSize;
//		l_bothSize += m_unit.AttackRange;
//		if(v_PosDist.sqrMagnitude <= l_bothSize*l_bothSize)
//		{
//			return true;
//		}
//
//		return false;
//	}


    public void UpdateAI()
    {
        if (m_nextAiProcess != m_currentAiProcess)
        {
            IAiProcess nextAiProcess  = m_nextAiProcess;
            IAiProcess currentProcess = m_currentAiProcess;
            if (currentProcess != null)
            {
                currentProcess.EndState(nextAiProcess);
            }
            if (nextAiProcess != null)
            {
                nextAiProcess.BeginState(currentProcess);
            }

            m_currentAiProcess = m_nextAiProcess;
        }

        if (m_currentAiProcess != null)
        {
            m_currentAiProcess.Update();
        }

        if (m_UnitAttribute.HP <= 0 && m_dead == false)
        {
            m_dead = true;
            SetNextProcess(eAiProcess.fly_die);
        }

        m_UpdateMgr.Update();
    }
Beispiel #7
0
    public override void EndState(IAiProcess nextState)
    {
//		if(nextState != null)
//		{
//
//		}
    }
Beispiel #8
0
    public override void BeginState(IAiProcess currentState)
    {
//		if(currentState != null)
//		{
//
//		}
        m_startTime = Time.realtimeSinceStartup;
    }
Beispiel #9
0
 public override void BeginState(IAiProcess currentState)
 {
     //		if(currentState != null)
     //		{
     //
     //		}
     m_startTime = Time.realtimeSinceStartup;
 }
 public override void EndState(IAiProcess nextState)
 {
     if (nextState != null)
     {
     }
     else
     {
     }
 }
 public override void BeginState(IAiProcess currentState)
 {
     if (currentState != null)
     {
     }
     else
     {
     }
     m_waitTime = m_waitTimeMax;
 }
Beispiel #12
0
 public override void EndState(IAiProcess nextState)
 {
     if(m_UnityActionDeadEnd != null &&
        m_UnityActionDeadEnd.Target != null)
     {
         m_UnityActionDeadEnd.Invoke();
     }
     GameMgr.Ins.m_unitMgr.RemoveUnit(m_ownerUnit);
     m_dead = true;
 }
Beispiel #13
0
 public override void EndState(IAiProcess nextState)
 {
     if (m_UnityActionDeadEnd != null &&
         m_UnityActionDeadEnd.Target != null)
     {
         m_UnityActionDeadEnd.Invoke();
     }
     GameMgr.Ins.m_unitMgr.RemoveUnit(m_ownerUnit);
     m_dead = true;
 }
    public override void EndState(IAiProcess nextState)
    {
        if(nextState != null)
        {

        }
        else
        {

        }
    }
Beispiel #15
0
 public void SetNextProcess(eAiProcess eaiProcessName)
 {
     if (eaiProcessName == eAiProcess.Max)
     {
         m_nextAiProcess = null;
     }
     else
     {
         m_nextAiProcess = m_AiProcessList [(int)eaiProcessName];
     }
 }
    public override void BeginState(IAiProcess currentState)
    {
        if(currentState != null)
        {

        }
        else
        {

        }
        m_waitTime = m_waitTimeMax;
    }
Beispiel #17
0
 public void AddState(eAiProcess eaiProcessName, IAiProcess aiProcess)
 {
     if (aiProcess != null)
     {
         m_AiProcessList[(int)eaiProcessName] = aiProcess;
         aiProcess.SetOwnerUnit(this.m_unit, eaiProcessName);
     }
     else
     {
         Debug.LogError("Error State is null");
     }
 }
Beispiel #18
0
 public override void BeginState(IAiProcess currentState)
 {
     if (m_ai.m_TargetUnit != null)
     {
         m_lastMoveTarget = m_ai.m_endOfTarget;
         m_ownerUnit.Move(m_ai.m_TargetUnit.Position);
     }
     else
     {
         m_lastMoveTarget = m_ai.m_endOfTarget;
         m_ownerUnit.Move(m_ai.m_endOfTarget);
     }
 }
Beispiel #19
0
 public override void BeginState( IAiProcess currentState)
 {
     if(m_ai.m_TargetUnit != null)
     {
         m_lastMoveTarget = m_ai.m_endOfTarget;
         m_ownerUnit.Move(m_ai.m_TargetUnit.Position);
     }
     else
     {
         m_lastMoveTarget = m_ai.m_endOfTarget;
         m_ownerUnit.Move(m_ai.m_endOfTarget);
     }
 }
Beispiel #20
0
    public void AddState(eAiProcess eaiProcessName, IAiProcess aiProcess)
    {
        if(aiProcess != null)
        {
            m_AiProcessList[(int)eaiProcessName] = aiProcess;
            aiProcess.SetOwnerUnit(this.m_unit, eaiProcessName);

        }
        else
        {
            Debug.LogError("Error State is null");
        }
    }
Beispiel #21
0
 public override void BeginState(IAiProcess currentState)
 {
     if (m_init == false)
     {
         m_init = true;
         for (int i = 0; i < m_ownerUnit.m_mountList.Count; ++i)
         {
             m_ai.m_UpdateMgr.Add(m_ownerUnit.m_mountList[i]);
         }
     }
     if (m_FlyUnitAgent == null)
     {
         m_FlyUnitAgent = m_ai.m_UpdateMgr.GetUpdateClass <FlyUnitAgent> ();
     }
 }
Beispiel #22
0
    public override void BeginState(IAiProcess currentState)
    {
        m_ownerUnit.m_ai.m_dead = true;
        m_ownerUnit.StopMove();
        m_ownerUnit.Die();
        m_ownerUnit.EnableNavAgent = false;
        m_ownerUnit.m_unitGagebar.gameObject.SetActive(false);

        m_time = 2;

        if (m_UnityActionDeadStart != null &&
            m_UnityActionDeadStart.Target != null)
        {
            m_UnityActionDeadStart.Invoke();
        }
    }
Beispiel #23
0
    public override void BeginState(IAiProcess currentState)
    {
        if(m_init == false)
        {
            m_init = true;
            for(int i = 0; i < m_ownerUnit.m_mountList.Count; ++i)
            {
                m_ai.m_UpdateMgr.Add(m_ownerUnit.m_mountList[i]);
            }

        }
        if(m_FlyUnitAgent == null)
        {
            m_FlyUnitAgent = m_ai.m_UpdateMgr.GetUpdateClass<FlyUnitAgent> ();
        }
    }
Beispiel #24
0
    public override void BeginState(IAiProcess currentState)
    {
        m_ownerUnit.m_ai.m_dead = true;
        m_ownerUnit.StopMove();
        m_ownerUnit.Die();
        m_ownerUnit.EnableNavAgent = false;
        m_ownerUnit.m_unitGagebar.gameObject.SetActive(false);

        m_time = 2;

        if(m_UnityActionDeadStart != null &&
           m_UnityActionDeadStart.Target != null)
        {
            m_UnityActionDeadStart.Invoke();
        }
    }
Beispiel #25
0
    public override void BeginState(IAiProcess currentState)
    {
        m_ownerUnit.m_ai.m_dead = true;
        m_ownerUnit.Die();
        m_ownerUnit.m_unitGagebar.gameObject.SetActive(false);
        m_time = 0;

        Exploder.ExploderObject l_ExploderObject = m_ownerUnit.GetComponent <Exploder.ExploderObject> ();
        if (l_ExploderObject != null)
        {
            l_ExploderObject.Explode();
        }
        if (m_UnityActionDeadStart != null &&
            m_UnityActionDeadStart.Target != null)
        {
            m_UnityActionDeadStart.Invoke();
        }
    }
Beispiel #26
0
    public override void BeginState(IAiProcess currentState)
    {
        //m_currentSkill = this.OwnerUnit.m_baseSkill;

        if (m_ownerUnit.IsMove())
        {
            m_ownerUnit.StopMove();
        }
        if (!m_ownerUnit.IsAttacking())
        {
            m_ownerUnit.Attack(0);
        }

        if (m_ai.m_TargetUnit != null)
        {
            m_ownerUnit.LookTarget(m_ai.m_TargetUnit.Position);
        }
        m_ownerUnit.SetNavQuality(ObstacleAvoidanceType.NoObstacleAvoidance);
    }
Beispiel #27
0
    public override void BeginState(IAiProcess currentState)
    {
        //m_currentSkill = this.OwnerUnit.m_baseSkill;

        if(m_ownerUnit.IsMove())
        {
            m_ownerUnit.StopMove();
        }
        if(!m_ownerUnit.IsAttacking())
        {
            m_ownerUnit.Attack(0);
        }

        if(m_ai.m_TargetUnit != null)
        {
            m_ownerUnit.LookTarget(m_ai.m_TargetUnit.Position);
        }
        m_ownerUnit.SetNavQuality(ObstacleAvoidanceType.NoObstacleAvoidance);
    }
Beispiel #28
0
    public override void BeginState(IAiProcess currentState)
    {
        if (m_ownerUnit.EnableMoving)
        {
            if (m_flyUnitAgent == null)
            {
                m_flyUnitAgent        = new FlyUnitAgent();
                m_flyUnitAgent.m_unit = m_ownerUnit;

                m_ai.m_UpdateMgr.Add(m_flyUnitAgent);
            }

            m_flyUnitAgent.enableUpdate = true;

            if (m_ai.m_TargetUnit != null)
            {
                SetTarget(m_ai.m_TargetUnit.Position);
            }
            else
            {
                SetTarget(m_ai.m_endOfTarget);
            }
        }
    }
Beispiel #29
0
 public override void EndState(IAiProcess nextState)
 {
 }
Beispiel #30
0
 public abstract void BeginState(IAiProcess currentState);
Beispiel #31
0
 public abstract void EndState(IAiProcess nextState);
Beispiel #32
0
 public abstract void BeginState(IAiProcess currentState);
Beispiel #33
0
 public abstract void EndState(IAiProcess nextState);
Beispiel #34
0
 public override void EndState( IAiProcess nextState)
 {
     if(m_flyUnitAgent != null) m_flyUnitAgent.StopMove();
 }
Beispiel #35
0
 public override void EndState(IAiProcess nextState)
 {
 }
Beispiel #36
0
 public void SetNextProcess(eAiProcess eaiProcessName)
 {
     if(eaiProcessName == eAiProcess.Max)
     {
         m_nextAiProcess = null;
     }
     else
     {
         m_nextAiProcess = m_AiProcessList [(int)eaiProcessName];
     }
 }
Beispiel #37
0
    //    public bool UnitTargetIn()
    //    {
    //        if(m_TargetUnit == null)
    //        {
    //            return false;
    //        }
    //
    //        Vector3 v_PosDist = m_TargetUnit.Position - m_unit.Position;
    //
    //        float l_bothSize = m_TargetUnit.UnitSize + m_unit.UnitSize;
    //        l_bothSize += m_unit.AttackRange;
    //        if(v_PosDist.sqrMagnitude <= l_bothSize*l_bothSize)
    //        {
    //            return true;
    //        }
    //
    //        return false;
    //    }
    public void UpdateAI()
    {
        if(m_nextAiProcess != m_currentAiProcess)
        {
            IAiProcess nextAiProcess = m_nextAiProcess;
            IAiProcess currentProcess = m_currentAiProcess;
            if(currentProcess != null) currentProcess.EndState(nextAiProcess);
            if(nextAiProcess != null)  nextAiProcess.BeginState(currentProcess);

            m_currentAiProcess = m_nextAiProcess;
        }

        if(m_currentAiProcess != null)
        {
            m_currentAiProcess.Update();
        }

        if(m_UnitAttribute.HP <= 0 && m_dead == false)
        {
            m_dead = true;
            SetNextProcess(eAiProcess.fly_die);
        }

        m_UpdateMgr.Update ();
    }