Beispiel #1
0
    void Awake()
    {
        S = this;
        cam = GetComponent<Camera>();

        defaultScale = cam.orthographicSize;
    }
    public void PlayerEntersBuildingTrigger(string triggerName)
    {
        if (mainCam == null)
        {
            mainCam = FindObjectOfType <MainCam> ();
        }


        if (type == buildingType.SINGLESTORY)
        {
            for (int i = 0; i < hideOnEntry.Length; ++i)
            {
                hideOnEntry [i].SetActive(false);
            }
            mainCam.PlayerEntersBuilding();
        }
        else if (type == buildingType.MULTISTORY)
        {
            if (!currentlyActiveTriggers.Contains(triggerName))
            {
                currentlyActiveTriggers.Add(triggerName);
            }
            UpdateVisibility();
        }
    }
Beispiel #3
0
    public override void Fire()
    {
        if (stats.ShotsInClip > 0)
        {
            base.Fire();

            //Debug.Log("BOOM");

            Ray screenRay = MainCam.ScreenPointToRay(new Vector3(ret.currentAimPosition.x, ret.currentAimPosition.y, 0));



            if (Physics.Raycast(screenRay, out RaycastHit hit, stats.Range, stats.layerMask))
            {
                hitPoint = hit.point;
                Vector3 hitDir = hit.point - MainCam.transform.position;
                Debug.DrawRay(MainCam.transform.position, hitDir * stats.Range, Color.red);

                //OnDrawGizmos(hit.point);
            }
        }
        else
        {
            sock.StopFiring();
            sock.StartReload();
        }
    }
Beispiel #4
0
 public void FindCamera()
 {
     // Find the main camera.
     MainCam cam = GameObject.FindObjectOfType<MainCam>();
     if (cam != null)
     {
         Camera = cam.Camera;
     }
 }
Beispiel #5
0
    private void Start()
    {
        mainCam       = MainCam.Instance;
        squareManager = SquareManager.Instance;

        // getting spray particle components.
        spray          = transform.GetChild(0).gameObject;
        sprayParticles = spray.GetComponentsInChildren <ParticleSystem> ();
    }
Beispiel #6
0
    private void ShipStatsUpdate()
    {
        // Writes information in the bottem_left corner
        float relative_vel = SceneGlobals.ReferenceSystem.RelativeVelocity(PlayerShip.Velocity).magnitude;

        texts["velocity_indicator"].text         = (Mathf.Round(relative_vel * 100f) / 100f).ToString() + " m/s";
        texts["angular_momentum_indicator"].text = (Mathf.Round(PlayerShip.AngularVelocity.magnitude * Mathf.Deg2Rad * 100f) / 100f).ToString() + " rad/s";

        // Points to one turret
        if (turret_selected)
        {
            HighlightingPosition = MainCam.WorldToScreenPoint(selected_turret.Position);
        }

        if (HighlightingPosition == Vector3.zero)
        {
            pointers ["turret_position"].transform.position = new Vector3(-200, -200, 0);
        }
        else
        {
            Vector3 screen_pos = HighlightingPosition;
            screen_pos.z = 0f;
            pointers ["turret_position"].transform.position = HighlightingPosition;
            pointers ["turret_position"].transform.Rotate(0, 0, Time.deltaTime * 90);
        }

        // Updates stuff
        SliderUpdate();
        TurretSliderUpdate();

        if (Input.mouseScrollDelta.y > 0 && (selected_turret != null || selected_group != null))
        {
            // up
            scroll_bar.value -= .05f;
        }
        if (Input.mouseScrollDelta.y < 0 && (selected_turret != null || selected_group != null))
        {
            // down
            scroll_bar.value += .05f;
        }

        mouse_on_menu = !GroupSwitch?turret_menu.rectTransform.rect.Contains(Input.mousePosition - turret_menu.rectTransform.position) :
                            group_menu.rectTransform.rect.Contains(Input.mousePosition - group_menu.rectTransform.position);

        if (!mouse_on_menu && !turret_selected)
        {
            turret_menu.rectTransform.position = new Vector3(-200, -200, 0);
            selected_turret = null;
        }
        if (!mouse_on_menu && !group_selected)
        {
            group_menu.rectTransform.position = new Vector3(-100, -200, 0);
            selected_group = null;
        }
    }
Beispiel #7
0
 // Start is called before the first frame update
 void Start()
 {
     if (instance != null && instance != this)
     {
         Destroy(gameObject);
     }
     else
     {
         instance = this;
     }
 }
