public void Spawn(BaseObject.OBJECT_TYPE type, Vector3 position) { GameObject go = Instantiate <GameObject>(prefabs[(int)type]); go.transform.SetParent(transform); go.transform.position = position; }
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; } }
protected void DestroyedPlayer(BaseObject.OBJECT_TYPE _typeOfObj) { List <BaseObject> currentListOfUnits = ObjectManager.Instance.GetList(_typeOfObj); if (currentListOfUnits.Count == 0) { PlayerLose(); } }
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; } } } }
public List <BaseObject> GetList(BaseObject.OBJECT_TYPE type) { return(objectList[(int)type]); }
public void RemoveObject(BaseObject.OBJECT_TYPE type, BaseObject baseObject) { objectList[(int)type].Remove(baseObject); }
public void AddObject(BaseObject.OBJECT_TYPE type, BaseObject baseObject) { objectList[(int)type].Add(baseObject); }