Exemple #1
0
        private void GetAllPatrolByOrgAndStatus()
        {
            var context       = HttpContext.Current;
            var patrolManager = new PatrolManager();
            var orgName       = context.Request.Params["partment"];
            var personName    = context.Request.Params["personName"];
            var gridName      = context.Request.Params["gridName"];

            if (orgName.IndexOf("all", StringComparison.Ordinal) != -1)
            {
                orgName = ConfigurationManager.AppSettings["secondGridCode"];
            }
            var status = context.Request.Params["type"];

            if (status.IndexOf("all", StringComparison.Ordinal) != -1)
            {
                status = "在线,未签到,历史签到";
            }
            var dt = patrolManager.GetAllPatrolAreaList(orgName, status, personName, gridName);

            string str = DataTableToJson(dt);

            if (dt.Rows.Count == 0)
            {
                str = "{\"status\":false}";
            }
            else
            {
                str = "{\"status\":true,\"data\":" + str + "}";
            }
            str = str.Replace("\r\n", "").Replace("\n", "").Replace("\r\n", "").Replace(Environment.NewLine, "");

            context.Response.Write(str);
        }
Exemple #2
0
        void Awake()
        {
            patrolManager = transform.GetComponent <PatrolManager>();
            nodeDiameter  = nodeRadius * 2.0f;
            gridSizeX     = Mathf.RoundToInt(gridWorldSize.x / nodeDiameter);
            gridSizeY     = Mathf.RoundToInt(gridWorldSize.y / nodeDiameter);

            foreach (TerrainType region in walkableRegions)
            {
                walkableMask.value |= region.terrainMask.value;
                walkableRegionsDictionary.Add((int)Mathf.Log(region.terrainMask.value, 2), region.terrainPenalty);
            }

            patrolManager.InitGridSize(gridSizeX, gridSizeY);
            //patrolManager.CheckExistArea("Border");
            patrolManager.CheckExistArea("UpBorder");
            patrolManager.CheckExistArea("DownBorder");
            patrolManager.CheckExistArea("LeftBorder");
            patrolManager.CheckExistArea("RightBorder");
            CreateGrid();

            offsetX = transform.position.x;
            offsetZ = transform.position.z;

            chooseValue = Mathf.FloorToInt(obstacleProximityPenalty / (blurSize * blurSize)) + chooseOffset;

            MaxBorderPoint = transform.position + 0.5f * new Vector3(gridWorldSize.x, 0, gridWorldSize.y);
            MinBorderPoint = transform.position - 0.5f * new Vector3(gridWorldSize.x, 0, gridWorldSize.y);
            Debug.Log(MaxBorderPoint + "   " + MinBorderPoint);
        }
Exemple #3
0
 public PatrolArea(string _name, PatrolManager manager, int gridX, int gridY)
 {
     name             = _name;
     patrolManager    = manager;
     hasCouculateNode = new bool[gridX, gridY];
     couculateNodeDir = new Vector2Int[gridX, gridY];
 }
Exemple #4
0
 /// <summary>
 /// // DontDestroyOnLoad用
 /// </summary>
 private void OnDestroy()
 {
     if (this == Instance)
     {
         patrolManager = null;
     }
 }
Exemple #5
0
 public void OldAddArea(string name, int dir, bool _nearBorder, PatrolManager patrolManager)
 {
     if (lastAreaName.Length > 0)
     {
         if (nearBorder && _nearBorder)
         {
             direction += dir;
             patrolManager.FindAreaInDic(name).UpdateSpreadGrid(gridX, gridY, direction);
             Debug.Log(gridX + "," + gridY + "  corner " + direction);
         }
         else
         {
             if (name.CompareTo(lastAreaName) == 0)
             {
                 direction += dir;
                 patrolManager.FindAreaInDic(lastAreaName).UpdateSpreadGrid(gridX, gridY, direction);
             }
             else
             {
                 patrolManager.FindAreaInDic(lastAreaName).RemoveSpreadGrid(gridX, gridY);
                 lastAreaName += ("," + name);
                 direction     = 0;
                 canChoose     = false;
             }
         }
     }
     else
     {
         lastAreaName = name;
         direction    = dir;
         nearBorder   = _nearBorder;
         patrolManager.FindAreaInDic(name).AddSpreadGrid(gridX, gridY, dir);
     }
 }
Exemple #6
0
    void OnEnable()
    {
        shapeChangedSinceLastRepaint = true;

        patrolManager = target as PatrolManager;
        selectionInfo = new SelectionInfo();

        Undo.undoRedoPerformed += OnUndoOrRedo;
        //Tools.hidden = true;
    }