Beispiel #8
0
 // Start is called before the first frame update
 void Start()
 {
     lives = 3;
     left_btn.onClick.AddListener(UpdateUiLives);
     right_btn.onClick.AddListener(UpdateUiLives);
     MainCam    = MainCamera.GetComponent <MainCam>();
     rb         = GetComponent <Rigidbody2D> ();
     _anim_hero = GetComponent <Animator> ();
     JumpAudio  = GetComponent <AudioSource> ();
     if (GameController.sound_flag == false)
     {
         JumpAudio.Stop();
     }
     // get a reference to the SpriteRenderer component on this gameObject
     heroSprite = GetComponent <SpriteRenderer>();
     //обновление жизни
     UpdateUiLives();
 }
Beispiel #9
0
    public void RespawnPlayer()
    {
        if (CurrentPlayer != null)
        {
            Destroy(CurrentPlayer);
        }

        if (eventHandler == null)
        {
            eventHandler = GameObject.Find("eventHandler").GetComponent <GameSceneEvents>();
        }

        CurrentPlayer = Instantiate(CurrentPlayerTemplate);
        MainCam.GetComponent <CameraController> ().ResetCamera(CurrentPlayer);

        if (eventHandler)
        {
            eventHandler.onPlayerRespawn();
        }
    }
    public override void GrabUpdate()
    {
        base.GrabUpdate();
#if UNITY_EDITOR
        float mmag = (Input.mousePosition - _prevPosition).magnitude;
        for (int i = 0; i < mmag - 1f; i += BrushSize / 4)
        {
            Ray        r   = MainCam.ScreenPointToRay(Vector3.Lerp(_prevPosition, Input.mousePosition, i / mmag));
            RaycastHit rch = PaintableObject.Instance.CleanRay(r, BrushStrength, BrushSize, Bubbles);
            if (rch.transform != null && UnityEngine.Random.Range(0f, 1f) < .01f)
            {
                GameObject g = Instantiate(SudsPrefab, rch.point, Quaternion.identity);
                g.transform.parent = rch.transform;
                g.GetComponent <SudsMaster>().PlaceSuds(rch.normal);
            }
        }
        _prevPosition = Input.mousePosition;
        PaintableObject.Instance.ApplyUpdates();
        return;
#endif

        Touch   t   = GetFingerTouch();
        Vector3 pos = t.position;
        float   mag = (pos - _prevPosition).magnitude;
        for (int i = 0; i < mag - 1f; i += BrushSize / 4)
        {
            Ray r = MainCam.ScreenPointToRay(Vector3.Lerp(_prevPosition, t.position, i / mag));
            PaintableObject.Instance.CleanRay(r, .96f, BrushSize, Bubbles);
            RaycastHit rch = PaintableObject.Instance.CleanRay(r, BrushStrength, BrushSize, Bubbles);
            if (rch.transform != null && UnityEngine.Random.Range(0f, 1f) < .01f)
            {
                GameObject g = Instantiate(SudsPrefab, rch.point, Quaternion.identity);
                g.transform.parent = rch.transform;
                g.GetComponent <SudsMaster>().PlaceSuds(rch.normal);
            }
        }
        PaintableObject.Instance.ApplyUpdates();
        _prevPosition = t.position;
    }
