Inheritance: MonoBehaviour, IController
Esempio n. 1
0
    public void AddUnity(GameObject unityToAdd, int typeId)
    {
        GameManager.instance.SetUnit();
        UnityController u = unityToAdd.GetComponent <UnityController>();

        u.StablishUnit(unitScriptable.units[typeId].levelsDescription[DataController.instance.unitsData.units[typeId].level], unitScriptable.units[typeId].typeName);
        unities.Add(u);
        SearchInteractableObjects(u.transform.position, u.lightRange);

        RaycastHit hit;
        int        layerMask = 1 << 8;
        Ray        ray       = new Ray(new Vector3(unityToAdd.transform.position.x, unityToAdd.transform.position.y + 30, unityToAdd.transform.position.z), -unityToAdd.transform.up);

        /*Vector3 up = unityToAdd.transform.TransformDirection(Vector3.up) * 10;
         * Debug.DrawRay(unityToAdd.transform.position,up, Color.green,10);*/
        if (Physics.Raycast(ray, out hit, 30))
        {
            if (hit.transform.CompareTag("Shadow"))
            {
                unityToAdd.GetComponent <UnityController>().myTextCoord = hit.textureCoord;
                if (shadow == null)
                {
                    shadow = hit.transform.GetComponent <ShadowController>();
                    shadow.SetUnit(hit.textureCoord, unityToAdd.GetComponent <UnityController>().lightRange);
                }
                else
                {
                    shadow.SetUnit(hit.textureCoord, unityToAdd.GetComponent <UnityController>().lightRange);
                }
            }
        }
    }
Esempio n. 2
0
        public void DependencyContainerTestCallingUnityControllerWorks()
        {
            // Use the Assert class to test conditions.
            UnityController unityController = _dependencyContainer.GetUnityController();

            Assert.That(unityController, Is.Not.Null);
        }
Esempio n. 3
0
    private void Awake()
    {
        unityController  = new UnityController();
        texture2D        = new Texture2D(GameWidth, GameHeight);
        rawImage.texture = texture2D;
        colors           = new Color32[GameWidth * GameHeight];

        BootCartridge(Application.dataPath + "/Resources/rom/" + rom);
    }
Esempio n. 4
0
 public void RemoveUnity(UnityController unityToRemove)
 {
     unities.Remove(unityToRemove);
     shadow.RemoveUnit(unityToRemove.myTextCoord, unityToRemove.lightRange);
     for (int i = 0; i < unities.Count; i++)
     {
         shadow.SetUnit(unities[i].myTextCoord, unities[i].lightRange);
     }
     shadow.ReescanGoal();
     //Destroy(unityToRemove);
 }
        private void btn_showStatistic_Click(object sender, EventArgs e)
        {
            UnityController uc = new UnityController();
            SaveFileDialog  saveFileDialog1 = new SaveFileDialog();

            saveFileDialog1.FileName = "temp.txt";
            uc.ShowSalesStatistics(saveFileDialog1.FileName, dateTimePicker_from.Value, dateTimePicker_to.Value);
            string content = File.ReadAllText(saveFileDialog1.FileName);

            richTextBox1.Text = content;
        }
Esempio n. 6
0
    public void StartDrag(Vector2 posTouch)
    {
        CameraControl.instance.inMovement = false;
        //Obtener unity gameobject
        currentUnity         = Instantiate(prefabObject, Vector3.zero, Quaternion.identity);
        currentUnityMaterial = currentUnity.GetComponent <MeshRenderer>().material;
        initialColor         = currentUnityMaterial.color;

        /*Vector3 pos = mainCamera.ScreenToWorldPoint(new Vector3(posTouch.x,posTouch.y,10));
         * Debug.Log("POsStart darg "+pos);
         *
         * currentUnity.transform.position = pos;*/
        UnityController controller = currentUnity.GetComponent <UnityController>();

        UIController.instance.SetUnitData(controller.socialName, controller.forceAttack, controller.speedAttack, controller.lightRange, controller.lives);
    }
