// Create a Text Popup in the World public static void CreateWorldTextPopup(Transform parent, string text, Vector3 localPosition, int fontSize, Color color, Vector3 finalPopupPosition, float popupTime) { TextMesh textMesh = CreateWorldText(parent, text, localPosition, fontSize, color, TextAnchor.LowerLeft, TextAlignment.Left, ordenacaoPadrao); Transform transform = textMesh.transform; Vector3 moveAmount = (finalPopupPosition - localPosition) / popupTime; FunctionUpdater.Create(delegate() { transform.position += moveAmount * Time.deltaTime; popupTime -= Time.deltaTime; if (popupTime <= 0f) { UnityEngine.Object.Destroy(transform.gameObject); return(true); } else { return(false); } }, "WorldTextPopup"); }
private void Start() { Window_QuestPointer.QuestPointer questPointer_1 = windowQuestPointer.CreatePointer(new Vector3(200, 45), UtilsClass.GetColorFromString("FF0000"), UtilsClass.GetColorFromString("FFFFFF")); FunctionUpdater.Create(() => { if (Vector3.Distance(Camera.main.transform.position, new Vector3(200, 45)) < 40f) { windowQuestPointer.DestroyPointer(questPointer_1); return(true); } else { return(false); } }); Window_QuestPointer.QuestPointer questPointer_2 = windowQuestPointer.CreatePointer(new Vector3(190, -32), UtilsClass.GetColorFromString("00FF00"), UtilsClass.GetColorFromString("00FF00"), customArrowSprite, customCrossSprite); FunctionUpdater.Create(() => { if (Vector3.Distance(Camera.main.transform.position, new Vector3(190, -32)) < 40f) { windowQuestPointer.DestroyPointer(questPointer_2); return(true); } else { return(false); } }); Window_QuestPointer.QuestPointer questPointer_3 = windowQuestPointer.CreatePointer(new Vector3(-70, 200), UtilsClass.GetColorFromString("FFFFFF"), UtilsClass.GetColorFromString("FFFF00"), customArrowSprite, exclamationPointSprite); FunctionUpdater.Create(() => { if (Vector3.Distance(Camera.main.transform.position, new Vector3(-70, 200)) < 40f) { windowQuestPointer.DestroyPointer(questPointer_3); return(true); } else { return(false); } }); }
public void CreateTask() { GameObject go = CreateSprite(UtilityClass.GetMouseWorldPos()); SpriteRenderer spriteRenderer = go.GetComponent <SpriteRenderer>(); float cleanUpTime = Time.time + 5f; taskSystem.EnqueueTask(() => { if (Time.time >= cleanUpTime) { Task task = new Task.ShellFloorCleanUp { targetPosition = go.transform.position, cleanUpAction = () => { float alpha = 1f; FunctionUpdater.Create(() => { alpha -= Time.deltaTime; spriteRenderer.color = new Color(1, 1, 1, alpha); if (alpha <= 0f) { Destroy(go); return(true); } else { return(false); } }); } }; //taskSystem.AddTask(task); return(task); } else { return(null); } }); }
public static FunctionUpdater CreateMouseDraggingAction(int mouseButton, Action <Vector3> onMouseDragging) { bool dragging = false; return(FunctionUpdater.Create(() => { if (Input.GetMouseButtonDown(mouseButton)) { dragging = true; } if (Input.GetMouseButtonUp(mouseButton)) { dragging = false; } if (dragging) { onMouseDragging(UtilsClass.GetMouseWorldPosition()); } return false; })); }
// Screen Shake public static void ShakeCamera(float intensity, float timer) { Vector3 lastCameraMovement = Vector3.zero; FunctionUpdater.Create( delegate() { timer -= Time.unscaledDeltaTime; Vector3 randomMovement = new Vector3( UnityEngine.Random.Range(-1f, 1f), UnityEngine.Random.Range(-1f, 1f) ).normalized *intensity; Camera.main.transform.position = Camera.main.transform.position - lastCameraMovement + randomMovement; lastCameraMovement = randomMovement; return(timer <= 0f); }, "CAMERA_SHAKE" ); }
private void CreateWeaponTracer(Vector3 fromPosition, Vector3 targetPosition) { Vector3 dir = (targetPosition - fromPosition).normalized; float eulerZ = UtilsClass.GetAngleFromVectorFloat(dir) - 90; float distance = Vector3.Distance(fromPosition, targetPosition); Vector3 tracerSpawnPosition = fromPosition + dir * distance * .5f; Material tmpWeaponTracerMaterial = new Material(WeaponTracerMaterial); tmpWeaponTracerMaterial.SetTextureScale("_MainTex", new Vector2(1f, distance / 256f)); World_Mesh worldMesh = World_Mesh.Create(tracerSpawnPosition, eulerZ, 6f, distance, tmpWeaponTracerMaterial, null, 10000); int frame = 0; float frameRate = 0.016f; float timer = .1f; worldMesh.SetUVCoords(new World_Mesh.UVCoords(0, 0, 16, 256)); FunctionUpdater.Create(() => { timer -= Time.deltaTime; if (timer <= 0) { frame++; timer += frameRate; if (frame >= 4) { worldMesh.DestroySelf(); return(true); } else { worldMesh.SetUVCoords(new World_Mesh.UVCoords(16 * frame, 0, 16, 256)); } } return(false); }); }
private void CreateWeaponTracer(Vector3 fromPosition, Vector3 targetPosition) {//If we want to restrict the angle of fire we can add a check for it here float distance = Vector3.Distance(fromPosition, targetPosition); Vector3 dir = (targetPosition - fromPosition).normalized; Vector3 tracerSpawnPosition = fromPosition + dir * distance * .5f; float zRot = GetAngleFromVectorFloat(dir) - 90; Material tmp = new Material(projectile); tmp.SetTextureScale("_MainTex", new Vector2(1f, distance / 600f)); World_Mesh worldMesh = World_Mesh.Create(tracerSpawnPosition, zRot, .5f, distance, projectile, null, 10000); float timer = .1f; LayerMask mask = LayerMask.GetMask("Default"); RaycastHit2D hit = Physics2D.Raycast(tracerSpawnPosition, dir, 10f, mask); Debug.DrawRay(tracerSpawnPosition, targetPosition, Color.red); if (hit.collider != null) { Debug.Log("hit" + hit.transform.position); GameObject hitObject = hit.transform.gameObject; if (hitObject.GetComponent <ReactiveTarget>()) { Debug.Log("saw enemy"); hitObject.GetComponent <ReactiveTarget>().ReactToHit(); _scoreController.AddScore(3); } } FunctionUpdater.Create(() => { timer -= Time.deltaTime; if (timer <= 0) { worldMesh.DestroySelf(); return(true); } return(false); }); }
public static void Create3D(Vector3 fromPosition, Vector3 targetPosition) { Vector3 shootDir = (targetPosition - fromPosition).normalized; float distance = Vector3.Distance(fromPosition, targetPosition); float shootAngle = UtilsClass.GetAngleFromVectorFloat3D(shootDir); Vector3 spawnTracerPosition = fromPosition + shootDir * distance * .5f; Material tracerMaterial = new Material(GameAssets.i.m_WeaponTracer); //tracerMaterial.SetTextureScale("_MainTex", new Vector2(1f, distance / 256f)); tracerMaterial.mainTextureScale = new Vector2(1f, distance / 256f); World_Mesh worldMesh = new World_Mesh(null, spawnTracerPosition, new Vector3(1, 1, 1), shootAngle - 90, 1f, distance, tracerMaterial, null, 10000); worldMesh.gameObject.transform.eulerAngles = new Vector3(90, 0, shootAngle - 90); int frame = 0; int frameBase = 0; worldMesh.SetUVCoords(new World_Mesh.UVCoords(16 * frame + 64 * frameBase, 0, 16, 256)); float framerate = .016f; float timer = framerate; FunctionUpdater.Create(delegate { timer -= Time.deltaTime; if (timer < 0) { timer += framerate; frame++; if (frame >= 4) { worldMesh.DestroySelf(); return(true); } worldMesh.AddPosition(shootDir * .5f); worldMesh.SetUVCoords(new World_Mesh.UVCoords(16 * frame + 64 * frameBase, 0, 16, 256)); } return(false); }); }
// Create a Text Popup in the World public static void CreateWorldTextPopup(Transform parent, string text, Vector3 localPosition, int fontSize, Color color, Vector3 finalPopupPosition, float popupTime) { TextMesh textMesh = CreateWorldText(parent, text, localPosition, fontSize, color, TextAnchor.LowerLeft, TextAlignment.Left, LC_Utils.sortingOrderDefault); Transform transform = textMesh.transform; Vector3 moveAmount = (finalPopupPosition - localPosition) / popupTime; textMesh.gameObject.AddComponent <LookToCamera>(); FunctionUpdater.Create(delegate() { transform.position += moveAmount * Time.deltaTime; popupTime -= Time.deltaTime; if (popupTime <= 0f) { UnityEngine.Object.Destroy(transform.gameObject); LC_Debug.RuntimeDebugObjectsManager.debugObjects.Remove(transform.gameObject); return(true); } else { return(false); } }, "WorldTextPopup"); }
public void StartPointerCreation(Transform targets, int day) { Window_QuestPointer.QuestPointer questPointers = windowQuestPointer.CreatePointer(new Vector3(targets.position.x, targets.position.y, targets.position.z)); FunctionUpdater.Create(() => { #region float xDistancia = Camera.main.transform.position.x - targets.position.x; float yDistancia = Camera.main.transform.position.y - targets.position.y; #endregion float distancia = Mathf.Sqrt(xDistancia * xDistancia + yDistancia * yDistancia); if (clock.tday == day || (Input.GetKeyDown(KeyCode.E) && (distancia < distance))) { windowQuestPointer.DestroyPointer(questPointers); return(true); } //Debug.Log("Non E pressed " + (Vector3.Distance(Camera.main.transform.position, new Vector3(targets.position.x, targets.position.y, targets.position.z)) < distance)); //Debug.Log("Pressing E too " + (Input.GetKeyDown(KeyCode.E) && (Vector3.Distance(Camera.main.transform.position, new Vector3(targets.position.x, targets.position.y, targets.position.z)) < distance))); else { return(false); } }); }
private void SpawnFloorShellsWithTask(Vector3 position) { GameObject floorShellsGameObject = SpawnFloorShells(position); SpriteRenderer floorShellsSpriteRenderer = floorShellsGameObject.GetComponent <SpriteRenderer>(); float cleanUpTime = Time.time + 5f; taskSystem.EnqueueTask(() => { if (Time.time >= cleanUpTime) { Task task = new Task.ShellFloorCleanUp { targetPosition = floorShellsGameObject.transform.position, cleanUpAction = () => { // Clean Up Action, reduce alpha every frame until zero float alpha = 1f; FunctionUpdater.Create(() => { alpha -= Time.deltaTime; floorShellsSpriteRenderer.color = new Color(1, 1, 1, alpha); if (alpha <= 0f) { return(true); } else { return(false); } }); } }; return(task); } else { return(null); } }); }
public TouchWrapper() { FunctionUpdater.CreateUpdater(() => { Update(); }, "TouchWrapper_U", true, UpdateCycle.NORMAL, int.MinValue); FunctionUpdater.CreateUpdater(() => { LateUpdate(); }, "TouchWrapper_LU", true, UpdateCycle.LATE, int.MinValue); if (IsMobile == false) { return; } OnTouchBegan += (Touch touch) => { if (PrevTouchCount == 0) { SetMainTouch(touch); OnFirstGroupTouch?.Invoke(touch); } if (IsFirstTouch()) { OnFirstFrameTouch?.Invoke(touch); } TouchPressed = true; }; OnTouchEnded += (Touch touch) => { if (MainTouch.fingerId == touch.fingerId) { ResetMainTouch(); } }; }
// Use this for initialization private void Start() { V_Object vObject = CreateBasicUnit(transform, new Vector3(500, 680), 30f, GameAssets.i.m_MarineSpriteSheet); V_UnitAnimation unitAnimation = vObject.GetLogic <V_UnitAnimation>(); V_UnitSkeleton unitSkeleton = vObject.GetLogic <V_UnitSkeleton>(); V_IObjectTransform objectTransform = vObject.GetLogic <V_IObjectTransform>(); bool canShoot = true; V_UnitSkeleton_Composite_Weapon unitSkeletonCompositeWeapon = new V_UnitSkeleton_Composite_Weapon(vObject, unitSkeleton, GameAssets.UnitAnimEnum.dMarine_AimWeaponRight, GameAssets.UnitAnimEnum.dMarine_AimWeaponRightInvertV, GameAssets.UnitAnimEnum.dMarine_ShootWeaponRight, GameAssets.UnitAnimEnum.dMarine_ShootWeaponRightInvertV); vObject.AddRelatedObject(unitSkeletonCompositeWeapon); unitSkeletonCompositeWeapon.SetActive(); V_UnitSkeleton_Composite_Walker unitSkeletonCompositeWalker_BodyHead = new V_UnitSkeleton_Composite_Walker(vObject, unitSkeleton, GameAssets.UnitAnimTypeEnum.dMarine_Walk, GameAssets.UnitAnimTypeEnum.dMarine_Idle, new[] { "Body", "Head" }); vObject.AddRelatedObject(unitSkeletonCompositeWalker_BodyHead); V_UnitSkeleton_Composite_Walker unitSkeletonCompositeWalker_Feet = new V_UnitSkeleton_Composite_Walker(vObject, unitSkeleton, GameAssets.UnitAnimTypeEnum.dMarine_Walk, GameAssets.UnitAnimTypeEnum.dMarine_Idle, new[] { "FootL", "FootR" }); vObject.AddRelatedObject(unitSkeletonCompositeWalker_Feet); // Update Code bool isAimDownSights = false; FunctionUpdater.Create(() => { Vector3 targetPosition = UtilsClass.GetMouseWorldPosition(); Vector3 aimDir = (targetPosition - vObject.GetPosition()).normalized; fieldOfView.transform.up = (aimDir); // Check for hits Vector3 gunEndPointPosition = vObject.GetLogic <V_UnitSkeleton>().GetBodyPartPosition("MuzzleFlash"); RaycastHit2D raycastHit = Physics2D.Raycast(gunEndPointPosition, (targetPosition - gunEndPointPosition).normalized, Vector3.Distance(gunEndPointPosition, targetPosition)); if (raycastHit.collider != null) { // Hit something targetPosition = raycastHit.point; } unitSkeletonCompositeWeapon.SetAimTarget(targetPosition); if (canShoot && Input.GetMouseButton(0)) { // Shoot canShoot = false; // Replace Body and Head with Attack unitSkeleton.ReplaceBodyPartSkeletonAnim(GameAssets.UnitAnimTypeEnum.dMarine_Attack.GetUnitAnim(aimDir), "Body", "Head"); // Shoot Composite Skeleton unitSkeletonCompositeWeapon.Shoot(targetPosition, () => { canShoot = true; }); // Add Effects Vector3 shootFlashPosition = vObject.GetLogic <V_UnitSkeleton>().GetBodyPartPosition("MuzzleFlash"); if (OnShoot != null) { OnShoot(this, new OnShootEventArgs { gunEndPointPosition = shootFlashPosition, shootPosition = targetPosition }); } //Shoot_Flash.AddFlash(shootFlashPosition); //WeaponTracer.Create(shootFlashPosition, targetPosition); } // Manual Movement bool isMoving = false; Vector3 moveDir = new Vector3(0, 0); if (Input.GetKey(KeyCode.W) || Input.GetKey(KeyCode.UpArrow)) { moveDir.y = +1; isMoving = true; } if (Input.GetKey(KeyCode.S) || Input.GetKey(KeyCode.DownArrow)) { moveDir.y = -1; isMoving = true; } if (Input.GetKey(KeyCode.A) || Input.GetKey(KeyCode.LeftArrow)) { moveDir.x = -1; isMoving = true; } if (Input.GetKey(KeyCode.D) || Input.GetKey(KeyCode.RightArrow)) { moveDir.x = +1; isMoving = true; } moveDir.Normalize(); float moveSpeed = 50f; Vector3 targetMoveToPosition = objectTransform.GetPosition() + moveDir * moveSpeed * Time.deltaTime; // Test if can move there raycastHit = Physics2D.Raycast(GetPosition() + moveDir * .1f, moveDir, Vector3.Distance(GetPosition(), targetMoveToPosition)); if (raycastHit.collider != null) { // Hit something } else { // Can move, no wall objectTransform.SetPosition(targetMoveToPosition); } if (isMoving) { Dirt_Handler.SpawnInterval(GetPosition(), moveDir * -1f); } // Update Feet unitSkeletonCompositeWalker_Feet.UpdateBodyParts(isMoving, moveDir); if (canShoot) { // Update Head and Body parts only when Not Shooting unitSkeletonCompositeWalker_BodyHead.UpdateBodyParts(isMoving, aimDir); } }); }
public LevelSystemAnimator(PlayerStats stats) { SetPlayerStats(stats); FunctionUpdater.Create(() => Update()); }
public void SetStats(Stats stats) { this.stats = stats; transform.Find("attack").Find("incBtn").GetComponent <Button_UI>().ClickFunc = () => stats.IncreaseStatAmount(Stats.Type.Attack); transform.Find("attack").Find("decBtn").GetComponent <Button_UI>().ClickFunc = () => stats.DecreaseStatAmount(Stats.Type.Attack); transform.Find("defence").Find("incBtn").GetComponent <Button_UI>().ClickFunc = () => stats.IncreaseStatAmount(Stats.Type.Defence); transform.Find("defence").Find("decBtn").GetComponent <Button_UI>().ClickFunc = () => stats.DecreaseStatAmount(Stats.Type.Defence); transform.Find("speed").Find("incBtn").GetComponent <Button_UI>().ClickFunc = () => stats.IncreaseStatAmount(Stats.Type.Speed); transform.Find("speed").Find("decBtn").GetComponent <Button_UI>().ClickFunc = () => stats.DecreaseStatAmount(Stats.Type.Speed); transform.Find("mana").Find("incBtn").GetComponent <Button_UI>().ClickFunc = () => stats.IncreaseStatAmount(Stats.Type.Mana); transform.Find("mana").Find("decBtn").GetComponent <Button_UI>().ClickFunc = () => stats.DecreaseStatAmount(Stats.Type.Mana); transform.Find("health").Find("incBtn").GetComponent <Button_UI>().ClickFunc = () => stats.IncreaseStatAmount(Stats.Type.Health); transform.Find("health").Find("decBtn").GetComponent <Button_UI>().ClickFunc = () => stats.DecreaseStatAmount(Stats.Type.Health); // Randomize all Stats transform.Find("randomBtn").GetComponent <Button_UI>().ClickFunc = () => { stats.SetStatAmount(Stats.Type.Attack, Random.Range(Stats.STAT_MIN, Stats.STAT_MAX)); stats.SetStatAmount(Stats.Type.Defence, Random.Range(Stats.STAT_MIN, Stats.STAT_MAX)); stats.SetStatAmount(Stats.Type.Speed, Random.Range(Stats.STAT_MIN, Stats.STAT_MAX)); stats.SetStatAmount(Stats.Type.Mana, Random.Range(Stats.STAT_MIN, Stats.STAT_MAX)); stats.SetStatAmount(Stats.Type.Health, Random.Range(Stats.STAT_MIN, Stats.STAT_MAX)); }; // Animate Stats bool anim = false; FunctionPeriodic.Create(() => { if (anim) { if (Random.Range(0, 100) < 50) { stats.IncreaseStatAmount(Stats.Type.Attack); } else { stats.DecreaseStatAmount(Stats.Type.Attack); } if (Random.Range(0, 100) < 50) { stats.IncreaseStatAmount(Stats.Type.Defence); } else { stats.DecreaseStatAmount(Stats.Type.Defence); } if (Random.Range(0, 100) < 50) { stats.IncreaseStatAmount(Stats.Type.Speed); } else { stats.DecreaseStatAmount(Stats.Type.Speed); } if (Random.Range(0, 100) < 50) { stats.IncreaseStatAmount(Stats.Type.Mana); } else { stats.DecreaseStatAmount(Stats.Type.Mana); } if (Random.Range(0, 100) < 50) { stats.IncreaseStatAmount(Stats.Type.Health); } else { stats.DecreaseStatAmount(Stats.Type.Health); } } }, .1f); transform.Find("animBtn").GetComponent <Button_UI>().ClickFunc = () => { anim = !anim; transform.Find("animBtn").Find("text").GetComponent <Text>().text = "ANIM: " + anim.ToString().ToUpper(); }; // Flashing Color //baseMaterialColor = radarMaterial.color; //baseMaterialColor.g = .8f; Color color = radarMaterial.color; bool increase = true; FunctionUpdater.Create(() => { color.g += .3f * Time.deltaTime * ((increase) ? 1f : -1f); radarMaterial.color = color; if (color.g >= 1f) { increase = false; //color.g = baseMaterialColor.g; } if (color.g <= .9f) { increase = true; } }); stats.OnStatsChanged += Stats_OnStatsChanged; UpdateStatsText(); }
private static void RemoveUpdater(FunctionUpdater funcUpdater) { InitIfNeeded(); updaterList.Remove(funcUpdater); }
// Use this for initialization private void Start() { V_Object vObject = CreateBasicUnit(transform, new Vector3(500, 680), 30f, GameAssets.i.m_MarineSpriteSheet); V_UnitAnimation unitAnimation = vObject.GetLogic <V_UnitAnimation>(); V_UnitSkeleton unitSkeleton = vObject.GetLogic <V_UnitSkeleton>(); //V_IObjectWalker walker = vObject.GetLogic<V_IObjectWalker>(); V_IObjectTransform objectTransform = vObject.GetLogic <V_IObjectTransform>(); bool canShoot = true; V_UnitSkeleton_Composite_Weapon unitSkeletonCompositeWeapon = new V_UnitSkeleton_Composite_Weapon(vObject, unitSkeleton, GameAssets.UnitAnimEnum.dMarine_AimWeaponRight, GameAssets.UnitAnimEnum.dMarine_AimWeaponRightInvertV, GameAssets.UnitAnimEnum.dMarine_ShootWeaponRight, GameAssets.UnitAnimEnum.dMarine_ShootWeaponRightInvertV); vObject.AddRelatedObject(unitSkeletonCompositeWeapon); unitSkeletonCompositeWeapon.SetActive(); V_UnitSkeleton_Composite_Walker unitSkeletonCompositeWalker_BodyHead = new V_UnitSkeleton_Composite_Walker(vObject, unitSkeleton, GameAssets.UnitAnimTypeEnum.dMarine_Walk, GameAssets.UnitAnimTypeEnum.dMarine_Idle, new[] { "Body", "Head" }); vObject.AddRelatedObject(unitSkeletonCompositeWalker_BodyHead); V_UnitSkeleton_Composite_Walker unitSkeletonCompositeWalker_Feet = new V_UnitSkeleton_Composite_Walker(vObject, unitSkeleton, GameAssets.UnitAnimTypeEnum.dMarine_Walk, GameAssets.UnitAnimTypeEnum.dMarine_Idle, new[] { "FootL", "FootR" }); vObject.AddRelatedObject(unitSkeletonCompositeWalker_Feet); FunctionUpdater.Create(() => { Vector3 targetPosition = UtilsClass.GetMouseWorldPosition(); Vector3 aimDir = (targetPosition - vObject.GetPosition()).normalized; unitSkeletonCompositeWeapon.SetAimTarget(targetPosition); if (canShoot && Input.GetMouseButton(0)) { // Shoot canShoot = false; // Replace Body and Head with Attack unitSkeleton.ReplaceBodyPartSkeletonAnim(GameAssets.UnitAnimTypeEnum.dMarine_Attack.GetUnitAnim(aimDir), "Body", "Head"); // Shoot Composite Skeleton unitSkeletonCompositeWeapon.Shoot(targetPosition, () => { canShoot = true; }); // Add Effects Vector3 shootFlashPosition = vObject.GetLogic <V_UnitSkeleton>().GetBodyPartPosition("MuzzleFlash"); if (OnShoot != null) { OnShoot(this, new OnShootEventArgs { gunEndPointPosition = shootFlashPosition, shootPosition = targetPosition }); } //Shoot_Flash.AddFlash(shootFlashPosition); //WeaponTracer.Create(shootFlashPosition, targetPosition); } // Manual Movement bool isMoving = false; Vector3 moveDir = new Vector3(0, 0); if (Input.GetKey(KeyCode.W) || Input.GetKey(KeyCode.UpArrow)) { moveDir.y = +1; isMoving = true; } if (Input.GetKey(KeyCode.S) || Input.GetKey(KeyCode.DownArrow)) { moveDir.y = -1; isMoving = true; } if (Input.GetKey(KeyCode.A) || Input.GetKey(KeyCode.LeftArrow)) { moveDir.x = -1; isMoving = true; } if (Input.GetKey(KeyCode.D) || Input.GetKey(KeyCode.RightArrow)) { moveDir.x = +1; isMoving = true; } moveDir.Normalize(); objectTransform.SetPosition(objectTransform.GetPosition() + moveDir * 50f * Time.deltaTime); /* * if (isMoving) { * unitSkeleton.ReplaceBodyPartSkeletonAnim(GameAssets.UnitAnimTypeEnum.dBareHands_Walk.GetUnitAnim(moveDir), "FootL", "FootR"); * if (canShoot) { * unitSkeleton.ReplaceBodyPartSkeletonAnim(GameAssets.UnitAnimTypeEnum.dBareHands_Walk.GetUnitAnim(aimDir), "Body", "Head"); * } * } else { * unitSkeleton.ReplaceBodyPartSkeletonAnim(GameAssets.UnitAnimTypeEnum.dBareHands_Idle.GetUnitAnim(moveDir), "FootL", "FootR"); * if (canShoot) { * unitSkeleton.ReplaceBodyPartSkeletonAnim(GameAssets.UnitAnimTypeEnum.dBareHands_Idle.GetUnitAnim(aimDir), "Body", "Head"); * } * }*/ if (isMoving) { Dirt_Handler.SpawnInterval(GetPosition(), moveDir * -1f); } // Update Feet //unitSkeletonCompositeWalker_Feet.UpdateBodyParts(walker.GetLastMoveDir()); unitSkeletonCompositeWalker_Feet.UpdateBodyParts(isMoving, moveDir); if (canShoot) { // Update Head and Body parts only when Not Shooting unitSkeletonCompositeWalker_BodyHead.UpdateBodyParts(isMoving, aimDir); } }); }
// Start is called before the first frame update void Start() { CameraSwitcher.SetupCurrentCamera(LC_Utils.GetCurrentCamera()); FunctionUpdater.Create(LC_Debug.RuntimeDebugObjectsManager.HandleDebugObjectsFarFromCamera); }