Esempio n. 1
0
    public void Spawn(BaseObject.OBJECT_TYPE type, Vector3 position)
    {
        GameObject go = Instantiate <GameObject>(prefabs[(int)type]);

        go.transform.SetParent(transform);
        go.transform.position = position;
    }
Esempio n. 2
0
    public override void MakeDecision(RaycastHit _hit)
    {
        BaseObject.OBJECT_TYPE oType = _hit.transform.gameObject.GetComponent <BaseObject>().myType;
        switch (oType)
        {
        case OBJECT_TYPE.BASE_TYPE:
            break;

        case OBJECT_TYPE.STRUCUTRE:
            break;

        case OBJECT_TYPE.RESOURCE:
            //currently gathering minerals
            Resource r = _hit.transform.gameObject.GetComponent <Resource>();
            //r.AddMiner(gameObject);
            targetResource = r.gameObject;
            Move(targetResource.transform.position);
            break;

        case OBJECT_TYPE.UNIT:
            break;

        case OBJECT_TYPE.ENVIRONMENT:
            //if the user clicked on the map, move the object to that point
            Move(_hit.point);
            break;

        default:
            break;
        }
    }
Esempio n. 3
0
    protected void DestroyedPlayer(BaseObject.OBJECT_TYPE _typeOfObj)
    {
        List <BaseObject> currentListOfUnits = ObjectManager.Instance.GetList(_typeOfObj);

        if (currentListOfUnits.Count == 0)
        {
            PlayerLose();
        }
    }
Esempio n. 4
0
    private void OnLeftClick()
    {
        Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        RaycastHit hit;

        if (Physics.Raycast(ray, out hit))
        {
            if (hit.point.y < 0.0f)
            {
                hit.point = new Vector3(hit.point.x, 0.0f, hit.point.z);
            }
            Renderer   r;
            BaseObject obj = hit.transform.gameObject.GetComponent <BaseObject>();
            if (obj != null)
            {
                obj.UpdateHUDOnClick();
            }
            if (LastObjClicked != null)
            {
                r = LastObjClicked.GetComponentInChildren <Renderer>();
                r.material.shader = Shader.Find("Standard");
                if (LastObjClicked.GetComponent <Structure>() != null)
                {
                    LastObjClicked.GetComponent <Structure>().GetMyRalleyPoint().DisableHelpfulInfo();
                }
            }
            if (obj.GetHighlightable())
            {
                LastObjClicked = obj.gameObject;
                r = LastObjClicked.GetComponentInChildren <Renderer>();
                r.material.shader = OnClickShader;
            }
            if (obj.GetMoveable())
            {
                OBJ_Clicked = obj.gameObject;
            }
            else
            {
                OBJ_Clicked = null;
            }
            if (obj)
            {
                BaseObject.OBJECT_TYPE type = obj.myType;
                switch (type)
                {
                case BaseObject.OBJECT_TYPE.BASE_TYPE:
                    break;

                case BaseObject.OBJECT_TYPE.STRUCUTRE:
                    obj.GetComponent <Structure>().OnClick(hit);
                    break;

                case BaseObject.OBJECT_TYPE.UNIT:
                    break;

                case BaseObject.OBJECT_TYPE.ENVIRONMENT:
                    obj.GetComponent <Environment>().OnClick(hit);
                    break;

                case BaseObject.OBJECT_TYPE.RESOURCE:
                    break;

                default:
                    break;
                }
            }
        }
    }
Esempio n. 5
0
 public List <BaseObject> GetList(BaseObject.OBJECT_TYPE type)
 {
     return(objectList[(int)type]);
 }
Esempio n. 6
0
 public void RemoveObject(BaseObject.OBJECT_TYPE type, BaseObject baseObject)
 {
     objectList[(int)type].Remove(baseObject);
 }
Esempio n. 7
0
 public void AddObject(BaseObject.OBJECT_TYPE type, BaseObject baseObject)
 {
     objectList[(int)type].Add(baseObject);
 }