Exemple #7
0
    public Enemy SpawnEnemyInPatrol(PatrolPath path, PatrolManager patrolManager)
    {
        Debug.Log("spppppppppppppppppawn  ");
        Enemy enemy = freeEnemy[0];

        freeEnemy.RemoveAt(0);
        usedEnemy.Add(enemy);
        enemy.SetPatrolPath(path, patrolManager);
        return(enemy);
    }
    // Use this for initialization
    void Start()
    {
        _mementos      = GameObject.FindGameObjectsWithTag("Memento");
        _patrolManager = GameObject.Find("GameManager").GetComponent <PatrolManager>();

        PrefsPaneManager.instance.AddLivePreferenceFloat("Pulse Time", 0f, 120f, PULSE_TIME, OnPulseTimeChanged);
        PrefsPaneManager.instance.AddLivePreferenceFloat("Pulse Refill", 0f, 20f, MementoUtils.PULSE_DELAY_AMOUNT, OnPulseDelayChanged);
        PrefsPaneManager.instance.AddLivePreferenceFloat("Pulse Big Radius", 0f, 50f, MementoUtils.MEMENTO_PULSE_RADIUS, OnMementoPulseRadiusChanged);
        PrefsPaneManager.instance.AddLivePreferenceFloat("Pulse Small Radius", 0f, 50f, MementoUtils.PLAYER_PULSE_RADIUS, OnPlayerPulseRadiusChanged);
    }
Exemple #9
0
 // treasure
 void Start()
 {
     maze     = Object.Instantiate(Resources.Load <GameObject>("maze"), Vector3.zero, Quaternion.identity);
     treasure = Object.Instantiate(Resources.Load <GameObject>("treasure_chest"), Vector3.zero, Quaternion.identity);
     player   = gameObject.AddComponent <Player>() as Player;
     userGUI  = gameObject.AddComponent <UserGUI>() as UserGUI;
     director = SSDirector.getInstance();
     director.currentSceneController = this;
     patrolFactory = new PatrolFactory();
     actionManager = gameObject.AddComponent <PatrolManager>() as PatrolManager;
     for (int i = 0; i < 9; i++)
     {
         actionManager.PatrolAround(patrolFactory.getPatrol(i));
     }
     initTreasure();
 }
    /// <summary> Initializes required components </summary>
    void Start()
    {
        _navAgent      = GetComponent <NavMeshAgent>();
        _audioSource   = GetComponent <AudioSource>();
        _animator      = GetComponentInChildren <Animator>();
        _neutralAudio  = _audioSource.clip;
        _player        = GameObject.FindGameObjectWithTag("Player");
        _patrolManager = GameObject.Find("GameManager").GetComponent <PatrolManager>();
        _mementoUtils  = GameObject.Find("GameManager").GetComponent <MementoUtils>();
        _gameInfo      = GameObject.Find("GameManager").GetComponent <GameInfo>();

        _timeOnEnterIdle    = Time.time;
        _timeOnTargetPlayer = Time.time;

        if (PATROL_START != null)
        {
            /* Initialize patrol start point */
            _navAgent.SetDestination(PATROL_START.transform.position);
            _patrolCurrent = PATROL_START;
            ChangeState(EnemyState.Patrolling);
        }
        else
        {
            Debug.Log("<color=blue>AI Warning: This AI does not have a patrol set! (" + gameObject.name + ")</color>");
        }

        //Find and store a reference to the vision light
        Light[] lights = gameObject.GetComponentsInChildren <Light>();
        foreach (Light light in lights)
        {
            if (light.tag == "EnemyVisionLight")
            {
                visionLight = light;
            }
        }
        if (visionLight != null)
        {
            visionLight.range     = FOV_CONE_LENGTH;
            visionLight.spotAngle = FOV_CONE_RADIUS;
            _neutralColor         = visionLight.color;
        }
    }
Exemple #11
0
        private void GetPatrolInfoByUserCode()
        {
            var    context       = HttpContext.Current;
            var    userId        = context.Request.Params["userId"];
            var    patrolDate    = context.Request.Params["patrolDate"];
            var    strDate       = patrolDate + " " + context.Request.Params["strDate"];
            var    endDate       = patrolDate + " " + context.Request.Params["endDate"];
            var    patrolManager = new PatrolManager();
            var    dt            = patrolManager.GetPatrolInfoByUserCode(userId, strDate, endDate);
            string str           = DataTableToJson(dt);

            if (dt.Rows.Count == 0)
            {
                str = "{\"status\":false}";
            }
            else
            {
                str = "{\"status\":true,\"data\":" + str + "}";
            }
            str = str.Replace("\n", "").Replace("\r\n", "");

            context.Response.Write(str);
        }
Exemple #12
0
 private void Awake()
 {
     instance = this;
 }
