// Execute the action public int Execute(HeroKitObject hko) { heroKitObject = hko; // get field values Camera camera = CameraFieldValue.GetValue(heroKitObject, 0, 4); int speed = IntegerFieldValue.GetValueA(heroKitObject, 1); int magnitude = IntegerFieldValue.GetValueA(heroKitObject, 2); int time = IntegerFieldValue.GetValueA(heroKitObject, 3); bool runThis = (camera != null); // make sure object is a camera if (runThis) { // shake the camera cameraShake = heroKitObject.GetGameObjectComponent <CameraShake>("CameraShake", true, camera.gameObject); cameraShake.speed = speed; cameraShake.magnitude = magnitude; cameraShake.time = time; cameraShake.Initialize(); // set up update for long action eventID = heroKitObject.heroStateData.eventBlock; heroKitObject.heroState.heroEvent[eventID].waiting = true; updateIsDone = false; heroKitObject.longActions.Add(this); } // show debug message if (heroKitObject.debugHeroObject) { string debugMessage = "Camera: " + camera + "\n" + "Magnitude: " + magnitude + "\n" + "Speed: " + speed + "\n" + "Speed: " + speed; Debug.Log(HeroKitCommonRuntime.GetActionDebugInfo(heroKitObject, debugMessage)); } // return value return(-99); }
// Execute the action public int Execute(HeroKitObject hko) { heroKitObject = hko; // get field values Camera camera = CameraFieldValue.GetValue(heroKitObject, 0, 1); bool runThis = (camera != null); if (runThis) { CameraController cameraController = heroKitObject.GetGameObjectComponent <CameraController>("CameraController", true, camera.gameObject); cameraController.enabled = false; } // show debug message if (heroKitObject.debugHeroObject) { string debugMessage = "Camera: " + camera; Debug.Log(HeroKitCommonRuntime.GetActionDebugInfo(heroKitObject, debugMessage)); } return(-99); }
// Execute the action public int Execute(HeroKitObject hko) { heroKitObject = hko; // get field values int smoothing = 5; float posY = 0; float posX = 0; float size = 5; // get the object to follow HeroKitObject targetObject = HeroObjectFieldValue.GetValueA(heroKitObject, 1)[0]; // get the camera Camera camera = CameraFieldValue.GetValue(heroKitObject, 0, 11); // change settings if (BoolValue.GetValue(heroKitObject, 2)) { // change smoothing if (BoolValue.GetValue(heroKitObject, 3)) { smoothing = IntegerFieldValue.GetValueA(heroKitObject, 4); } // change Z pos if (BoolValue.GetValue(heroKitObject, 5)) { posX = FloatFieldValue.GetValueA(heroKitObject, 6); } // change Y pos if (BoolValue.GetValue(heroKitObject, 7)) { posY = FloatFieldValue.GetValueA(heroKitObject, 8); } // change size of viewport if (BoolValue.GetValue(heroKitObject, 9)) { size = FloatFieldValue.GetValueA(heroKitObject, 10); } } bool runThis = (camera != null && targetObject != null); if (runThis) { // change perspective to "orthographic" camera.orthographic = true; camera.orthographicSize = size; // set up the camera CameraController cameraController = heroKitObject.GetGameObjectComponent <CameraController>("CameraController", true, camera.gameObject); cameraController.targetObject = targetObject; cameraController.smoothing = smoothing; cameraController.defaultPos = new Vector3(posX, posY, -10); cameraController.defaultAngles = new Vector3(0, 0, 0); cameraController.firstPerson = false; cameraController.Initialize(); } // show debug message if (heroKitObject.debugHeroObject) { string debugMessage = "Camera: " + camera; Debug.Log(HeroKitCommonRuntime.GetActionDebugInfo(heroKitObject, debugMessage)); } return(-99); }
// Execute the action public int Execute(HeroKitObject hko) { heroKitObject = hko; // get the camera Camera camera = CameraFieldValue.GetValue(heroKitObject, 0, 11); Vector3 position = new Vector3(); int speed = 0; bool runThis = (camera != null); if (runThis) { int moveType = DropDownListValue.GetValue(heroKitObject, 1); position = new Vector3(); // move to position if (moveType == 1) { position.x = BoolValue.GetValue(heroKitObject, 2) ? FloatFieldValue.GetValueA(heroKitObject, 3) : camera.transform.localPosition.x; position.y = BoolValue.GetValue(heroKitObject, 4) ? FloatFieldValue.GetValueA(heroKitObject, 5) : camera.transform.localPosition.y; position.z = BoolValue.GetValue(heroKitObject, 6) ? FloatFieldValue.GetValueA(heroKitObject, 7) : camera.transform.localPosition.z; } // move to object else if (moveType == 2) { SceneObjectValueData sceneObjectData = SceneObjectValue.GetValue(heroKitObject, 8, 9, false); if (sceneObjectData.heroKitObject != null) { position.x = BoolValue.GetValue(heroKitObject, 2) ? sceneObjectData.heroKitObject[0].transform.localPosition.x : camera.transform.localPosition.x; position.y = BoolValue.GetValue(heroKitObject, 4) ? sceneObjectData.heroKitObject[0].transform.localPosition.y : camera.transform.localPosition.y; position.z = BoolValue.GetValue(heroKitObject, 6) ? sceneObjectData.heroKitObject[0].transform.localPosition.z : camera.transform.localPosition.z; } else if (sceneObjectData.gameObject != null) { position.x = BoolValue.GetValue(heroKitObject, 2) ? sceneObjectData.gameObject[0].transform.localPosition.x : camera.transform.localPosition.x; position.y = BoolValue.GetValue(heroKitObject, 4) ? sceneObjectData.gameObject[0].transform.localPosition.y : camera.transform.localPosition.y; position.z = BoolValue.GetValue(heroKitObject, 6) ? sceneObjectData.gameObject[0].transform.localPosition.z : camera.transform.localPosition.z; } } speed = IntegerFieldValue.GetValueA(heroKitObject, 10); // pan the camera cameraPan = heroKitObject.GetGameObjectComponent <CameraPan>("CameraPan", true, camera.gameObject); cameraPan.targetPosition = position; cameraPan.speed = speed; cameraPan.Initialize(); // set up update for long action eventID = heroKitObject.heroStateData.eventBlock; heroKitObject.heroState.heroEvent[eventID].waiting = true; updateIsDone = false; heroKitObject.longActions.Add(this); } // show debug message if (heroKitObject.debugHeroObject) { string debugMessage = "Camera: " + camera + "\n" + "Target Position: " + position + "\n" + "Speed: " + speed; Debug.Log(HeroKitCommonRuntime.GetActionDebugInfo(heroKitObject, debugMessage)); } // return value return(-99); }