protected void ReleaseRenderProxy() { if (!((UnityEngine.Object) this.RenderProxy != (UnityEngine.Object)null)) { return; } this.RenderProxy.UnRegisterPrimaryShape(); this.RenderProxy = (GameShapeProxyBase)null; }
public bool LinkupRenderProxy(GameShapeProxyBase newProxy) { if ((newProxy != null) && (this.RenderProxy == null)) { this.SetRenderProxy(newProxy); newProxy.RegisterPrimaryShape(this); return(true); } Debug.LogError(string.Concat(new object[] { "Error newProxy ", newProxy != null, " RenderProxy ", this.RenderProxy != null })); return(false); }
public void UpdateCameraPositionForShape(GameShapeProxyBase following) { if (!((Object)following != (Object)null) || following.GetPrimaryShape() == null) { return; } Vector3 zero = Vector3.zero; if (!this.GetCameraPositionForBoardSlot(following.GetPrimaryShape().GetAnchorSlot(), ref zero)) { return; } this.SetViewingCameraPositionXY(zero); }
protected void SetRenderProxy(GameShapeProxyBase inProxy) { this.RenderProxy = inProxy; }
private void DoStuffForCameraMove(BoardPosition NOTUSED_newCameraPos, Vector3 newCameraWorldPos) { int num1 = 11; int num2 = this.ActiveBoard.BoardXSize - 2 * num1; int num3 = this.ActiveBoard.BoardYSize - 2 * num1; int num4 = num2 / 2; int num5 = num3 / 2; if ((double)newCameraWorldPos.x < (double)this.WorldXCameraRange.Min) { float num6 = (float)num4 * this.GetBoardSlotWorldSizeX(); this.WorldXCameraRange.ShiftRange(-num6); this.WorldXBoardRange.ShiftRange(-num6); for (int index = 0; index < this.BoardXWorldXArray.Length; ++index) { if ((double)this.BoardXWorldXArray[index] > (double)this.WorldXBoardRange.Max) { this.BoardXWorldXArray[index] -= this.BoardXSpanInWorldX; } } int shapesOnBoardCount = this.ActiveBoard.GetShapesOnBoardCount(); for (int index = 0; index < shapesOnBoardCount; ++index) { GameShapeProxyBase renderProxy = this.ActiveBoard.ShapeList[index].GetRenderProxy(); Vector3 orTargetPosition = renderProxy.GetPositionOrTargetPosition(); if ((double)orTargetPosition.x > (double)this.WorldXBoardRange.Max) { Vector3 newWorldPosition = orTargetPosition; newWorldPosition.x -= this.BoardXSpanInWorldX; renderProxy.SetNewWorldPositionForBoardRepositionShift(newWorldPosition); } } } else if ((double)newCameraWorldPos.x > (double)this.WorldXCameraRange.Max) { float shiftAmount = (float)num4 * this.GetBoardSlotWorldSizeX(); this.WorldXCameraRange.ShiftRange(shiftAmount); this.WorldXBoardRange.ShiftRange(shiftAmount); for (int index = 0; index < this.BoardXWorldXArray.Length; ++index) { if ((double)this.BoardXWorldXArray[index] < (double)this.WorldXBoardRange.Min) { this.BoardXWorldXArray[index] += this.BoardXSpanInWorldX; } } int shapesOnBoardCount = this.ActiveBoard.GetShapesOnBoardCount(); for (int index = 0; index < shapesOnBoardCount; ++index) { GameShapeProxyBase renderProxy = this.ActiveBoard.ShapeList[index].GetRenderProxy(); Vector3 orTargetPosition = renderProxy.GetPositionOrTargetPosition(); if ((double)orTargetPosition.x < (double)this.WorldXBoardRange.Min) { Vector3 newWorldPosition = orTargetPosition; newWorldPosition.x += this.BoardXSpanInWorldX; renderProxy.SetNewWorldPositionForBoardRepositionShift(newWorldPosition); } } } if ((double)newCameraWorldPos.y < (double)this.WorldYCameraRange.Min) { float num6 = (float)num5 * this.GetBoardSlotWorldSizeY(); this.WorldYCameraRange.ShiftRange(-num6); this.WorldYBoardRange.ShiftRange(-num6); for (int index = 0; index < this.BoardYWorldYArray.Length; ++index) { if ((double)this.BoardYWorldYArray[index] > (double)this.WorldYBoardRange.Max) { this.BoardYWorldYArray[index] -= this.BoardYSpanInWorldY; } } int shapesOnBoardCount = this.ActiveBoard.GetShapesOnBoardCount(); for (int index = 0; index < shapesOnBoardCount; ++index) { GameShapeProxyBase renderProxy = this.ActiveBoard.ShapeList[index].GetRenderProxy(); Vector3 orTargetPosition = renderProxy.GetPositionOrTargetPosition(); if ((double)orTargetPosition.y > (double)this.WorldYBoardRange.Max) { Vector3 newWorldPosition = orTargetPosition; newWorldPosition.y -= this.BoardYSpanInWorldY; renderProxy.SetNewWorldPositionForBoardRepositionShift(newWorldPosition); } } } else { if ((double)newCameraWorldPos.y <= (double)this.WorldYCameraRange.Max) { return; } float shiftAmount = (float)num5 * this.GetBoardSlotWorldSizeY(); this.WorldYCameraRange.ShiftRange(shiftAmount); this.WorldYBoardRange.ShiftRange(shiftAmount); for (int index = 0; index < this.BoardYWorldYArray.Length; ++index) { if ((double)this.BoardYWorldYArray[index] < (double)this.WorldYBoardRange.Min) { this.BoardYWorldYArray[index] += this.BoardYSpanInWorldY; } } int shapesOnBoardCount = this.ActiveBoard.GetShapesOnBoardCount(); for (int index = 0; index < shapesOnBoardCount; ++index) { GameShapeProxyBase renderProxy = this.ActiveBoard.ShapeList[index].GetRenderProxy(); Vector3 orTargetPosition = renderProxy.GetPositionOrTargetPosition(); if ((double)orTargetPosition.y < (double)this.WorldYBoardRange.Min) { Vector3 newWorldPosition = orTargetPosition; newWorldPosition.y += this.BoardYSpanInWorldY; renderProxy.SetNewWorldPositionForBoardRepositionShift(newWorldPosition); } } } }