예제 #1
0
        public override void Initialize()
        {
            loader = AddSceneComponent(new TilemapLoader());
            SetDesignResolution(1280, 720, SceneResolutionPolicy.ShowAll);
            AddRenderer(new DefaultRenderer());

            AddEntityProcessor(new HomingProjectileSystem(new Matcher().All(typeof(HomingTargetComponent))));
            AddEntityProcessor(new CivilianSystem(new Matcher().All(typeof(CivilianComponent))));
        }
    private void SetupTilemapLoader()
    {
        var loaders = FindObjectsOfType <TilemapLoader>();

        if (loaders.Length > 0)
        {
            TilemapLoader = loaders[0];
        }
    }
예제 #3
0
        public override void Initialize()
        {
            loader     = AddSceneComponent(new TilemapLoader());
            roadSystem = AddSceneComponent(new RoadSystemComponent());

            AddRenderer(new DefaultRenderer());
            RenderableComponentList.CompareUpdatableOrder = new PositionBasedRenderSorter();

            AddEntityProcessor(new HomingProjectileSystem(new Matcher().All(typeof(HomingTargetComponent))));
            AddEntityProcessor(new CivilianSystem(new Matcher().All(typeof(CivilianComponent))));

            AddRenderer(new RoadRenderer());
        }
예제 #4
0
        public override void OnEnabled()
        {
            base.OnEnabled();

            mapLoader         = Scene.GetSceneComponent <TilemapLoader>();
            mapLoader.OnLoad += RegisterNodes;

            graph = new WeightedRoadGraph();

            mapLoader.OnLoad += carSpawnerStart = () => carSpawner.Start(mapLoader.carSpawnPoints);
            carSpawner        = new CivilianCarSpawnSystem();
            Scene.AddSceneComponent(carSpawner);
        }
예제 #5
0
        protected static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromPath)
        {
            if (importedAssets == null)
            {
                return;
            }

            foreach (string tilemapAsset in importedAssets.Where(asset => asset != null && asset.EndsWith(".tmx")))
            {
                if (tilemapAsset == null)
                {
                    continue;
                }

                const string TilemapPath = "Assets/Tile Maps/Maps/";
                string       fileName    = Path.GetFileNameWithoutExtension(tilemapAsset);
                string       finalPath   = Path.Combine(TilemapPath, fileName) + ".asset";

                // ensure that the directory exists
                Directory.CreateDirectory(TilemapPath);

                TmxAsset tmxAsset = TilemapLoader.LoadTilemap(tilemapAsset);
                TmxAsset previous = (TmxAsset)AssetDatabase.LoadAssetAtPath(finalPath, typeof(TmxAsset));
                if (previous != null)
                {
                    previous.CopyFrom(tmxAsset);
                    FlaiDebug.LogWithTypeTag <TilemapImporter>("Tilemap {0} updated!", fileName);
                    EditorUtility.SetDirty(previous);
                }
                else
                {
                    AssetDatabase.CreateAsset(tmxAsset, finalPath);
                    EditorUtility.SetDirty(tmxAsset);
                    FlaiDebug.LogWithTypeTag <TilemapImporter>("Tilemap {0} imported succesfully!", fileName);
                }

                TilemapImporter.SaveTilemapFile(tilemapAsset);
                AssetDatabase.DeleteAsset(tilemapAsset);
            }

            AssetDatabase.Refresh();
            AssetDatabase.SaveAssets();
        }