Untitled

 avatar
unknown
plain_text
2 years ago
14 kB
5
Indexable
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using TMPro;
using UnityEngine.SceneManagement;

public class Recolor2 : MonoBehaviour
{
    [SerializeField] private Color HitcolorOne;
    [SerializeField] private int one;
    private bool enableone;
     [SerializeField] private Color HitcolorTwo;
    [SerializeField] private int two;
    private bool enabletwo;
     [SerializeField] private Color HitcolorThree;
    [SerializeField] private int three;
    private bool enablethree;
    [SerializeField] private GameObject indicator;
    [SerializeField] private GameObject child1;
    [SerializeField] private GameObject child2;
    [SerializeField] private GameObject child3;
    [SerializeField] private TMP_Text Text1;
    [SerializeField] private TMP_Text Text2;
    [SerializeField] private TMP_Text Text3;
    private RaycastHit2D hit; 
    private RaycastHit2D hitt;
    private RaycastHit2D hittt;
    [SerializeField] private bool rotate = false;
    public static List<string> placement2 = new List<string>();
    private void ships(){
        if (Input.GetKeyUp(KeyCode.R)){
            if(rotate == true){
                indicator.SetActive(true);
            }
            if(rotate == false){
                indicator.SetActive(false);
            }
            rotate = !rotate;
        }
        if (Input.GetKeyDown(KeyCode.Mouse0))
        {
            Vector3 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
            if(rotate == false){
                
                print("Av");
                Vector2 mousePos2D = new Vector2(mousePos.x, mousePos.y);
                Vector2 mousePos2DD = new Vector2(mousePos.x-1, mousePos.y);
                Vector2 mousePos2DDD = new Vector2(mousePos.x+1, mousePos.y);
                RaycastHit2D hit = Physics2D.Raycast(mousePos2D, Vector2.zero);
                RaycastHit2D hitt = Physics2D.Raycast(mousePos2DD, Vector2.zero);
                RaycastHit2D hittt = Physics2D.Raycast(mousePos2DDD, Vector2.zero);
                if (hit.collider != null)
                {
                    string name = hit.collider.gameObject.tag;
                    if(name == "one"){
                        enablethree = false;
                        enabletwo = false; 
                        enableone = true;
                        Debug.Log(hit.collider.gameObject.name);
                        child1.SetActive(true);
                        child2.SetActive(false);
                        child3.SetActive(false);
                    }
                    if(name == "two"){
                        enablethree = false;
                        enabletwo = true; 
                        enableone = false;
                        Debug.Log(hit.collider.gameObject.name);
                        child2.SetActive(true);
                        child3.SetActive(false);
                        child1.SetActive(false);
                    }
                    if(name == "three"){
                        enablethree = true;
                        enabletwo = false; 
                        enableone = false;
                        Debug.Log(hit.collider.gameObject.name);
                        child3.SetActive(true);
                        child2.SetActive(false);
                        child1.SetActive(false);
                    }
                    if(enablethree == true) {
                        Debug.Log(hit.collider.gameObject.name);
                        if(three != 0){
                            if(name == "Untagged"){
                                if(hit.collider.gameObject.tag == "Untagged"){
                                    if(hitt.collider.gameObject.tag == "Untagged"){
                                        if(hittt.collider.gameObject.tag == "Untagged"){
                                            Debug.Log(hit.collider.gameObject.name);
                                            Debug.Log(hitt.collider.gameObject.name);
                                            Debug.Log(hittt.collider.gameObject.name);
                                            SpriteRenderer renderer = hit.collider.GetComponent<SpriteRenderer>();
                                            SpriteRenderer rendererr = hitt.collider.GetComponent<SpriteRenderer>();
                                            SpriteRenderer rendererrr = hittt.collider.GetComponent<SpriteRenderer>();
                                            renderer.color = HitcolorThree;
                                            rendererr.color = HitcolorThree;
                                            rendererrr.color = HitcolorThree;
                                            hit.collider.gameObject.tag = "three";
                                            hitt.collider.gameObject.tag = "three";
                                            hittt.collider.gameObject.tag = "three";
                                            placement2.Add(hit.collider.gameObject.name);
                                            placement2.Add(hitt.collider.gameObject.name);
                                            placement2.Add(hittt.collider.gameObject.name);
                                            three -= 1;
                                        }
                                    }
                                }
                            }
                        }
                    
                    }
                    if(enabletwo == true) {
                        if(two != 0){
                            if(name == "Untagged"){
                                if(hit.collider.gameObject.tag == "Untagged"){
                                    if(hitt.collider.gameObject.tag == "Untagged"){
                                        Debug.Log(hit.collider.gameObject.name);
                                        Debug.Log(hitt.collider.gameObject.name);
                                        SpriteRenderer renderer = hit.collider.GetComponent<SpriteRenderer>();
                                        SpriteRenderer rendererr = hitt.collider.GetComponent<SpriteRenderer>();
                                        renderer.color = HitcolorTwo;
                                        rendererr.color = HitcolorTwo;
                                        hit.collider.gameObject.tag = "two";
                                        hitt.collider.gameObject.tag = "two";
                                        placement2.Add(hit.collider.gameObject.name);
                                        placement2.Add(hitt.collider.gameObject.name);
                                        two -= 1;
                                    }
                                }
                            }
                        }
                        }
                    if(enableone == true) {
                        if(one != 0){
                            if(name == "Untagged"){
                                if(hit.collider.gameObject.tag == "Untagged"){
                                    Debug.Log(hit.collider.gameObject.name);
                                    SpriteRenderer renderer = hit.collider.GetComponent<SpriteRenderer>();
                                    renderer.color = HitcolorOne;
                                    hit.collider.gameObject.tag = "one";
                                    placement2.Add(hit.collider.gameObject.name);
                                    one -= 1;
                                }
                                }
                            }
                        }
            }
            }
            if(rotate == true){
                print("På");
                Vector2 mousePos2D = new Vector2(mousePos.x, mousePos.y);
                Vector2 mousePos2DD = new Vector2(mousePos.x, mousePos.y-1);
                Vector2 mousePos2DDD = new Vector2(mousePos.x, mousePos.y+1);
                RaycastHit2D hit = Physics2D.Raycast(mousePos2D, Vector2.zero);
                RaycastHit2D hitt = Physics2D.Raycast(mousePos2DD, Vector2.zero);
                RaycastHit2D hittt = Physics2D.Raycast(mousePos2DDD, Vector2.zero);
            

                if (hit.collider != null)
                {
                    string name = hit.collider.gameObject.tag;
                    if(name == "one"){
                        enablethree = false;
                        enabletwo = false; 
                        enableone = true;
                        Debug.Log(hit.collider.gameObject.name);
                        child1.SetActive(true);
                        child2.SetActive(false);
                        child3.SetActive(false);
                    }
                    if(name == "two"){
                        enablethree = false;
                        enabletwo = true; 
                        enableone = false;
                        Debug.Log(hit.collider.gameObject.name);
                        child2.SetActive(true);
                        child3.SetActive(false);
                        child1.SetActive(false);
                    }
                    if(name == "three"){
                        enablethree = true;
                        enabletwo = false; 
                        enableone = false;
                        Debug.Log(hit.collider.gameObject.name);
                        child3.SetActive(true);
                        child2.SetActive(false);
                        child1.SetActive(false);
                    }
                    if(enablethree == true) {
                        Debug.Log(hit.collider.gameObject.name);
                        if(three != 0){
                            if(name == "Untagged"){
                                if(hit.collider.gameObject.tag == "Untagged"){
                                    if(hitt.collider.gameObject.tag == "Untagged"){
                                        if(hittt.collider.gameObject.tag == "Untagged"){
                                            Debug.Log(hit.collider.gameObject.name);
                                            Debug.Log(hitt.collider.gameObject.name);
                                            Debug.Log(hittt.collider.gameObject.name);
                                            SpriteRenderer renderer = hit.collider.GetComponent<SpriteRenderer>();
                                            SpriteRenderer rendererr = hitt.collider.GetComponent<SpriteRenderer>();
                                            SpriteRenderer rendererrr = hittt.collider.GetComponent<SpriteRenderer>();
                                            renderer.color = HitcolorThree;
                                            rendererr.color = HitcolorThree;
                                            rendererrr.color = HitcolorThree;
                                            hit.collider.gameObject.tag = "three";
                                            hitt.collider.gameObject.tag = "three";
                                            hittt.collider.gameObject.tag = "three";
                                            three -= 1;
                                        }
                                    }
                                }
                            }
                        }
                    
                    }
                    if(enabletwo == true) {
                        if(two != 0){
                            if(name == "Untagged"){
                                if(hit.collider.gameObject.tag == "Untagged"){
                                    if(hitt.collider.gameObject.tag == "Untagged"){
                                        Debug.Log(hit.collider.gameObject.name);
                                        Debug.Log(hitt.collider.gameObject.name);
                                        SpriteRenderer renderer = hit.collider.GetComponent<SpriteRenderer>();
                                        SpriteRenderer rendererr = hitt.collider.GetComponent<SpriteRenderer>();
                                        renderer.color = HitcolorTwo;
                                        rendererr.color = HitcolorTwo;
                                        hit.collider.gameObject.tag = "two";
                                        hitt.collider.gameObject.tag = "two";
                                        two -= 1;
                                    }
                                }
                            }
                        }
                        }
                    if(enableone == true) {
                        if(one != 0){
                            if(name == "Untagged"){
                                if(hit.collider.gameObject.tag == "Untagged"){
                                    Debug.Log(hit.collider.gameObject.name);
                                    SpriteRenderer renderer = hit.collider.GetComponent<SpriteRenderer>();
                                    renderer.color = HitcolorOne;
                                    hit.collider.gameObject.tag = "one";
                                    one -= 1;
                                }
                                }
                            }
                        }
            }
        }
    }
    if(one == 0){
        if(two == 0){
            if(three == 0){

            }
        }
    }
    }

    void Update(){
        Text1.text = one.ToString();
        Text2.text = two.ToString();
        Text3.text = three.ToString();
        ships();
    }

    }



Editor is loading...