Esempio n. 1
0
        internal void Awake()
        {
            int unit_cnt = 5;

            speed   = 1f;
            angle   = 0f;
            form    = new UnitFormation();
            sprites = new List <prop>();

            form.SetFormation(unit_cnt, formTypes.auto);

            form.onEndMove     += Form_onEndMove;
            form.onEndRotate   += Form_onEndRotate;
            form.onStartMove   += Form_onStartMove;
            form.onStartRotate += Form_onStartRotate;

            transform.position = form.Get_leader_coord();

            for (int i = 0; i < unit_cnt; i++)
            {
                GameObject newUnit = Instantiate(unitPrefab);
                var        prop    = newUnit.GetComponent <prop>();
                sprites.Add(prop);
                //
                //int arrayIdx = Random.Range(0, unitSprites.Length);
                //Sprite unitSprite = unitSprites[arrayIdx];
                //string unitName = unitSprite.name;
                //
                newUnit.name = "man" + i;
                //     newUnit.transform.position = new Vector3(Random.Range(-1*sz,1*sz),0,Random.Range(-1*sz,1*sz));

                newUnit.transform.position = form.positions[i];
                //     newUnit.transform.Rotate( new Vector3(1f, 0f, 0f) , 45);
                //
                prop.unitName = newUnit.name;
                prop.speed    = 0.3f;

                //newUnit.GetComponent<SpriteRenderer>().sprite = unitSprite;

                prop.MoveTo(form.positions[i]);
            }


            //            form.MoveFormation(new Vector3(Random.Range(-100, 100), 0, Random.Range(-100, 100)));

            MouseEvents.mouseClick.AddListener(onClick);
        }
Esempio n. 2
0
        internal void onClick(ClickEventData data)
        {
            if (data.keyPressed == mouseButtons.left_button)
            {
                form.SetRotateFormation(data.point);
                form.MoveFormation(data.point);
                Debug.Log("Clicked:" + data.point);
            }
            else if (data.keyPressed == mouseButtons.right_button)
            {
                form.SetRotateFormation(data.point);
                form.move_positions.Clear();

                angle = Utilities.GetAngle(form.Get_leader_coord(), data.point);

                Debug.Log("Clicked2:" + data.point + " angle=" + angle);
            }
        }