Esempio n. 7
0
    // Start is called before the first frame update
    void Start()
    {
        paused = false;
        areaCircle.localScale = new Vector3(visionRange * 2, 0.01f, visionRange * 2);
        initialLives          = lives;
        agent = GetComponent <NavMeshAgent>();
        goal  = GameObject.FindGameObjectWithTag("Goal");

        agent.SetDestination(new Vector3(goal.transform.position.x, 0.5f, goal.transform.position.z));
        agent.speed = speed;
        //agent.stoppingDistance = distToAttack;
        currentTarget     = null;
        currentState      = EnemyState.RUNNING;
        currentTimeAttack = 0;
        audio             = GetComponent <AudioSource>();
        //Debug.Log("Enter start enemy"+ goal);
    }
Esempio n. 8
0
    public void EndDrag(Vector2 posTouch)
    {
        CameraControl.instance.inMovement = true;
        if (posTouch.y < 200)
        {
            Destroy(currentUnity);
            currentUnity      = null;
            currentController = null;
            //currentUnityMaterial = null;
        }
        else
        {
            Vector3 pos = mainCamera.ScreenToWorldPoint(new Vector3(posTouch.x, posTouch.y, 5));
            dir = pos - mainCamera.transform.position;
            RaycastHit hitInfo;
            int        layerMask = 1 << 8;
            layerMask = ~layerMask;
            if (Physics.Raycast(mainCamera.transform.position, dir, out hitInfo, 20, layerMask))
            {
                //Debug.Log(hitInfo.collider.name + ", " + hitInfo.collider.tag + " . " + hitInfo.point);
                currentUnity.transform.position = new Vector3(hitInfo.point.x, 0.5f, hitInfo.point.z);
                NavMeshHit hitNav;
                bool       b1 = UnitiesManager.instance.CheckPosition(hitInfo.point);
                bool       b2 = NavMesh.SamplePosition(hitInfo.point, out hitNav, 0.5f, NavMesh.AllAreas);
                //Debug.Log(b1+" . "+ b2);
                if (b1 && b2)
                {
                    //currentUnityMaterial.color = initialColor;
                    currentController.SetColor(initialColor);
                    UnitiesManager.instance.AddUnity(currentUnity, typeId);
                    currentUnity         = null;
                    currentUnityMaterial = null;
                }
                else
                {
                    Destroy(currentUnity);
                    currentUnity      = null;
                    currentController = null;
                    //currentUnityMaterial = null;
                }
            }
        }

        UIController.instance.ClearUnitData();
    }
Esempio n. 9
0
    public void RemoveUnity(UnityController unityToRemove)
    {
        unities.Remove(unityToRemove);
        shadow.RemoveUnit(unityToRemove.myTextCoord, candleRange, unityToRemove.transform.position);
        CandlesPositions.Add(unityToRemove.transform.position);
        //Aparecer vela o lapida en la posicion del muerto

        /*for(int i = 0; i < unities.Count; i++) {
         *  shadow.SetUnit(unities[i].myTextCoord, unities[i].lightRange);
         * }*/
        //shadow.ReescanGoal();

        if (unities.Count == 0)
        {
            UIController.instance.ActivateEndLevel();
        }
        //Destroy(unityToRemove);
    }
Esempio n. 10
0
 public bool ReciveDamage(UnityController attacker, int damage)
 {
     lives -= damage;
     //Debug.Log("Enemy recive damage");
     if (lives <= 0)
     {
         //Anim die
         lifeImage.fillAmount = 0;
         currentState         = EnemyState.DIYING;
         EnemyGenerator.instance.RemoveEnemy(this);
         Destroy(this.gameObject, 0.2f);
         return(true);
     }
     else
     {
         lifeImage.fillAmount = (float)lives / (float)initialLives;
     }
     return(false);
 }
