예제 #1
0
        public IsometricMatrix(IsometricMatrixData isoData)
        {
            _isometricMatrix = _isometricReverseMatrix = float4x4.identity;
            _isometricData   = isoData;

            SetIsometricData(isoData);
        }
예제 #2
0
        /// <inheritdoc />
        protected override void OnCreateManager()
        {
            IsometricMatrixData.CreateSingleton(Resources.Load <IsometricMatrixData>("IsometricMatrixData"));
            RemoveUpdateComponent = false;

            base.OnCreateManager();
            _endSimulationBarrier = World.GetOrCreateSystem <EndSimulationEntityCommandBufferSystem>();
        }
예제 #3
0
        public static IsometricMatrix CreateIsometricMatrix(IsometricMatrixData isoData)
        {
            var isoMatrix = new IsometricMatrix(new IsometricMatrix.IsometricMatrixData
            {
                OffsetWorldToIsometric = isoData._offsetWorldToIsometric,
                TileSize   = isoData._tileSize,
                TileRatio  = isoData._tileRatio,
                TileAngle  = isoData._tileAngle,
                TileHeight = isoData._tileHeight
            });

            return(isoMatrix);
        }
예제 #4
0
        public static void CreateSingleton(IsometricMatrixData isoData)
        {
            if (World.Active == null)
            {
                World.Active = new World("Editor World");
            }

            var dstManager = World.Active.EntityManager;

            var singletonGroup = dstManager.CreateEntityQuery(typeof(IsometricMatrix));
            var matrix         = CreateIsometricMatrix(isoData);

            dstManager.AddComponentData(dstManager.CreateEntity(), matrix);
            singletonGroup.SetSingleton(matrix);
        }
예제 #5
0
 public void SetIsometricData(IsometricMatrixData isoData)
 {
     _isometricData = isoData;
     CalculIsometricMatrix();
 }