Beispiel #11
0
    // Update is called once per frame
    void Update()
    {
        if (pj == true && player == true && camj == false)
        {
            MainCam.SetActive(true);
            EnemyCam.SetActive(false);
            StartCam.SetActive(false);
            camj = true;
            Ve.SetActive(true);
            oni.SetActive(true);
            TIME.SetActive(true);
            GetComponent <Text>().text = ((int)time).ToString();
        }
        else if (pj == true && player == false && camj == false)
        {
            MainCam.SetActive(false);
            EnemyCam.SetActive(true);
            StartCam.SetActive(false);
            camj = true;
            Vm.SetActive(true);
            nige.SetActive(true);
            TIME.SetActive(true);
            GetComponent <Text>().text = ((int)time).ToString();
        }

        // カメラの向き
        if (player == true)
        {
            if (Input.GetKey(KeyCode.UpArrow) && (Camera.main.transform.localEulerAngles.x > 335 || MainCam.transform.localEulerAngles.x < 90))
            {
                MainCam.transform.Rotate(-4, 0, 0);
            }
            if (Input.GetKey(KeyCode.DownArrow) && (Camera.main.transform.localEulerAngles.x > 325 || MainCam.transform.localEulerAngles.x < 80))
            {
                MainCam.transform.Rotate(4, 0, 0);
            }
            if (Input.GetKey(KeyCode.LeftArrow))
            {
                ws.Send("L0");
            }
            if (Input.GetKey(KeyCode.RightArrow))
            {
                ws.Send("R0");
            }
        }

        // 敵の向き
        if (player == false)
        {
            if (Input.GetKey(KeyCode.UpArrow) && (EnemyCam.transform.localEulerAngles.x > 335 || EnemyCam.transform.localEulerAngles.x < 90))
            {
                EnemyCam.transform.Rotate(-4, 0, 0);
            }
            if (Input.GetKey(KeyCode.DownArrow) && (EnemyCam.transform.localEulerAngles.x > 325 || EnemyCam.transform.localEulerAngles.x < 80))
            {
                EnemyCam.transform.Rotate(4, 0, 0);
            }
            if (Input.GetKey(KeyCode.LeftArrow))
            {
                ws.Send("L1");
            }
            if (Input.GetKey(KeyCode.RightArrow))
            {
                ws.Send("R1");
            }
        }

        if (l0 == true)
        {
            CamShell.transform.Rotate(0, -4, 0);
            l0 = false;
        }
        if (r0 == true)
        {
            CamShell.transform.Rotate(0, 4, 0);
            r0 = false;
        }

        if (l1 == true)
        {
            EnemyShell.transform.Rotate(0, -4, 0);
            l1 = false;
        }
        if (r1 == true)
        {
            EnemyShell.transform.Rotate(0, 4, 0);
            r1 = false;
        }

        // 移動
        // Player0
        camSet.transform.position += new Vector3(moveX, 0, moveZ);
        // Player1
        EnemySet.transform.position += new Vector3(moveX1, 0, moveZ1);

        if ((Input.GetKeyUp(KeyCode.Space) || Input.GetKeyUp(KeyCode.Z)) && canMove0 == true && player == true)
        {
            ws.Send("M0");
        }
        if ((Input.GetKeyUp(KeyCode.Space) || Input.GetKeyUp(KeyCode.Z)) && canMove1 == true && player == false)
        {
            ws.Send("M1");
        }

        // Player0

        if (player == true && p0m == true)
        {
            camRot = CamShell.transform.localEulerAngles.y;
            if (camRot > 225 && camRot < 315)
            {
                ws.Send("A0");
            }
            else if (camRot > 135 && camRot < 225)
            {
                ws.Send("B0");
            }
            else if (camRot > 45 && camRot < 135)
            {
                ws.Send("C0");
            }
            else if (camRot > 315 || camRot < 45)
            {
                ws.Send("D0");
            }

            canMove0 = false;
        }

        // Player1
        if (player == false && p1m == true)
        {
            camRot = EnemyShell.transform.localEulerAngles.y;
            if (camRot > 225 && camRot < 315)
            {
                ws.Send("A1");
            }
            else if (camRot > 135 && camRot < 225)
            {
                ws.Send("B1");
            }
            else if (camRot > 45 && camRot < 135)
            {
                ws.Send("C1");
            }
            else if (camRot > 315 || camRot < 45)
            {
                ws.Send("D1");
            }

            canMove1 = false;
        }

        if (p0m == true)
        {
            p0m = false;
        }
        if (p1m == true)
        {
            p1m = false;
        }


        // Poison Move
        for (int i = 0; i < 10; i++)
        {
            if (prj1 == true)
            {
                pr [i].transform.position += new Vector3(0, 0.05f, 0);
            }
            else if (prj1 == false)
            {
                pr [i].transform.position -= new Vector3(0, 0.05f, 0);
            }
        }
        for (int i = 10; i < 20; i++)
        {
            if (prj2 == true)
            {
                pr [i].transform.position += new Vector3(0, 0.05f, 0);
            }
            else if (prj2 == false)
            {
                pr [i].transform.position -= new Vector3(0, 0.05f, 0);
            }
        }
        if (pr [0].transform.position.y >= 1.3f)
        {
            prj1 = false;
            prj2 = true;
        }
        else if (pr [0].transform.position.y <= -0.2f)
        {
            prj1 = true;
            prj2 = false;
        }

        // TIME
        if (pj == true && count >= 1.1f)
        {
            sCount.SetActive(true);
            count -= Time.deltaTime;
            sCount.GetComponent <Text>().text = ((int)count).ToString();
        }
        else if (pj == true)
        {
            st = true;
            sCount.SetActive(false);
            canMove0 = true;
            canMove1 = true;
        }

        if (st == true)
        {
            time -= Time.deltaTime;
        }
        if (time < 1)
        {
            if (player == true)
            {
                SceneManager.LoadScene("lose");
            }
            else
            {
                SceneManager.LoadScene("win");
            }
        }

        if (time >= 11 && st == true)
        {
            TIME.SetActive(true);
            TIME.GetComponent <Text>().text = ((int)time).ToString();
        }
        else if (st == true && time >= 1)
        {
            TIME.SetActive(false);
            eCount.SetActive(true);
            eCount.GetComponent <Text>().text = ((int)time).ToString();
        }
    }
