Inheritance: MonoBehaviour
Example #1
0
    public override void OnStartServer()
    {
        api   = new HttpApiLogic(HttpRequestSender.GetInstance());
        roads = RoadController.GetInstance();
        roads.OnCustomStartServer();

        var randomPositions = AchievementController.GetRandomPositions(COINS_COUNT, roads);

        foreach (Vector2 position in randomPositions)
        {
            NetworkServer.Spawn(
                Instantiate(
                    achievementPrefab,
                    new Vector3(position.x, 1.5f, position.y),
                    Quaternion.AngleAxis(45, Vector3.up) * Quaternion.AngleAxis(90, Vector3.forward)
                    )
                );
        }

        var superPosition = AchievementController.GetPoint(roads);

        NetworkServer.Spawn(
            Instantiate(
                superAchievementPrefab,
                new Vector3(superPosition.x, 1.5f, superPosition.y),
                Quaternion.AngleAxis(45, Vector3.up) * Quaternion.AngleAxis(90, Vector3.forward)
                )
            );
    }
Example #2
0
    private void setRandomRoadVals(RoadController road)
    {
        int direction = Random.Range(1, 3);

        if (direction == 2)
        {
            road.setDirection(-1);
        }
        else
        {
            road.setDirection(1);
        }

        float randSpeedMod = Random.Range(-1f, 1f);

        randSpeedMod = Mathf.Max(-.05f, randSpeedMod);
        float speedMod = (float)(.1f + (randSpeedMod / 10f) + (difficultyMod / 1000f));

        road.setSpeedMod(speedMod);

        float randSpawnDelay = Random.Range(-.5f, .5f);
        float spawnDelay     = Mathf.Max((.75f * (.2f / speedMod)) - randSpawnDelay, .5f);

        road.setSpeedMod(speedMod);
        road.setDifficultyMod(difficultyMod);
    }
Example #3
0
        private bool SpawnRoad(RoadController roadController)
        {
            var tempRoad          = Instantiate(roadController);
            var tempRoadTransform = tempRoad.transform;

            tempRoadTransform.position = spawnPosition;
            tempRoadTransform.rotation = spawnRotation;

            var expectedSpawnPosition = tempRoad.EndPosition;

            if (spawnPosition.z > expectedSpawnPosition.z)
            {
                Destroy(tempRoad.gameObject);
                return(false);
            }

            generatedRoads.Enqueue(tempRoad);

            try
            {
                nextRoadType = tempRoad.GetNextRoad();
            }
            catch (Exception e)
            {
                Debug.Log(e.Message);
                nextRoadType = RoadType.DefaultForward;
            }

            spawnPosition = tempRoad.EndPosition;
            spawnRotation = tempRoad.EndRotation;
            return(true);
        }
    List <GameObject> nearest()
    {
        List <GameObject> output = null;
        int furthestTile         = int.MaxValue;
        int furthestRoad         = 0;

        for (int i = 0; i < GameManager.gm.roadNumber; i++)
        {
            for (int j = GameManager.gm.Road [i].GetLength(0) - 1; j >= 0; j--)
            {
                RoadController currentRoad = GameManager.gm.Road [i] [j];
                if (Mathf.Abs(currentRoad.y - y) + Mathf.Abs(currentRoad.x - x) > range)
                {
                    continue;
                }
                if (currentRoad.getUnits().Count > 0 && GameManager.gm.Road[i].GetLength(0) - j < furthestTile)
                {
                    furthestRoad = i;
                    furthestTile = j;
                    output       = currentRoad.getUnits();
                }
            }
        }
        return(output);
    }
Example #5
0
    public void OnTriggerEnter(Collider other)
    {
        Debug.Log(other);
        if (other.gameObject.CompareTag("Pizza"))
        {
            PizzaController pizza = other.GetComponent <PizzaController>();
            destination = pizza.destination;
            destination.gameObject.SetActive(true);
            Destroy(pizza.gameObject);
            return;
        }

        if (destination != null && other.gameObject == destination.gameObject)
        {
            destination = null;
            other.gameObject.SetActive(false);
            score++;
            pizzeria.MakeAPizza();
        }

        if (other.gameObject.CompareTag("Road"))
        {
            RoadController road = other.GetComponent <RoadController>();
            if (road)
            {
                location = road.Location;
            }
        }
    }
 public static List <Vector2> GetRandomPositions(int count, RoadController roads)
 {
     return(Enumerable
            .Range(0, count)
            .Select <int, Vector2>((c) => GetPoint(roads))
            .ToList <Vector2>());
 }
 // Use this for initialization
 void Start()
 {
     virtualCarCollection = new Collection <VirtualCarObject>();
     if (roadControllerScript == null)
     {
         roadControllerScript = GameObject.Find("Road(Generatable)").GetComponent <RoadController>();
     }
 }
