コード例 #1
0
        private void CreateGateway(string gateName, Vector2 pos, Vector2 size, string toScene, string entryGate,
                                   bool right, bool left, GameManager.SceneLoadVisualizations vis)
        {
            GameObject gate = new GameObject(gateName);

            gate.transform.SetPosition2D(pos);
            var tp = gate.AddComponent <TransitionPoint>();

            var bc = gate.AddComponent <BoxCollider2D>();

            bc.size        = size;
            bc.isTrigger   = true;
            tp.targetScene = toScene;
            tp.entryPoint  = entryGate;

            tp.alwaysEnterLeft  = left;
            tp.alwaysEnterRight = right;
            GameObject rm = new GameObject("Hazard Respawn Marker");

            rm.transform.parent   = tp.transform;
            rm.transform.position = new Vector2(rm.transform.position.x - 3f, rm.transform.position.y);
            var tmp = rm.AddComponent <HazardRespawnMarker>();

            tp.respawnMarker          = rm.GetComponent <HazardRespawnMarker>();
            tp.sceneLoadVisualization = vis;
        }
コード例 #2
0
        private void CreateGateway(string gateName, Vector2 pos, Vector2 size, string toScene, string entryGate, Vector2 respawnPoint,
                                   bool right, bool left, bool onlyOut, GameManager.SceneLoadVisualizations vis)
        {
            Log("!Gateway");

            GameObject gate = new GameObject(gateName);

            gate.transform.SetPosition2D(pos);
            var tp = gate.AddComponent <TransitionPoint>();

            if (!onlyOut)
            {
                var bc = gate.AddComponent <BoxCollider2D>();
                bc.size      = size;
                bc.isTrigger = true;
                tp.SetTargetScene(toScene);
                tp.entryPoint = entryGate;
            }
            tp.alwaysEnterLeft  = left;
            tp.alwaysEnterRight = right;

            GameObject rm = new GameObject("Hazard Respawn Marker");

            rm.transform.parent = gate.transform;
            rm.transform.SetPosition2D(pos.x + respawnPoint.x, pos.y + respawnPoint.y);
            var tmp = rm.AddComponent <HazardRespawnMarker>();

            tmp.respawnFacingRight    = right;
            tp.respawnMarker          = rm.GetComponent <HazardRespawnMarker>();
            tp.sceneLoadVisualization = vis;

            Log("~Gateway");
        }
コード例 #3
0
        private GameObject CreateGateway(string gateName, Vector2 pos, Vector2 size, Vector2 offset, string toScene, string entryGate, bool right, bool left, bool onlyOut, GameManager.SceneLoadVisualizations vis)
        {
            GameObject gate = new GameObject(gateName);

            gate.transform.parent = GameObject.Find("_Transition Gates").transform;
            gate.transform.SetPosition2D(pos);
            var tp = gate.AddComponent <TransitionPoint>();

            if (!onlyOut)
            {
                var bc = gate.AddComponent <BoxCollider2D>();
                bc.size        = size;
                bc.isTrigger   = true;
                tp.targetScene = toScene;
                tp.entryPoint  = entryGate;
            }
            tp.alwaysEnterLeft  = left;
            tp.alwaysEnterRight = right;
            GameObject respawnMarker = new GameObject("Hazard Respawn Marker");

            respawnMarker.transform.parent = tp.transform;
            Vector2 markerPos = respawnMarker.transform.position;

            respawnMarker.transform.position = new Vector2(markerPos.x - 3f, markerPos.y);
            tp.respawnMarker          = respawnMarker.AddComponent <HazardRespawnMarker>();
            tp.sceneLoadVisualization = vis;

            return(gate);
        }