Beispiel #12
0
    ///<summary> This should be called from the third frame on </summary>
    private void BattleSymbolsUpdate()
    {
        // Defines Target
        Target          target  = player_script.target;
        ReferenceSystem ref_sys = SceneGlobals.ReferenceSystem;

        // Projects the player's "absolute" velocity (relative to the origin of the scene)
        if (PlayerShip != null && ref_sys.RelativeVelocity(PlayerShip.Velocity) != Vector3.zero)
        {
            Image prog = pointers["prograde_marker"];
            ProjectVecOnScreen(ref_sys.RelativeVelocity(PlayerShip.Velocity), camera_transform, ref prog);
        }

        // Projects the players relative velocity to his selected target
        if (target.Exists)
        {
            if (!target.virt_ship)
            {
                if (PlayerShip.Velocity - target.Ship.Velocity != Vector3.zero)
                {
                    Image tgt_vel = pointers["target_velocity_marker"];
                    ProjectVecOnScreen(PlayerShip.Velocity - target.Ship.Velocity, camera_transform, ref tgt_vel);
                }
            }
        }

        // Weapon indicators
        foreach (Weapon w in PlayerShip.Parts.GetAll <Weapon>())
        {
            Image   img     = weapon_states[w];
            Vector3 new_pos = MainCam.WorldToScreenPoint(player_transform.position + (player_transform.forward * 100000));
            new_pos.z = 0;
            img.rectTransform.position = new_pos;
            if (w.ooo_time > 0)
            {
                float ratio = 1 - (w.ooo_time / w.init_ooo_time) * .75f;
                img.color = new Color(ratio, ratio, ratio);
            }
            else
            {
                img.color = new Color(1f, 1 - w.heat, 1 - w.heat);
            }
        }

        // Turret Indicators
        foreach (Turret t in PlayerShip.Parts.GetAll <Turret>())
        {
            Image   img     = turret_states[t];
            Vector3 new_pos = MainCam.WorldToScreenPoint(transform.position + (t.BarrelRot * Vector3.forward * 100000f));
            new_pos.z = 0;
            img.rectTransform.position = new_pos;
            if (t.ooo_time > 0)
            {
                float ratio = 1 - (t.ooo_time / t.init_ooo_time) * .75f;
                img.color = new Color(ratio, ratio, ratio);
            }
            else
            {
                img.color = new Color(1f, 1 - t.heat, 1 - t.heat);
            }
        }

        // Draws the "direction pointer" (the velocity direction)
        Vector3 direction_projection = direction == Vector3.zero ? new Vector3(-200, -200) : MainCam.WorldToScreenPoint(direction + transform.position);

        direction_projection.z = 0;
        pointers ["direction_pointer"].transform.position = direction_projection;

        Vector3 velocity_dir = PlayerShip.Velocity == Vector3.zero ? new Vector3(-200, -200) : MainCam.WorldToScreenPoint(PlayerShip.Position + PlayerShip.Velocity.normalized * 1e9f);

        velocity_dir.z = 0;
        pointers ["prograde"].transform.position = velocity_dir;
        pointers ["prograde"].color = Vector3.Angle(PlayerShip.Velocity, camera_transform.forward) < 90f ? Color.green : Color.red;


        if (player_script.target != null)
        {
            if (player_script.target.Exists)
            {
                tgting_point = player_script.target.Position;
            }
        }

        if (group_follows_cursor)
        {
            if (current_group != null)
            {
                current_group.SetTgtDir(CursorWorldDirection);
            }
        }
    }
Beispiel #13
0
 private void Awake()
 {
     Instance = this;
     iPos     = transform.localPosition;
 }
Beispiel #14
0
 // Use this for initialization
 void Start()
 {
     S = this;
 }
Beispiel #15
0
 // Start is called before the first frame update
 void Start()
 {
     cam = MainCam.GetCam();
 }
    // Start is called before the first frame update
    void Start()
    {
        MainCam.GetComponent <Camera>().player = Player;

        StartCoroutine("SpawnEnemy");
    }