private void Awake() { controller = GameObject.FindGameObjectWithTag("Controller").GetComponent <ControllerController>(); targetController = controller.targetController; headFixedJoint = transform.GetChild(1).gameObject.GetComponent <FixedJoint>(); headFixedJoint.breakForce = targetController.headJointBreakForce; }
//Initializes the outlets and bitcoins private void Start() { outlets = 0; bitcoin = 0; cc = GetComponent <ControllerController> (); }
/// <summary> /// First unselect selected object and move the given game object to wireframe layer. /// </summary> /// <param name="gameObject"></param> /// <param name="cc"></param> public static void SelectObject(GameObject gameObject, ControllerController cc) { Unselect(); CommonInformationHolder.selectedObject = gameObject; gameObject.layer = WIREFRAME_LAYER; cc.wireframeRenderer.material = gameObject.GetComponent <MeshRenderer>().material; }
/// <summary> /// Create new menu state for mode selection. /// </summary> /// <param name="cc">Vive controller controller</param> public MenuStateMode(ControllerController cc) : base(cc) { choise1Transform = cc.choises1.transform; choise2Transform = cc.choises2.transform; choise1Renderer = choise1Transform.GetComponent <SpriteRenderer>(); choise2Renderer = choise2Transform.GetComponent <SpriteRenderer>(); }
/// <summary> /// Select first object if no object is selected. /// </summary> /// <param name="cc">Vive controller controller</param> public EditObjectTool(ControllerController cc) : base(cc) { if (CommonInformationHolder.selectedObject == null) { SelectObjectTool.SelectObject(GameObject.FindGameObjectWithTag("Object"), cc); } mesh = CommonInformationHolder.selectedObject.GetComponent <MeshFilter>().mesh; meshCollider = CommonInformationHolder.selectedObject.GetComponent <MeshCollider>(); gridMaterial = cc.wireframeRenderer.gridMaterial; }
/// <summary> /// Create new menu state for fading in menu elements. /// </summary> /// <param name="cc">Vive controller controller</param> /// <param name="state">State to fade to</param> public MenuStateFadeIn(ControllerController cc, MenuState state) : base(cc) { this.state = state; renderers[0] = cc.setting.GetComponent <SpriteRenderer>(); renderers[1] = cc.choises1.GetComponent <SpriteRenderer>(); renderers[2] = cc.choises2.GetComponent <SpriteRenderer>(); renderers[3] = cc.choises3.GetComponent <SpriteRenderer>(); renderers[4] = cc.choises4.GetComponent <SpriteRenderer>(); renderers[5] = cc.back.GetComponent <SpriteRenderer>(); }
void Start() { meleeWeapon = Instantiate(meleeWeapon, gameObject.transform, false); meleeOrig = meleeWeapon.transform.localPosition; cannonReticule = Instantiate(cannonReticule); cannonBeam = Instantiate(cannonBeam); meleeWeapon.SetActive(false); cannonReticule.SetActive(false); cannonBeam.SetActive(false); cannonAiming = false; cc = GetComponent <ControllerController> (); }
// get necessary components for future reference private void Start() { controller = GameObject.FindGameObjectWithTag("Controller").GetComponent <ControllerController>(); uIControllerScript = controller.uIController; targetControllerScript = controller.targetController; functionControlScript = GetComponent <FunctionControl>(); for (int i = 0; i < 2 * visualizerMaxFrames - 1; i++) { GameObject visualizeProjectile1 = Instantiate(visualizeProjectile, transform); visualizeProjectile1.SetActive(false); visualizeProjectileInstants.Add(visualizeProjectile1); } }
/// <summary> /// Create new menu state for object tool selection. /// </summary> /// <param name="cc">Vive controller controller</param> public MenuStateObject(ControllerController cc) : base(cc) { choise1Transform = cc.choises1.transform; choise2Transform = cc.choises2.transform; choise3Transform = cc.choises3.transform; choise4Transform = cc.choises4.transform; backTransform = cc.back.transform; choise1Renderer = choise1Transform.GetComponent <SpriteRenderer>(); choise2Renderer = choise2Transform.GetComponent <SpriteRenderer>(); choise3Renderer = choise3Transform.GetComponent <SpriteRenderer>(); choise4Renderer = choise4Transform.GetComponent <SpriteRenderer>(); backRenderer = backTransform.GetComponent <SpriteRenderer>(); }
/// <summary> /// Create new tool. /// </summary> /// <param name="cc">Vive controller controller</param> public Tool(ControllerController cc) { this.cc = cc; }
/// <summary> /// Unselect selected object. /// </summary> /// <param name="cc"></param> public SelectObjectTool(ControllerController cc) : base(cc) { Unselect(); }
// Update is called once per frame void Update() { /* * // Controllerの位置に合わせてラケットを動かす。Controllerは同期するまで登場しないので、こういう記述 * GameObject controller = GameObject.Find("Controller (left)"); * if (controller != null) * { * if (gapPositionRacketController == new Vector3(0, 0, 0)) * // 初期位置の計算が済んでいない * { * Transform tr = GetComponent<Transform>(); * // ラケットの位置とコントローラの位置の差分。引き算で計算 * gapPositionRacketController = tr.position - controller.GetComponent<Transform>().position; * // ラケットの方向とこんとろーらの方向の差分。ラケットの方向にコントローラの方向の逆数をかけることで計算 * gapRotationRacketController = tr.rotation * Quaternion.Inverse(controller.GetComponent<Transform>().rotation); * * } * else * { * // Controllerの位置に合わせてラケットを動かす。 * * Transform controllerTransform = controller.GetComponent<Transform>(); * * Vector3 newPos = controllerTransform.position + gapPositionRacketController; * Quaternion newAngle = controllerTransform.rotation * gapRotationRacketController; * * Rigidbody rb = GetComponent<Rigidbody>(); * // 位置の移動はTransformではなくRigidbodyのMoveを利用する * // これで細かい衝突が検知される。 * rb.MovePosition(newPos); * rb.MoveRotation(newAngle); * * } * } * */ // ボールが接触している場合、ラケットの位置に合わせてボールを移動。 if (isBallAttached) { // RacketのTransformを取得 Transform tr = gameObject.GetComponent <Transform>(); // Racket上のBallの相対位置を現在のRacketの位置に合わせて絶対座標へ変換 Vector3 newBallPos = tr.TransformPoint(ballContactPoint); // 新しい場所へBallを移動(Speedは0) gameController.setBallPos(newBallPos, new Vector3(0, 0, 0)); // 「ボールがラケットに接触し続ける時間」が過ぎたら、ボールをリリースする if (Time.time > ballAttachedTime + BallAttachPeriod) { // HitLastRacketはリリース時のRacketの絶対座標 // 当たった時からリリース時までのBallの距離をRacketの速度とみなし、Ballの速度に設定 Vector3 newBallSpeed = (newBallPos - ballPositionOnHit) / BallAttachPeriod; // ラケットに当たった時のボールの速度に反発係数をかけ、ラケットの向きに。 // Racketの法線ベクトルを取得(RacketVector, RacketCenterはそれぞれRacket上に配置) Vector3 racketVector = GameObject.Find("RacketVector").GetComponent <Transform>().position - GameObject.Find("RacketCenter").GetComponent <Transform>().position; // Racketの法線ベクトルと衝突時のBallの速度の内積が負の場合、ユーザはRacketを逆に持っている。法線ベクトルを逆に if (Vector3.Dot(racketVector, ballSpeedOnHit) > 0) { racketVector *= -1; } // Debug.Log("Racket:Racket Vector:" + racketVector); // Racketの法線方向に、衝突時の速度と同じ大きさの速度と反発係数をかけ、ラケットの速度と足して、新しいボールの速度に newBallSpeed += racketVector.normalized * ballSpeedOnHit.magnitude * BallReboundRatio; Debug.Log("Racket:releaes Ball speed 2:" + newBallSpeed); // BallはRacketを離れた isBallAttached = false; // GameController経由でBallの速度を設定 gameController.setBallPos(newBallPos, newBallSpeed); // GameControllerにボールが当たったサウンドの再生を指示 // 打った後のボールの速度をもとに音量を計算 float volume_coefficient = 0.01f; print(newBallSpeed.magnitude); float volume = System.Math.Min(newBallSpeed.magnitude * volume_coefficient, 1.0f); gameController.PlayBallHitSound(volume); int vibration_coefficient = 30; int vibration_coefficient2 = 10; // int vibtime_ms = 600; // TODO 振動させる ControllerController controllerController = FindObjectOfType <ControllerController>(); ushort f = (ushort)(newBallSpeed.magnitude * vibration_coefficient); int t = (ushort)(newBallSpeed.magnitude * vibration_coefficient2); controllerController.start_vibration(t, f); } } }
void Start() { cc = GetComponent <ControllerController> (); }
public MenuStateClosed(ControllerController cc) : base(cc) { }
public MenuOpenState(ControllerController cc) : base(cc) { }
/// <summary> /// Create new menu state. /// </summary> /// <param name="cc">Vive controller controller</param> public MenuState(ControllerController cc) { this.cc = cc; }
public MenuStateOpened(ControllerController cc) : base(cc) { }
void Start() { rb = GetComponent <Rigidbody2D> (); cc = GetComponent <ControllerController> (); sr = GetComponent <SpriteRenderer> (); }
public static void Main(string[] args) { //load settings Settings settings = Settings.Load(); if (settings == null) { Console.WriteLine("Invalid settings - check the Settings.json file"); Console.ReadKey(); return; } settings.Save(); //prepare storage FileBasedControllerStorage controllerStorage = new FileBasedControllerStorage(); FileBasedFirmwareStorage firmwareStorage = new FileBasedFirmwareStorage(); MemoryBasedLedStorage ledStorage = new MemoryBasedLedStorage(); FileBasedGroupStorage groupStorage = new FileBasedGroupStorage(); //initialize storage controllerStorage.Initialize(settings.ControllerPath); firmwareStorage.Initialize(settings.FirmwarePath); ledStorage.Initialize(); groupStorage.Initialize(settings.GroupPath); //initialize business logic (handlers) ControllerHandler controllerHandler = new ControllerHandler(controllerStorage, groupStorage, ledStorage); FirmwareHandler firmwareHandler = new FirmwareHandler(firmwareStorage, settings); LedHandler ledHandler = new LedHandler(ledStorage, controllerStorage); GroupHandler groupHandler = new GroupHandler(groupStorage, ledStorage); TrunkEndpoint trunkEndpoint = new TrunkEndpoint(controllerStorage, ledStorage); //initialize API endpoints (controllers) BaseController baseController = new BaseController(settings.Oauth); ControllerController controllerController = new ControllerController(controllerHandler); ControllerTrunk controllerTrunk = new ControllerTrunk(trunkEndpoint); FirmwareController firmwareController = new FirmwareController(firmwareHandler); LedController ledController = new LedController(ledHandler); GroupController groupController = new GroupController(groupHandler); //initialize web server HttpService service = new DefaultHttpSysService(false, "+", settings.ServerPort); service.AddController(baseController, settings.Multithreaded); service.AddController(controllerController, settings.Multithreaded); service.AddController(controllerTrunk, "Trunk", true); service.AddController(firmwareController, settings.Multithreaded); service.AddController(ledController, settings.Multithreaded); service.AddController(groupController, settings.Multithreaded); //service.GetProcessorPostManipulation(DefaultHttpSysService.INTERNAL_PROCESSING_GROUP).Add(new OptionsPayloadInjector("OptionsInjector")); //if OAuth is enabled... if (settings.Oauth) { //prepare OAuth storage ClientAccountFileStorage clientStorage = new ClientAccountFileStorage(); UserAccountFileStorage userStorage = new UserAccountFileStorage(); RefreshTokenFileStorage refreshTokenStorage = new RefreshTokenFileStorage(); //initialize oauth storage clientStorage.Initialize(settings.ClientPath); refreshTokenStorage.Initialize(settings.RefreshTokenPath); userStorage.Initialize(settings.UserPath); //prepare OAuth core OAuth2 oauth = new OAuth2("fwehnvd3432nfre7r834nfsfiu43kmvrew!"); oauth.ClientCredentialsAuthorization = new ClientCredentialsAuthorization(oauth, clientStorage); oauth.PasswordAuthorization = new PasswordAuthorization(oauth, clientStorage, userStorage); oauth.RefreshTokenAuthorization = new RefreshTokenAuthorization(oauth, clientStorage, userStorage, refreshTokenStorage); service.GetProcessorPreManipulation(false).Add(new CustomizedAccessTokenValidator(oauth.AccessTokenValidator)); //prepare OAuth Webkit IScopeHandler scopeHandler = new ScopeHandler(service, oauth); IClientHandler clientHandler = new ClientHandler(clientStorage); IUserHandler userHandler = new UserHandler(clientStorage, userStorage); //initialize API endpoints (controllers) for OAuth + Webkit service.AddController(new AuthController(oauth)); service.AddController(new ClientController(clientHandler)); service.AddController(new ScopeController(scopeHandler)); service.AddController(new UserController(userHandler)); //assign scopes to OAuth Webkit API endpoints ClientController.AssignScopesToEndpoints(skotstein.app.ledserver.tools.Scopes.AUTH_CLIENT_READ, skotstein.app.ledserver.tools.Scopes.AUTH_CLIENT_WRITE, oauth); ScopeController.AssignScopeToEndpoint(skotstein.app.ledserver.tools.Scopes.AUTH_SCOPE_READ, oauth); UserController.AssignScopesToEndpoints(skotstein.app.ledserver.tools.Scopes.AUTH_USER_READ, skotstein.app.ledserver.tools.Scopes.AUTH_USER_WRITE, oauth); } //generate YAML file OpenApiDocumentBuilder documentBuilder = new OpenApiDocumentBuilder(); OpenApiDocument document = documentBuilder.Build("V1"); if (settings.Oauth) { document = documentBuilder.AddSecuritySchema(document, new List <HttpController> { baseController, controllerController, groupController, ledController, firmwareController }, /*@"http://*****:*****@"http://localhost:4000/api/v1/auth/token"); } string json = documentBuilder.AsJson(document); json = documentBuilder.Replace(json, new ExampleValues()); json = documentBuilder.Replace(json, new HostValue("http://*****:*****@".\OpenApi.json", json); //start server Console.WriteLine(service.Routes); service.Start(); Console.WriteLine("Service is listening on port:" + settings.ServerPort); if (settings.Oauth) { Console.WriteLine("OAuth 2.0 is enabled"); Console.WriteLine("Access Token URL: POST " + restlayer.ApiBase.API_V1 + "/auth/token"); } else { Console.WriteLine("OAuth 2.0 is disabled"); } Console.WriteLine("Press key to terminate"); Console.ReadKey(); }