public void ForeachActorsBreak(SceneManagement.Coordinate coord, SceneManagement.Process_Bool proc) { if (coord.X == -1 || coord.Y == -1) { return; } this.invokeIndex++; int num = coord.Y * this.TileCountX + coord.X; for (int i = 0; i < coord.NumY; i++) { for (int j = 0; j < coord.NumX; j++) { List <SceneManagement.Node> list = this.tiles[num + j].nodes; int count = list.get_Count(); for (int k = 0; k < count; k++) { SceneManagement.Node node = list.get_Item(k); if (node.owner && node.curInvokeIdx != this.invokeIndex) { node.curInvokeIdx = this.invokeIndex; if (!proc(ref node.owner)) { return; } } } } num += this.TileCountX; } }
private void Awake() { this._actorTestCache = new PoolObjHandle <ActorRoot> [this.Capacity]; this._actorTormvCache = new uint[this.Capacity]; this.m_updateTimer = this.UpdateInterval; this._targetActorTypeMask = 0; if (this.TargetActorTypes != null) { for (int i = 0; i < this.TargetActorTypes.Length; i++) { this._targetActorTypeMask |= 1 << (int)this.TargetActorTypes[i]; } } this._targetActorCampMask = 0; if (this.TargetActorCamps != null) { for (int j = 0; j < this.TargetActorCamps.Length; j++) { this._targetActorCampMask |= 1 << (int)this.TargetActorCamps[j]; } } this._targetActorSubTypeMask = 0; if (this.TargetActorSubTypes != null) { for (int k = 0; k < this.TargetActorSubTypes.Length; k++) { this._targetActorSubTypeMask |= 1 << this.TargetActorSubTypes[k]; } } this.BuildTriggerWrapper(); this.BuildInternalWrappers(); this._curCoolingTime = (this.CoolingAtStart ? this.FisrtCoolDownTime : this.CoolDownTime); this._coolingDown = this.CoolingAtStart; this._curCoolDownCount = this.CoolDownCount; this.m_coordHandler = new SceneManagement.Process_Bool(this.FilterCoordActor); }