Exemplo n.º 1
0
    //Load all game objects in this square
    public void LoadObjects()
    {
        //Load background
        GameObject obj = (GameObject)GameObject.Instantiate(Resources.Load("Prefabs/Squares/square_background"));

        obj.transform.parent     = parent;
        obj.transform.localScale = new Vector3(0, 0, 0);
        //Set square object
        squareObject = obj.GetComponent <SquareObject>();
        squareObject.squareScript = this;
        AddBackground(obj);

        switch (type)
        {
        case SquareType.block:
        {
            //gen block object
            obj = (GameObject)GameObject.Instantiate(Resources.Load("Prefabs/Squares/brick"));
            obj.transform.parent     = parent;
            obj.transform.localScale = new Vector3(100, 100, 1);
            AddObject(obj);
            break;
        }

        case SquareType.block_stone:
        {
            //gen block object
            obj = (GameObject)GameObject.Instantiate(Resources.Load("Prefabs/Squares/brick"));
            obj.transform.parent     = parent;
            obj.transform.localScale = new Vector3(100, 100, 1);
            AddObject(obj);
            //gen stone object in front of
            obj = (GameObject)GameObject.Instantiate(Resources.Load("Prefabs/Squares/brick_stone"));
            obj.transform.parent     = parent;
            obj.transform.localScale = new Vector3(100, 100, 1);
            AddObject(obj);
            break;
        }

        case SquareType.block_glass:
        {
            //gen block object
            obj = (GameObject)GameObject.Instantiate(Resources.Load("Prefabs/Squares/brick"));
            obj.transform.parent     = parent;
            obj.transform.localScale = new Vector3(100, 100, 1);
            AddObject(obj);
            //gen glass object in front of
            obj = (GameObject)GameObject.Instantiate(Resources.Load("Prefabs/Squares/brick_glass"));
            obj.transform.parent     = parent;
            obj.transform.localScale = new Vector3(100, 100, 1);
            AddObject(obj);
            break;
        }
        }
    }
Exemplo n.º 2
0
    public SquareObject AddSquareObject(IPosition pos, Vector3 rotation, GameObject obj)
    {
        var square = this.GetSquareAtPoint(pos.To2D());

        if (obj.tag == "Start")
        {
            foreach (var tsquare in map.Values)
            {
                if (tsquare.objects.Any(o => o.GetGameObject().tag == "Start"))
                {
                    Debug.Log("Duplicate Starts");
                    return(null); // can't have duplicate starts
                }
            }
        }

        if (square == null)
        {
            SquareObject newObj = new SquareObject(pos, rotation, obj);
            square = new Square(pos.To2D());
            square.objects.Add(newObj);

            map.Add(square.position, square);

            return(newObj);
        }
        else
        {
            if (square.objects.Any(o => o.pos == pos))
            {
                return(null);
            }
            else
            {
                SquareObject newObj = new SquareObject(pos, rotation, obj);
                square.objects.Add(newObj);

                return(newObj);
            }
        }

        return(null);
    }
 public void Reset(SquareType type, SquareObject objectType)
 {
     ObjectType = objectType;
     Type = type;
     SquareIndex = -1;
 }
 public void RemoveObject()
 {
     Destroy(gameObject);
     sqrObject = null;
 }