Пример #1
0
    public void GenerateArmyInCamp(IBuildingInfo campInfo)
    {
        this.transform.position = PositionConvertor.GetWorldPositionFromActorTileIndex(
            this.FindCampStandablePoint(campInfo)) + new Vector3(Random.Range(-ClientSystemConstants.ACTOR_TILE_MAP_TILE_SIZE.width / 2, ClientSystemConstants.ACTOR_TILE_MAP_TILE_SIZE.height / 2),
                                                                 Random.Range(-ClientSystemConstants.ACTOR_TILE_MAP_TILE_SIZE.width / 2, ClientSystemConstants.ACTOR_TILE_MAP_TILE_SIZE.height / 2), 0);
        ArmyIdleState idleState = new ArmyIdleState(this, campInfo);

        this.ChangeState(idleState);
    }
Пример #2
0
 protected override void OnTargetReached()
 {
     if (this.m_TargetObjectPosition.Equals(this.m_TargetInfo.ActorPosition))
     {
         ArmyIdleState idleState = new ArmyIdleState(this.m_AIBehavior, this.m_TargetInfo as IBuildingInfo);
         this.m_AIBehavior.ChangeState(idleState);
     }
     else
     {
         ArmyWalkState walkState = new ArmyWalkState(
             this.m_MapData, ((ArmyAI)this.m_AIBehavior).FindCampStandablePoint(this.m_TargetInfo as IBuildingInfo),
             this.m_AIBehavior, this.m_TargetInfo as IBuildingInfo);
         this.m_AIBehavior.ChangeState(walkState);
     }
 }
Пример #3
0
    protected override void OnTargetReached()
    {
        ArmyIdleState idleState = new ArmyIdleState(this.m_AIBehavior, this.m_TargetInfo as IBuildingInfo);

        this.m_AIBehavior.ChangeState(idleState);
    }