Example #8
0
 private void Start()
 {
     // TODO: あとで直す
     stageController = GameObject.Find("StageController");
     roadController  = stageController.GetComponent <RoadController>();
     obj             = GameObject.Find("Player_Pack(Clone)");
     passingJudge    = obj.GetComponent <PassingJudge>();
     playerRunning   = obj.GetComponent <PlayerRunning>();
 }
    // Use this for initialization
    void Start()
    {
        MaxSpeed = Random.Range(MinSpeed, TopSpeed);
        Road     = GameObject.Find("Road").GetComponent <RoadController>();
        Car      = GetComponent <Rigidbody2D>();
        State    = CarState.Accel;
        var skins = GameObject.Find("CarSkins").GetComponent <SkinsHolder>().Skins;

        GetComponent <SpriteRenderer>().sprite = skins[Random.Range(0, skins.Length)];
    }
Example #10
0
    private static Road InstantiateRoadObj(Road road, Orientation orientation, Hex position)
    {
        var obj = Object.Instantiate(road);

        obj.Position = RoadController.Unscaled(position);
        obj.MoveTransform();
        obj.SetOrientation(orientation);
        MapManager.Instance.Map.SetNewOwner(obj);
        obj.transform.SetParent(RoadPool.Instance.transform);
        return(obj);
    }
Example #11
0
    void Start()
    {
        var playerControll = GameObject.Find("PlayerController");

        //var stageController = GameObject.Find("StageController");
        playerController = playerControll.GetComponent <PlayerController>();
        roadController   = this.GetComponent <RoadController>();
        button           = this.GetComponent <ButtonStatus>();

        startSubject.Where(x => x == 5)
        .Subscribe(_ => StartCoroutine(StartCompleted()));
    }
Example #12
0
    IEnumerator GetInstance()
    {
        designer       = stageController.GetComponent <Designer>();
        stageMake      = stageController.GetComponent <StageMake>();
        mapData        = designer.mapData;
        stageRail      = stageMake.stageRail;
        roadController = stageController.GetComponent <RoadController>();

        startComplete.startSubject.OnNext(5);

        yield return(null);
    }
Example #13
0
    private void Start()
    {
        Map = new Map(Constants.WorldSize);
        TerrainManagers.Instance.InitTerrain(Map);
        RoadController     = new RoadController();
        BuildingController = new BuildingController();
        RoadController.BuildRoad();
        CarsController = new CarsController();
#if UNITY_EDITOR
        //Draw(Map.HexUnitMap);
#endif
    }
Example #14
0
 // Use this for initialization
 public virtual void spawn()
 {
     roadController = GameObject.Find("Road Controller").GetComponent("RoadController") as RoadController;
     lastPosition   = transform.position;
     if (this.enemyHive.tag == "PlayerHive")
     {
         this.renderer.material = playerAntMaterial;
         if (Constants.multiplayer)
         {
             networkView.RPC("setTexture", RPCMode.Others, true);
         }
     }
 }
    public static Vector2 GetPoint(RoadController roads)
    {
        float x = GetX();

        return(new Vector2(
                   roads.InterpolateX(x),
                   GetY(
                       GetYRange(
                           roads.GetYsInIntersections(x)
                           )
                       )
                   ));
    }
Example #16
0
    public void OnInputBegin()
    {
        ActualRoadPoints.Clear();

        var line = Instantiate(RoadPrefab, LineParent);

        ActualLine = line.GetComponent <RoadController>();

        ActualLine.UpdateRoad(ActualRoadPoints);

        var point = InputController.Instance.InputPosition;

        ActualRoadPoints.Add(point);
        _lastPoint = point;
    }