Esempio n. 11
0
        public void Setup()
        {
            UnityController.SwapEditorPrefs(new TestData.MockEditorPrefs());
            LoggingController.testing  = true;
            TestableConstants.testcase = true;
            TestableConstants.DefaultRegistryLocation =
                new Uri(Path.GetFullPath(
                            Path.Combine(TestData.PATH, "registry/registry.xml")))
                .AbsoluteUri;

            string testRegXmlPath = TestableConstants.DefaultRegistryLocation;

            mockFetcher.AddResponse((new Uri(testRegXmlPath)).AbsoluteUri,
                                    File.ReadAllText((new Uri(testRegXmlPath)).AbsolutePath),
                                    ResponseCode.FETCH_COMPLETE);
            var rb = new RegistryManagerController.RegistryDatabase();

            rb.registryLocation.Add(TestableConstants.DefaultRegistryLocation);
            UnityController.EditorPrefs.SetString(Constants.KEY_REGISTRIES,
                                                  rb.SerializeToXMLString());

            var u = new Uri(Path.GetFullPath(Path.Combine(TestData.PATH, "registry2/registry.xml")));

            mockFetcher.AddResponse(u.AbsoluteUri,
                                    File.ReadAllText(u.AbsolutePath),
                                    ResponseCode.FETCH_COMPLETE);

            UriDataFetchController.SwapUriDataFetcher(mockFetcher);
            UnityController.SwapEditorPrefs(TestData.editorPrefs);

            var rdb = new RegistryManagerController.RegistryDatabase();

            rdb.registryLocation.Add(TestableConstants.DefaultRegistryLocation);

            /// ISO 8601 format: yyyy-MM-ddTHH:mm:ssZ
            rdb.lastUpdate = DateTime.UtcNow.ToString("o"); // "o" = ISO 8601 formatting
            Console.Write(rdb.SerializeToXMLString());
            TestData.editorPrefs.SetString(Constants.KEY_REGISTRIES, rdb.SerializeToXMLString());
        }
Esempio n. 12
0
        private void btn_PrintProd_Click(object sender, EventArgs e)
        {
            SaveFileDialog saveFileDialog1 = new SaveFileDialog();

            saveFileDialog1.InitialDirectory = @"C:\";
            saveFileDialog1.FileName         = ".txt";
            saveFileDialog1.CheckFileExists  = false;
            saveFileDialog1.CheckPathExists  = true;
            saveFileDialog1.DefaultExt       = "txt";
            saveFileDialog1.Filter           = "Text files (*.txt)|*.txt|All files (*.*)|*.*";
            saveFileDialog1.FilterIndex      = 2;
            saveFileDialog1.RestoreDirectory = true;
            if (saveFileDialog1.ShowDialog() == DialogResult.OK)
            {
                UnityController unityControl = new UnityController();
                unityControl.PrintProducts(saveFileDialog1.FileName);
                MessageBox.Show("Din fil er nu gemt på den valgte destination");
            }
            else
            {
                MessageBox.Show("Din fil blev ikke gemt. Du skal oprette en textfil og vælge den i promptvinduet.");
            }
        }
 public UnityGameController(UnityController controller, IGameAI gameAi) : base(gameAi)
 {
     _controller = controller;
 }
