Exemplo n.º 1
0
    public void Create(FightCtllerView ctl, FightGrid grid)
    {
        m_ctller         = ctl;
        m_fight_grid     = grid;
        gameObject.layer = (int)UnityLayer.UI;

        Vector2 min = new Vector2(float.MaxValue, float.MaxValue);
        Vector2 max = new Vector2(float.MinValue, float.MinValue);

        m_units = new Unit[FightGrid.UnitCount.Y, FightGrid.UnitCount.X];
        for (int y = 0; y < FightGrid.UnitCount.Y; ++y)
        {
            for (int x = 0; x < FightGrid.UnitCount.X; ++x)
            {
                GameObject obj_unit = ResMgr.Instance.CreateGameObject("Fight/GridUnit", gameObject);
                obj_unit.transform.localPosition = grid.Units[y, x].Position;
                FightGridUnitView uv = obj_unit.GetComponent <FightGridUnitView>();
                uv.Create(this, grid.Units[y, x]);
                m_units[y, x] = new Unit(new Int2D(x, y), uv);

                min.x = Mathf.Min(min.x, grid.Units[y, x].Position.x - FightGrid.UnitSize / 2);
                min.y = Mathf.Min(min.y, grid.Units[y, x].Position.y - FightGrid.UnitSize / 2);

                max.x = Mathf.Max(max.x, grid.Units[y, x].Position.x + FightGrid.UnitSize / 2);
                max.y = Mathf.Max(max.y, grid.Units[y, x].Position.y + FightGrid.UnitSize / 2);
            }
        }

        /*
         * BoxCollider cld = gameObject.AddComponent<BoxCollider>();
         * cld.center = min + (max - min) / 2;
         * cld.size = (max - min);
         */
        SetVisible(false);

        m_fight_grid.OnAddCreature    += OnAddCreature;
        m_fight_grid.OnRemoveCreature += OnRemoveCreature;
    }
Exemplo n.º 2
0
 public Unit(Int2D idx, FightGridUnitView uv)
 {
     Index = idx;
     UnitView = uv;
 }
Exemplo n.º 3
0
 public Unit(Int2D idx, FightGridUnitView uv)
 {
     Index    = idx;
     UnitView = uv;
 }