Example #1
0
 public void SetSortingOrder(int sortingOrder)
 {
     if (_spineTankIcon != null)
     {
         TankIconSpineAttach spineAttach       = _spineTankIcon.GetComponent <TankIconSpineAttach> ();
         SkeletonAnimation   skeletonAnimation = spineAttach.skeletonAnim;
         RenderHelper.SetSpineSortingOrder(skeletonAnimation, sortingOrder);
     }
 }
    public static GameObject Create(DataUnit tankDataUnit, Vector3 position, float scale, int bodyDegree, int cannonDegree, string primitive = "tankIconPrimitive")
    {
        GameObject tank = ResourceHelper.Load(AppConfig.FOLDER_PROFAB_TANK + primitive);

        tank.transform.position = position;

        TankIconSpineAttach tankIcon = tank.GetComponent <TankIconSpineAttach> ();

        tankIcon.Attach(tank, tankDataUnit, tankDataUnit.asset, scale, bodyDegree, cannonDegree);

        return(tank);
    }
    private Vector3 CreateTankIcon()
    {
        if (_tankIconRoot == null)
        {
            _tankIconRoot = new GameObject("TankIconRoot");
        }

        _tankIconRoot.transform.position = new Vector3();
        Vector3 tileCenter = GetTileCenter(_selectTileIndex);

        float minX = int.MaxValue;
        float minY = int.MaxValue;
        float maxX = int.MinValue;
        float maxY = int.MinValue;

        DataMission    mission = _dataCampaign.missions [_selectTileIndex];
        InstanceBattle battle  = new InstanceBattle();

        battle.ImportFromLevel(mission);
        InstanceTeam team = battle.enemyTeams [0];

        for (int i = 0; i < team.units.Length; ++i)
        {
            int unitId = team.units [i].unitId;
            if (unitId > 0)
            {
                DataUnit unit = DataManager.instance.dataUnitsGroup.GetUnit(unitId);

//				GameObject tank = ResourceHelper.Load (AppConfig.FOLDER_PROFAB_TANK + "tankIconPrimitive");
//				tank.transform.parent = _tankIconRoot.transform;

                Vector3 pos = tileCenter;
                pos.x += ((i % 3) - 1) * 27 * TANK_SIZE_SCALE;
                pos.y += ((i / 3) - 1) * 18 * TANK_SIZE_SCALE;
                pos.z  = -1;
//				tank.GetComponent<CampaignUnitIcon> ().Init (pos, unit, -60, -60);

                GameObject tank = TankIconSpineAttach.Create(unit, pos, TANK_SIZE_SCALE, -60, -60);
                tank.transform.parent = _tankIconRoot.transform;

                _tankIcons [i] = tank;

                minX = Math.Min(minX, pos.x);
                minY = Math.Min(minY, pos.y);
                maxX = Math.Max(maxX, pos.x);
                maxY = Math.Max(maxY, pos.y);
            }
        }

        Vector3 translate = FixIconPosition(minX, minY, maxX, maxY);

        return(translate);
    }
Example #4
0
    public void CreateSpineTank()
    {
        if (_spineTankIcon == null)
        {
            DataUnit unit      = DataManager.instance.dataUnitsGroup.GetUnit(unitId);
            string   primitive = "tankIconPrimitiveUI";

            _spineTankIcon      = TankIconSpineAttach.Create(unit, Vector3.zero, 7f, 90, 90, primitive);
            _spineTankIcon.name = "SpineTankIconUI";

            _spineTankIcon.transform.parent        = transform;
            _spineTankIcon.transform.localPosition = Vector3.zero;
            _spineTankIcon.transform.localScale    = Vector3.one;                 // new Vector3 (0.1f, 0.1f, 0.1f);

            SetSortingOrder(1);

            RenderHelper.ChangeTreeLayer(_spineTankIcon, gameObject.layer);
        }
    }