Esempio n. 14
0
 // Update is called once per frame
 void Update()
 {
     if (paused)
     {
         return;
     }
     if (lives == 0)
     {
         return;
     }
     //Buscar unidades cercanas para atacarlas
     if (currentState == EnemyState.RUNNING)
     {
         currentTarget = UnitiesManager.instance.SearchUnit(transform.position, visionRange);
         if (currentTarget != null)
         {
             currentState = EnemyState.SEARCHING;
             agent.SetDestination(new Vector3(currentTarget.transform.position.x, 0.5f, currentTarget.transform.position.z));
         }
         else
         {
             float dist = Vector3.Distance(transform.position, goal.transform.position);
             Debug.Log(dist + "  " + distToAttack);
             if (dist <= distToAttack)
             {
                 lives = 0;
                 GameManager.instance.LoseLive();
                 EnemyGenerator.instance.RemoveEnemy(this);
                 Destroy(this.gameObject, 0.1f);
             }
         }
     }
     else if (currentState == EnemyState.SEARCHING)
     {
         if (currentTarget.lives > 0)
         {
             float dist = Vector3.Distance(transform.position, currentTarget.transform.position);
             Debug.Log("In Search " + dist + " " + distToAttack);
             if (dist <= distToAttack)
             {
                 agent.speed  = 0;
                 currentState = EnemyState.ATTACKING;
             }
         }
         else
         {
             currentTimeAttack = 0;
             currentState      = EnemyState.RUNNING;
             agent.speed       = speed;
             agent.SetDestination(new Vector3(goal.transform.position.x, 0.5f, goal.transform.position.z));
         }
     }
     else if (currentState == EnemyState.ATTACKING)
     {
         if (currentTarget.lives > 0)
         {
             currentTimeAttack += Time.deltaTime;
             if (currentTimeAttack > attackSpeed)
             {
                 currentTimeAttack = 0;
                 bool died = currentTarget.ReciveDamage(attackForce);
                 if (died)
                 {
                     currentState = EnemyState.RUNNING;
                     agent.speed  = speed;
                     agent.SetDestination(new Vector3(goal.transform.position.x, 0.5f, goal.transform.position.z));
                 }
             }
         }
         else
         {
             currentTimeAttack = 0;
             currentState      = EnemyState.RUNNING;
             agent.speed       = speed;
             agent.SetDestination(new Vector3(goal.transform.position.x, 0.5f, goal.transform.position.z));
         }
     }
 }
Esempio n. 15
0
public InputController()
	{JustEntered = false;
 frame = World.frame;
		UnityController = new UnityController();
		
}
 public UnityGameClient(UnityController controller, string targetIp, int port, UnityGameController gameController) : base(targetIp, port, gameController)
 {
     _controller     = controller;
     _gameController = gameController;
 }
Esempio n. 17
0
 // Update is called once per frame
 void Update()
 {
     if (paused)
     {
         return;
     }
     if (lives == 0)
     {
         return;
     }
     //Buscar unidades cercanas para atacarlas
     if (currentState == EnemyState.RUNNING)
     {
         currentTarget = UnitiesManager.instance.SearchUnit(transform.position, visionRange);
         if (currentTarget != null)
         {
             //anim.SetTrigger("Idle");
             currentState = EnemyState.SEARCHING;
             agent.SetDestination(new Vector3(currentTarget.transform.position.x, 0.5f, currentTarget.transform.position.z));
         }
         else
         {
             float dist = Vector3.Distance(transform.position, goal.transform.position);
             if (dist <= distToAttack)
             {
                 ActivateEnd();
             }
         }
     }
     else if (currentState == EnemyState.SEARCHING)
     {
         if (currentTarget.lives > 0)
         {
             float dist = Vector3.Distance(transform.position, currentTarget.transform.position);
             //Debug.Log("In Search "+dist+" "+distToAttack);
             if (dist <= distToAttack)
             {
                 anim.SetTrigger("Idle");
                 agent.speed  = 0;
                 currentState = EnemyState.ATTACKING;
             }
         }
         else
         {
             anim.SetTrigger("Run");
             currentTimeAttack = 0;
             currentState      = EnemyState.RUNNING;
             agent.speed       = speed;
             agent.SetDestination(new Vector3(goal.transform.position.x, 0.5f, goal.transform.position.z));
         }
     }
     else if (currentState == EnemyState.ATTACKING)
     {
         if (currentTarget.lives > 0)
         {
             currentTimeAttack += Time.deltaTime;
             if (currentTimeAttack > attackSpeed)
             {
                 audio.Play();
                 anim.SetTrigger("Attack");
                 currentTimeAttack = 0;
                 bool died = currentTarget.ReciveDamage(attackForce);
                 if (died)
                 {
                     anim.SetTrigger("Run");
                     currentState = EnemyState.RUNNING;
                     agent.speed  = speed;
                     agent.SetDestination(new Vector3(goal.transform.position.x, 0.5f, goal.transform.position.z));
                 }
             }
         }
         else
         {
             anim.SetTrigger("Run");
             currentTimeAttack = 0;
             currentState      = EnemyState.RUNNING;
             agent.speed       = speed;
             agent.SetDestination(new Vector3(goal.transform.position.x, 0.5f, goal.transform.position.z));
         }
     }
 }