Example #17
0
 public void Start()
 {
     player       = GameObject.Find("Player");
     playerCamera = GameObject.Find("Camera");
     SpeedModel.player.setup(player.transform.position.z, playerCamera.transform.position.z);
     SpeedModel.setIsShort(isShort);
     model.Start();
     road       = GameObject.Find("Road").GetComponent <RoadController>();
     road.model = model;
     ConstructCompetitors(model, competitorPrefab);
     finish = GameObject.Find("Finish");
     finish.transform.position = Vector3.forward * SpeedModel.finishZ;
     finishText = (TextMesh)GameObject.Find("FinishText").GetComponent <TextMesh>();
     restart    = GameObject.Find("RestartText");
     restart.SetActive(SpeedModel.isRestartEnabled());
 }
Example #18
0
 public void Start()
 {
     player = GameObject.Find("Player");
     playerCamera = GameObject.Find("Camera");
     SpeedModel.player.setup(player.transform.position.z, playerCamera.transform.position.z);
     SpeedModel.setIsShort(isShort);
     model.Start();
     road = GameObject.Find("Road").GetComponent<RoadController>();
     road.model = model;
     ConstructCompetitors(model, competitorPrefab);
     finish = GameObject.Find("Finish");
     finish.transform.position = Vector3.forward * SpeedModel.finishZ;
     finishText = (TextMesh) GameObject.Find("FinishText").GetComponent<TextMesh>();
     restart = GameObject.Find("RestartText");
     restart.SetActive(SpeedModel.isRestartEnabled());
 }
Example #19
0
        public bool TryGetRoadBetweenTowns(TownController currentTown,
                                           TownController endTownController, //TODO move to helper
                                           out List <Vector3Int> tradePath, out Guid roadGuid)
        {
            RoadController road = Roads.FirstOrDefault(r =>
                                                       r.Value.firstTown == currentTown && r.Value.secondTown == endTownController ||
                                                       r.Value.firstTown == endTownController && r.Value.secondTown == currentTown).Value;

            if (road == null)
            {
                tradePath = null;
                return(false);
            }

            roadGuid  = road.RoadGuid;
            tradePath = GetRoadByGuid(road.RoadGuid);
            return(true);
        }
Example #20
0
    // Use this for initialization
    void Start()
    {
        // TODO: あとで直す
        foreach (PassingExit_V2 passingExit_V2 in passingExit_V2List)
        {
            passingExit_V2.exit
            .Distinct(x => x == InOrOut.IN)
            .Distinct(x => x == InOrOut.OUT)
            .Subscribe(_ => TriggerScript());
        }

        stageController = GameObject.Find("StageController");
        roadController  = stageController.GetComponent <RoadController>();
        stageMake       = stageController.GetComponent <StageMake>();
        obj             = GameObject.Find("Player_Pack(Clone)");
        passingJudge    = obj.GetComponent <PassingJudge>();
        playerRunning   = obj.GetComponent <PlayerRunning>();
        playerStatus    = obj.GetComponentInChildren <PlayerStatus>();
    }
Example #21
0
    // Description: Changes links to roads and nodes to action points
    // PRE:         Arrays nodes and links contain nonzero number of node and link gameobjects
    // POST:        Log displays the number of nodes and links that have been transformed to action points and roads
    private void ChangeBuildViewObjectsToSimViewObjects()
    {
        Debug.Log("Number of nodes compiled into Action Points: " + _nodes.Length);
        Debug.Log("Number of links compiled into Roads: " + _links.Length);

        foreach (GameObject node in _nodes)
        {
            Destroy(node.GetComponent <BuildViewNode>());
            ActionPointController ap = node.AddComponent <ActionPointController>();
            ap.InitializeActionPoint();
            node.name = "Action Point";
            Debug.Log("This node is a source: " + node.GetComponent <Node>().IsSource.ToString());
        }

        foreach (GameObject link in _links)
        {
            Destroy(link.GetComponent <BuildViewLink>());
            RoadController rc = link.AddComponent <RoadController>();
            rc.InitializeRoad();
            link.name = "Road";
        }

        foreach (BuildViewSelectionHandler.ConnectedNodes cn in _connectedNodes.Keys)
        {
            DestinationActionPointAndRoad dapar = new DestinationActionPointAndRoad(cn.destination.gameObject, (GameObject)_connectedNodes[cn]);
            GameObject origin = cn.origin.gameObject;

            if (!adjacencyList.ContainsKey(origin))
            {
                List <DestinationActionPointAndRoad> originConnections = new List <DestinationActionPointAndRoad>();
                originConnections.Add(dapar);
                adjacencyList.Add(origin, originConnections);
            }
            else
            {
                (adjacencyList[origin] as List <DestinationActionPointAndRoad>).Add(dapar);
            }
        }
    }