Exemple #13
0
	void Awake()
	{
		
		//set the caches correctly
		weaponController = GetComponent<AIWeaponController>();
		movementManager = GetComponent<AIMovementSwitcher>();
		coverManager = GetComponent<SearchCover>();
		sightManager = sight.GetComponent<Sight>();
		earsManager = ears.GetComponent<Auditory>();
		patrolM = patrolManager.GetComponent<PatrolManager>();
		
		
		//at the start the current state is patroling
		currentState = CurrentState.patrol;
		//and the engagment is set to free
		engagementStatus = EngagementState.free;
		
		//some variables that we will later use for reference
		initFreezeTime = freezeTime;
		initShockTime = shockTime;
		initFOV = sightManager.fieldOfView;
		initChanceForFight = chanceForFight;
		initFear = fear;
		audioControl = GetComponent<ShooterAIAudioControl>();
		
		if(GetComponent<NavMeshAgent>() != null)
		{
			initHeight = GetComponent<NavMeshAgent>().height;
		}

		
		initYScale = GetComponentInChildren<HealthManager>().gameObject.transform.localScale.y;
		
		movement = movementManager;
		
		
		
		
		//anti-bottlenecking procedure
		enemyDistanceCheckFrameBarrier += Random.Range(-30f, 30f);
	
		//find the health manager automatically
		healthManager = GetComponentInChildren<HealthManager>().gameObject;
		
		//setup multiple weapons correctly
		otherWeapons.Add( weaponController.weaponHoldingObject );
		otherWeaponsMelee.Add( meleeAttackUsed ); 
	}
Exemple #14
0
 public void RemoveArea(PatrolManager patrolManager)
 {
     patrolManager.FindAreaInDic(lastAreaName).RemoveSpreadGrid(gridX, gridY);
     direction    = 0;
     lastAreaName = string.Empty;
 }
Exemple #15
0
        public void AddArea(string name, int dir, PatrolManager patrolManager)
        {
            //if (gridX == 36 && gridY == 70)Debug.Log(lastAreaName + "  addddddddddd  " + name);
            if (lastAreaName.Length == 0)
            {
                //未有區域,新增
                direction    = dir;
                lastAreaName = name;
                if (gridX == 36 && gridY == 70)
                {
                    Debug.Log(lastAreaName + "          " + gridX + "," + gridY + "    " + name);
                }
                patrolManager.FindAreaInDic(name).AddSpreadGrid(gridX, gridY, dir);
            }
            else
            {
                //一個以上,且名字不同,互相覆蓋,移除
                if (lastAreaName.CompareTo(name) != 0)
                {
                    Vector2Int pos = new Vector2Int(gridX, gridY);

                    //判斷不同障礙物的方向是不是一致,代表障礙物重疊
                    if ((direction == 11 && (dir == 23 || dir == 24)) || (direction == 12 && (dir == 23 || dir == 26)) || (direction == 13 && (dir == 24 || dir == 27)) || (direction == 14 && (dir == 26 || dir == 27)))
                    {
                    }
                    else
                    {
                        //不重疊記為碰撞,選起來,並移除區域的礦散點
                        if (!patrolManager.choosenNodeDic.ContainsKey(pos))
                        {
                            PatrolManager.SpreadNode node = new PatrolManager.SpreadNode();
                            //Debug.Log(gridX + "," + gridY + "  " + name + "  + " + lastAreaName);
                            node.choosen = true;
                            node.pos     = pos;
                            int colDir = dir + direction;
                            patrolManager.choosenNode.Add(node);
                            patrolManager.choosenNodeDic.Add(pos, node);

                            //同方向斜邊需互撞要新增tiltSpread
                            if (colDir == 47)
                            {
                                PatrolManager.SpreadNode tiltNode = new PatrolManager.SpreadNode();
                                tiltNode.dir = new Vector2Int(0, 1);
                                tiltNode.pos = node.pos + tiltNode.dir;
                                patrolManager.tiltSpread.Add(tiltNode);
                            }
                            else if (colDir == 53)
                            {
                                PatrolManager.SpreadNode tiltNode = new PatrolManager.SpreadNode();
                                tiltNode.dir = new Vector2Int(0, -1);
                                tiltNode.pos = node.pos + tiltNode.dir;
                                patrolManager.tiltSpread.Add(tiltNode);
                            }
                            else if (colDir == 49)
                            {
                                PatrolManager.SpreadNode tiltNode = new PatrolManager.SpreadNode();
                                tiltNode.dir = new Vector2Int(-1, 0);
                                tiltNode.pos = node.pos + tiltNode.dir;
                                patrolManager.tiltSpread.Add(tiltNode);
                            }
                            else if (colDir == 51)
                            {
                                PatrolManager.SpreadNode tiltNode = new PatrolManager.SpreadNode();
                                tiltNode.dir = new Vector2Int(1, 0);
                                tiltNode.pos = node.pos + tiltNode.dir;
                                patrolManager.tiltSpread.Add(tiltNode);
                            }
                        }

                        patrolManager.FindAreaInDic(lastAreaName).RemoveSpreadGrid(gridX, gridY);
                        direction    = 0;
                        lastAreaName = string.Empty;
                        canChoose    = false;
                    }
                }
                //一個以上,名字相同,但同時有上下左右,互相覆蓋,移除
                //斜的障礙物會出現的狀況
                else
                {
                    if (dir < 20 && direction < 20)
                    {
                        patrolManager.FindAreaInDic(lastAreaName).RemoveSpreadGrid(gridX, gridY);
                        direction    = 0;
                        lastAreaName = string.Empty;
                        canChoose    = false;
                    }
                }
            }
        }