Ejemplo n.º 1
0
 private void OnEnable()
 {
     anim        = GetComponent <Animator>();
     hs          = FindObjectOfType <HumanSpawner>();
     aids        = GetComponent <AIDestinationSetter>();
     aids.target = FindEscapeTarget();
 }
Ejemplo n.º 2
0
        protected override void Initialize()
        {
            Textures.LoadTextures(this.Content);

            #region Camera
            Camera           = new Camera(Graphics.GraphicsDevice);
            CameraPosition.X = Graphics.PreferredBackBufferWidth * 1.0f / 2;
            CameraPosition.Y = Graphics.PreferredBackBufferHeight * 1.0f / 2;
            #endregion

            #region Screen Setup
            //ResolutionHandler.resolution = ResolutionHandler.Resolution.Three;

            //ToDo 3 Fix to draw background texture to fill all of the background
            MapSizeX = GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width;
            MapSizeY = GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Height;

            SpriteBatch = new SpriteBatch(GraphicsDevice);

            Window.Title = "Zeds - Alpha " + versionNumber;
            #endregion

            #region Mouse
            IsMouseVisible     = false;
            MouseCoordinates.X = Graphics.PreferredBackBufferWidth * 1.0f / 2;
            MouseCoordinates.Y = Graphics.PreferredBackBufferWidth * 1.0f / 2;
            KeyBindings.PreviousScrollValue = 0;
            #endregion

            //Initial set up
            HQ.HQSetup();
            HumanNames.PopulateNamesLists();

            HumanSpawner.SpawnHumans();
            GrantStartingItems.PopulateItemList();

            #region Terrain
            GrassTufts.CreateGrassTufts();
            Bushes.CreateBushes();
            Trees.CreateTrees();
            Trees.CreateTreeFoliage();
            #endregion

            #region Build Menu
            BuildingPlacementHandler.SelectedStructure = BuildingSelected.None;

            PopulateBuildMenus.PopulateMenuIconList();
            BuildMenuPane.InitialiseBuildMenuLocation();
            BuildMenuPane.IsBuildMenuWindowVisible = true;
            BuildMenuRollOverText.UpdateRollOverTextPosition();
            #endregion

            DetailsPane.CreateDetailsPane(new Vector2((ScreenWidth / 2) - (Textures.DetailsWindowPane.Width / 2), 10), "");

            base.Initialize();

            ZedController.PopulateZedList();

            Grid.SetUpGrid();
        }
Ejemplo n.º 3
0
 async void SendTraffic()
 {
     if (webSocket != null && webSocket.State == WebSocketState.Open)
     {
         Dictionary <string, int> lanes = new Dictionary <string, int>();
         foreach (string key in laneNames)
         {
             lanes[key] = 0;
         }
         foreach (GameObject path in GameObject.FindGameObjectsWithTag("Path"))
         {
             CarSpawner cs = path.GetComponent <CarSpawner>();
             if (cs != null)
             {
                 lanes[cs.id] = cs.CountBeforeTrafficLight(true);
             }
             else
             {
                 HumanSpawner hs = path.GetComponent <HumanSpawner>();
                 lanes[hs.firstId]  = hs.CountBeforeFirstTrafficLight(true);
                 lanes[hs.secondId] = hs.CountBeforeSecondTrafficLight();
             }
         }
         string json = JsonConvert.SerializeObject(lanes);
         await webSocket.SendText(json);
     }
 }
Ejemplo n.º 4
0
    private void LoadWorld(WorldData worldData)
    {
        GameManager.Instance.SetGoalAtStart(worldData.BadAssGoal);

        //LOAD TILES
        foreach (TileData tile in worldData.Tiles)
        {
            TileController tileController = Instantiate(tile.TilePrefab);
            tileController.transform.SetParent(TileParent);
            tileController.transform.eulerAngles = new Vector3(0, tile.Rotation, 0);
            tileController.transform.position    = tile.Position;
            LoadedTiles.Add(tileController);

            bool canHaveBuilding = false;
            foreach (TileController tileC in TileSetData.TilesThatCanHaveBuildingsOnThem)
            {
                if (tile.TilePrefab.name == tileC.name)
                {
                    canHaveBuilding = true;
                    break;
                }
            }

            if (canHaveBuilding)
            {
                int chanceToSpawnHouse = 70;
                if (chanceToSpawnHouse > Random.Range(0, 100))
                {
                    int            randomInt = Random.Range(0, TileSetData.BuildingTiles.Length);
                    bool           rotate    = Random.Range(0, 2) > 0;
                    TileController buildingTileController = Instantiate(TileSetData.BuildingTiles[randomInt]);
                    buildingTileController.transform.SetParent(tileController.transform);
                    buildingTileController.transform.eulerAngles   = new Vector3(0, rotate ? 90 : 0, 0);
                    buildingTileController.transform.localPosition = new Vector3(-0.5f, 0.6f, -0.5f);
                }
            }

            bool canHaveTrees = false;
            foreach (TileController tileC in TileSetData.TilesThatCanHaveTreesOnThem)
            {
                if (tile.TilePrefab.name == tileC.name)
                {
                    canHaveTrees = true;
                    break;
                }
            }

            if (canHaveTrees)
            {
                int chanceToSpawnTrees = 80;
                if (chanceToSpawnTrees > Random.Range(0, 100))
                {
                    int            randomInt          = Random.Range(0, TileSetData.TreeTiles.Length);
                    int            rotate             = Random.Range(0, 4);
                    TileController treeTileController = Instantiate(TileSetData.TreeTiles[randomInt]);
                    treeTileController.transform.SetParent(tileController.transform, false);
                    treeTileController.transform.eulerAngles = new Vector3(0, 90 * rotate, 0);
                }
            }
        }

        //LOAD HUMANS
        HumanSpawner humanSpawnerPrefab = LevelManager.Instance.GetHumanSpawnerPrefab();

        foreach (HumanSpawnerData data in worldData.HumanSpawnerDatas)
        {
            HumanSpawner humanSpawner = Instantiate(humanSpawnerPrefab);
            humanSpawner.transform.SetParent(HumanSpawnerParent);
            humanSpawner.Init(data);
            HumanSpawners.Add(humanSpawner);
        }

        //LOAD CAR AI
        CarAIController carAIControllerPrefab = LevelManager.Instance.GetCarAiControllerPrefab();

        foreach (CarAIData data in worldData.CarAIDatas)
        {
            CarAIController carAiController = Instantiate(carAIControllerPrefab);
            carAiController.transform.SetParent(CarAIParent);
            carAiController.Init(data);
            CarAIControllers.Add(carAiController);
        }
    }
Ejemplo n.º 5
0
 void Start()
 {
     hs = FindObjectOfType <HumanSpawner>();
 }
Ejemplo n.º 6
0
 // Use this for initialization
 void Start()
 {
     INSTANCE = this;
 }