Example #22
0
    // Start is called before the first frame update
    void Start()
    {
        roads           = new List <GameObject>();
        lanesSinceGrass = 0;
        difficultyMod   = 1;
        for (int i = 0; i < 30; i += 1)
        {
            int roadIndex = randRoadIndex();
            if (lanesSinceGrass >= 5)
            {
                roadIndex = 1;
            }
            GameObject roadObject = Instantiate(roadPrefab[roadIndex]) as GameObject;
            roadObject.transform.position = new Vector3(0f, i * 1.5f, 1f);
            roads.Add(roadObject);

            if (roadIndex == 0)
            {
                RoadController road = roadObject.GetComponent <RoadController>();
                setRandomRoadVals(road);
                lanesSinceGrass++;
            }
            else
            {
                lanesSinceGrass = 0;
                int rand = Random.Range(1, 3);
                if (rand == 1)
                {
                    GameObject raccoon = Instantiate(raccoonPrefab) as GameObject;

                    raccoon.transform.position  = roadObject.transform.position;
                    raccoon.transform.position += new Vector3((int)Random.Range(-6, 6) * 1.5f, 0f, -1.0f);
                    raccoon.GetComponent <Raccoon>().SetLimit(10 + Random.Range(-5, 5));
                }
            }
        }
    }
Example #23
0
    void Update()
    {
        float dx = Input.GetAxis("Horizontal") * walkSpeed;
        float dz = Input.GetAxis("Vertical");
        float x  = transform.position.x;
        float y  = transform.position.y;
        float z  = transform.position.z;

        RoadController road = GetRoad();

        if (!road)
        {
            return;
        }
        switch (road.roadType)
        {
        case RoadType.HORIZONTAL:
            break;

        case RoadType.VERTICAL:
            break;

        case RoadType.T:
            if (dz < 0)
            {
                VerticalMove(dz, road.transform.position.x);
            }
            break;

        case RoadType.T_REVERSE:
            if (dz > 0)
            {
                VerticalMove(dz, road.transform.position.x);
            }
            break;

        case RoadType.LEFT_STOP:
            if (!road.stopProperty)
            {
                break;
            }
            Debug.Log(road.stopProperty.stopPoint);
            if (road.stopProperty.stopPoint > transform.position.x)
            {
                dx = dx < 0 ? 0 : dx;
            }
            break;

        case RoadType.RIGHT_STOP:
            if (!road.stopProperty)
            {
                break;
            }
            Debug.Log(road.stopProperty.stopPoint);
            if (road.stopProperty.stopPoint < transform.position.x)
            {
                dx = dx > 0 ? 0 : dx;
            }
            break;

        default:
            break;
        }
        transform.position = new Vector3(x + dx, y, z);

        LocalScale(dx);
    }
Example #24
0
 private void Awake()
 {
     Instance = this;
 }
Example #25
0
 // Use this for initialization
 void Start()
 {
     roadController = GameObject.Find("RoadController").GetComponent <RoadController> ();
     spawnBarrel    = GameObject.Find("SpawnBarrels").GetComponent <SpawnBarrels> ();
 }
Example #26
0
 // Use this for initialization
 void Start()
 {
     Car  = GetComponent <Rigidbody2D>();
     Road = GameObject.Find("Road").GetComponent <RoadController>();
 }
 void Awake()
 {
     m_RController = GetComponent <RoadController>();
 }
