public void Awake() { instance = this; Physics.autoSimulation = false; boxTransform = box.transform; // Define and read arguments ArgumentParser argParser = new ArgumentParser(); argParser.AddArgument("-targetFrameRate", false, "50"); argParser.AddArgument("-portAgentSend", false, "26001"); argParser.AddArgument("-portAgentReceive", false, "26000"); argParser.AddArgument("-controlRotation", false, "1"); argParser.AddArgument("-controlVelocity", false, "0"); argParser.AddArgument("-autoRollTarget", false, "1"); argParser.AddArgument("-autoTargetMin", false, "-45"); argParser.AddArgument("-autoTargetMax", false, "45"); argParser.AddArgument("-rotStartMin", false, "-20"); argParser.AddArgument("-rotStartMax", false, "20"); argParser.AddArgument("-angVelStartMin", false, "-5"); argParser.AddArgument("-angVelStartMax", false, "5"); argParser.AddArgument("-velStartMin", false, "-10"); argParser.AddArgument("-velStartMax", false, "10"); argParser.ParseArguments(); // Read arguments Application.targetFrameRate = argParser.GetIntArgument("-targetFrameRate"); QualitySettings.vSyncCount = 0; externalAgent = argParser.arguments["-portAgentSend"].isSupplied && argParser.arguments["-portAgentReceive"].isSupplied; portAgentSend = argParser.arguments["-portAgentSend"].valueInt; portAgentReceive = argParser.arguments["-portAgentReceive"].valueInt; controlRotation = argParser.arguments["-controlRotation"].valueInt == 1; controlVelocity = argParser.arguments["-controlVelocity"].valueInt == 1; autoRollTarget = argParser.arguments["-autoRollTarget"].valueInt == 1; autoTargetMin = argParser.arguments["-autoTargetMin"].valueFloat; autoTargetMax = argParser.arguments["-autoTargetMax"].valueFloat; rotStartMin = argParser.arguments["-rotStartMin"].valueFloat; rotStartMax = argParser.arguments["-rotStartMax"].valueFloat; angVelStartMin = argParser.arguments["-angVelStartMin"].valueFloat; angVelStartMax = argParser.arguments["-angVelStartMax"].valueFloat; velStartMin = argParser.arguments["-velStartMin"].valueFloat; velStartMax = argParser.arguments["-velStartMax"].valueFloat; // Instantiate agent controller (external or local human controller) if (externalAgent) { agentController = new BoxExternalAgentController(observationDimension, actionDimension, portAgentSend, portAgentReceive); } else { agentController = new BoxHumanAgentController(boxInputReader); } // Initiate environment ResetEnvironment(); }
private void CheckScoreAndEvent() { BoxGameManager.onLandDele(); if (!BoxGameManager.isGameOver) { BoxGameManager.GetInstance().SendScore(); } }
public static Vector3 CalculateCreatePos(BoxGameManager bgm) { Transform tmp = bgm.landedBox.transform; float newPosX = Mathf.Abs(tmp.localScale.x) + Mathf.Abs(tmp.position.x); Vector3 pos = new Vector3(CheckSign(tmp.position.x, bgm) * newPosX, tmp.position.y, -5); return(pos); }
private void Start() { boxParent = GameObject.Find("BoxParent"); bgm = GameObject.Find("GameManager").GetComponent <BoxGameManager>(); boxParent.GetComponent <BoxParent>().AddBox(gameObject); gameObject.transform.SetParent(boxParent.transform); }
private void CreateObj() { if (BoxGameManager.GetInstance().currentBox == null) { BoxGameManager.GetInstance().currentBox = box; } newBox = Instantiate(BoxGameManager.GetInstance().currentBox, genPos.position, Quaternion.identity); newBox.gameObject.tag = "Box"; IsLanded = !IsLanded; }
public void SetBoxSize() { moverBox.transform.position = BoxGameManager.GetInstance().currentBox.transform.position; moverBox.transform.localScale = BoxGameManager.GetInstance().currentBox.transform.localScale; GeneratorMove.correctionValue = (basicValue - moverBox.transform.localScale.x) / 2f; // 제너레이터 무브의 이동 수치 증감 Debug.Log((basicValue - moverBox.transform.localScale.x) / 2f); moverBox.transform.localPosition = Vector3.zero; }
//// 잘라진박스의 색갈 트리거등 잡설정셋팅 public static void CalculateScatter(GameObject scattering, BoxGameManager bgm) { Transform tmp = bgm.landedBox.transform; float newScaleX = bgm.prevBox.transform.localScale.x - tmp.localScale.x; scattering.transform.localScale = new Vector3(newScaleX, tmp.localScale.y, tmp.localScale.z); scattering.tag = "Player"; scattering.AddComponent <ScatteringMovement>().sign = CheckSign(tmp.position.x, bgm); SetScattering(scattering); }
public static int CheckSign(float landTrX, BoxGameManager bgm) { int sign = 1; //크면 오른쪽 작으면 왼쪽에서 생성됨 if (landTrX > bgm.prevBox.transform.position.x) { sign = 1; } else { sign = -1; } return(sign); }
//현재 박스를 이전 땅에 닿은 박스와 계산해서 자르는 것 public static void CaculateCurrentBox(GameObject obj, BoxGameManager bgm) { Transform currentBoxTr = obj.transform; Transform landedBox = bgm.landedBox.transform; float trX = (landedBox.position.x - currentBoxTr.position.x); currentBoxTr.position = new Vector3(currentBoxTr.position.x + (trX / 2), currentBoxTr.position.y, currentBoxTr.position.z); currentBoxTr.localScale = new Vector3(currentBoxTr.localScale.x - Mathf.Abs(trX), currentBoxTr.localScale.y, currentBoxTr.localScale.z); bgm.currentBox = obj; obj.name = "LandedBox"; }
// Use this for initialization void Start() { if (instance == null) { instance = this; } else if (instance != this) { Destroy(gameObject); } ExitWindow.SetActive(false); WinWindow.SetActive(false); LoseWindow.SetActive(false); isClosedBettingWindow = false; arrowCount = 0; timeCount = 0; tempArrow = ""; whatTimesLeft.text = "남은 시간 : " + (26 - timeCount); getMoney = false; SoundManager.PlaySound("bgm_floor2"); //StartCoroutine(CreateArrowBox()); }
public void OnClickRestart() { BoxGameManager.GetInstance().RestartGame(); }
private void Awake() { instance = this; }