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); }
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); }
public PatrolArea(string _name, PatrolManager manager, int gridX, int gridY) { name = _name; patrolManager = manager; hasCouculateNode = new bool[gridX, gridY]; couculateNodeDir = new Vector2Int[gridX, gridY]; }
/// <summary> /// // DontDestroyOnLoad用 /// </summary> private void OnDestroy() { if (this == Instance) { patrolManager = null; } }
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); } }
void OnEnable() { shapeChangedSinceLastRepaint = true; patrolManager = target as PatrolManager; selectionInfo = new SelectionInfo(); Undo.undoRedoPerformed += OnUndoOrRedo; //Tools.hidden = true; }
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); }
// 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; } }
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); }
private void Awake() { instance = this; }
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 ); }
public void RemoveArea(PatrolManager patrolManager) { patrolManager.FindAreaInDic(lastAreaName).RemoveSpreadGrid(gridX, gridY); direction = 0; lastAreaName = string.Empty; }
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; } } } }