Example #28
0
    // Road
    public void BuildRoadBetween(Station a, Station b)
    {
        bool valid =
            a != b &&
            a.RoadList.Count < a.RoadLimits &&
            b.RoadList.Count < b.RoadLimits &&
            Vector2.Distance(a.Pos, b.Pos) < GameMaster.RoadMaxLength;

        if (!valid)
        {
            return;
        }

        // Check overlapping
        foreach (var road in a.RoadList)
        {
            valid &= road.Next(a) != b;
        }
        foreach (var road in b.RoadList)
        {
            valid &= road.Next(b) != a;
        }

        if (valid)
        {
            Vector2 pos = (a.Pos + b.Pos) / 2.0f;
            Debug.Log("Build road between " + a.ID + ", " + b.ID);

            GameObject     newRoad    = Instantiate(RoadPrefab, pos, Quaternion.identity, RoadGroup.transform);
            RoadController controller = newRoad.GetComponent <RoadController>();
            Road           road       = controller.Initialize();
            road.Connect(a, b);

            RoadList.Add(road);

            // Build road line renderer
            LineRenderer lr = newRoad.GetComponent <LineRenderer>();
            lr.useWorldSpace = true;

            Vector2 diffVec = b.Pos - a.Pos;
            if (diffVec.magnitude > 1.0f)
            {
                diffVec -= 0.5f * diffVec.normalized;
            }
            int segments = Mathf.Max(Mathf.CeilToInt(diffVec.magnitude / 0.15f), 18);
            lr.positionCount = segments + 1;
            for (int i = 0; i <= segments; i++)
            {
                Vector3 newPointPos = new Vector3(0.0f, 0.0f, -road.Height * Mathf.Sin(i * Mathf.PI / segments))
                                      + i * (Vector3)diffVec / segments + (Vector3)a.Pos + 0.25f * (Vector3)diffVec.normalized;
                lr.SetPosition(i, newPointPos);
            }

            //TODO: Manage animator
            MoneyLeft -= GameMaster.Instance.RoadCost;
            UpdateNavigation();
        }
        else
        {
            //TODO: Build error
            Debug.LogWarning("Road is invalid");
        }
    }
Example #29
0
    // Update is called once per frame
    void Update()
    {
        if (laneYPos <= player.transform.position.y)
        {
            int roadIndex = randRoadIndex();
            if (lanesSinceGrass > 6)
            {
                roadIndex = 1;
            }

            GameObject roadObject = Instantiate(roadPrefab[roadIndex]) as GameObject;
            roads.Add(roadObject);
            if (roads.Count > 100)
            {
                GameObject deallocateRoad = roads[0];
                roads.RemoveAt(0);
                GameObject.Destroy(deallocateRoad);
            }
            roadObject.transform.position = new Vector3(0f, playerPos + 45f, 1f);
            playerPos += 1.5f;

            if (roadIndex == 0)
            {
                RoadController road = roadObject.GetComponent <RoadController>();
                setRandomRoadVals(road);
                lanesSinceGrass++;
            }
            else
            {
                lanesSinceGrass = 0;
                int rand = Random.Range(1, 3);
                if (rand == 1)
                {
                    GameObject raccoon = Instantiate(raccoonPrefab) as GameObject;

                    raccoon.transform.position  = roadObject.transform.position;
                    raccoon.transform.position += new Vector3((int)Random.Range(-6, 6) * 1.5f, 0f, 0f);
                    raccoon.GetComponent <Raccoon>().SetLimit(10 + Random.Range(-5, 5));
                }
            }

            laneYPos      += 1.5f;
            difficultyMod += 1;

            int randInt = Random.Range(1, 7);
            if (randInt == 1)
            {
                GameObject powerPack = Instantiate(powerPrefab[Random.Range(0, 3)]) as GameObject;
                powerPack.transform.position   = player.transform.position;
                powerPack.transform.position  += new Vector3((int)Random.Range(-6, 6) * 1.5f, 12f, .5f);
                powerPack.transform.localScale = new Vector3(0.25f, 0.25f, 1.0f);
            }
        }

        timer -= Time.deltaTime;
        if (timer <= 0)
        {
            GameObject deallocateRoad = roads[0];
            GameObject roadObject     = Instantiate(roadPrefab[2]) as GameObject;
            float      yPos           = deallocateRoad.transform.position.y;
            roadObject.transform.position = new Vector3(0, yPos, -2);

            roads.RemoveAt(0);
            GameObject.Destroy(deallocateRoad);
            timer = 3f;
        }
    }
Example #30
0
 // Use this for initialization
 void Start()
 {
     rC = GameObject.FindGameObjectWithTag("RoadController").GetComponent <RoadController>();
     gC = GameObject.FindGameObjectWithTag("GameController").GetComponent <GameController>();
 }