public void SetAimTarget(Vector3 aimDir) { //this.aimTargetPosition = aimTargetPosition; //Vector3 aimDir = (aimTargetPosition - parentObject.GetPosition()).normalized; //debugText = ""+usingSkeletonRight + " " + aimDir; // Decide if should use Right or Left Body Part if (!isShooting) { switch (UnitAnim.GetAnimDirFromVector(aimDir)) { default: case UnitAnim.AnimDir.Down: case UnitAnim.AnimDir.DownRight: case UnitAnim.AnimDir.Right: case UnitAnim.AnimDir.UpRight: case UnitAnim.AnimDir.Up: if (!usingSkeletonRight) { // Switch sides usingSkeletonRight = true; activeAnimAimWeapon = animAimWeaponRight; activeAnimShootWeapon = animShootWeaponRight; unitSkeleton.ReplaceAllBodyPartsInAnimation(activeAnimAimWeapon); } break; case UnitAnim.AnimDir.UpLeft: case UnitAnim.AnimDir.Left: case UnitAnim.AnimDir.DownLeft: if (usingSkeletonRight) { // Switch sides //CodeMonkey.CMDebug.TextPopup("ChangeLeft", parentObject.GetPosition()); usingSkeletonRight = false; activeAnimAimWeapon = animAimWeaponLeft; activeAnimShootWeapon = animShootWeaponLeft; unitSkeleton.ReplaceAllBodyPartsInAnimation(activeAnimAimWeapon); } break; } } // Show on top of Body for all except Up bool weaponOnTopOfBody = UnitAnim.GetAnimDirFromVectorLimit4Directions(aimDir) != UnitAnim.AnimDir.Up; int bonusOffset = 2000; if (usingSkeletonRight) { activeAnimAimWeapon.ApplyAimDir(aimDir, positionOffset, weaponOnTopOfBody ? +bonusOffset : -bonusOffset); activeAnimShootWeapon.ApplyAimDir(aimDir, positionOffset, weaponOnTopOfBody ? +bonusOffset : -bonusOffset); } else { activeAnimAimWeapon.ApplyAimDir(CodeMonkey.Utils.UtilsClass.ApplyRotationToVector(aimDir, 180), positionOffset, weaponOnTopOfBody ? +bonusOffset : -bonusOffset); activeAnimShootWeapon.ApplyAimDir(CodeMonkey.Utils.UtilsClass.ApplyRotationToVector(aimDir, 180), positionOffset, weaponOnTopOfBody ? +bonusOffset : -bonusOffset); } }
public void SetActive() { isActive = true; usingSkeletonRight = true; activeAnimAimWeaponReload = animAimWeaponReloadRight; unitSkeleton.ReplaceAllBodyPartsInAnimation(activeAnimAimWeaponReload); unitSkeleton.GetSkeletonUpdater().SetHasVariableSortingOrder(true); }
public void SetAnims(UnitAnim animAimWeaponRight, UnitAnim animAimWeaponLeft, UnitAnim animShootWeaponRight, UnitAnim animShootWeaponLeft) { this.animAimWeaponRight = animAimWeaponRight.CloneDeep(); this.animAimWeaponLeft = animAimWeaponLeft.CloneDeep(); this.animShootWeaponRight = animShootWeaponRight.CloneDeep(); this.animShootWeaponLeft = animShootWeaponLeft.CloneDeep(); SetActive(); }
public void SetActive() { activeAnimAimWeaponRight = animAimWeaponRight; activeAnimShootWeaponRight = animShootWeaponRight; unitSkeleton.ReplaceAllBodyPartsInAnimation(activeAnimAimWeaponRight); usingSkeletonNormal = true; unitSkeleton.GetSkeletonUpdater().SetHasVariableSortingOrder(true); }
public static V_Object CreateSkeletonPresetAnim_DebugDash(Vector3 position, Color color, float frameRate = 1f) { Material material = new Material(GetWhitePixelMaterial()); material.color = color; V_Object vObject = V_Object.CreateSkeletonPresetAnim(position, material, UnitAnim.GetUnitAnim("EffectDash"), frameRate, new Vector3(0, 1, 0), new Vector3(3f, 1f, 1f), 100); return(vObject); }
public void CinematicLookDown(float timer) { state = State.Busy; rigidbody3D.velocity = Vector3.zero; //characterBase.GetUnitAnimation().PlayAnimForced(UnitAnimType.GetUnitAnimType(""), new Vector3(0, -1), 1f, null, null, null); characterBase.GetUnitAnimation().PlayAnimForced(UnitAnim.GetUnitAnim("dBareHands_Victory"), 1f, null, null, null); FunctionTimer.Create(() => { state = State.Normal; }, timer); }
public V_UnitSkeleton_Composite_WeaponInvert(V_Object parentObject, V_UnitSkeleton unitSkeleton, UnitAnim animAimWeaponRight, UnitAnim animAimWeaponRightInvertV, UnitAnim animShootWeaponRight, UnitAnim animShootWeaponRightInvertV) { this.parentObject = parentObject; this.unitSkeleton = unitSkeleton; this.animAimWeaponRight = animAimWeaponRight.Clone(); this.animAimWeaponRightInvertV = animAimWeaponRightInvertV.Clone(); this.animShootWeaponRight = animShootWeaponRight.Clone(); this.animShootWeaponRightInvertV = animShootWeaponRightInvertV.Clone(); SetInactive(); }
public void PlayJumpAnim(Vector3 moveDir) { if (moveDir.x >= 0) { unitAnimation.PlayAnim(UnitAnim.GetUnitAnim("dBareHands_JumpRight")); } else { unitAnimation.PlayAnim(UnitAnim.GetUnitAnim("dBareHands_JumpLeft")); } }
private static ECS_UnitAnim ConvertVAnimToAnim(UnitAnim unitAnim) { List <ECS_Skeleton_Anim> skeletonAnimList = new List <ECS_Skeleton_Anim>(); foreach (V_Skeleton_Anim vSkeletonAnim in unitAnim.GetAnims()) { skeletonAnimList.Add(ConvertVAnimToAnim(vSkeletonAnim)); } return(new ECS_UnitAnim { anims = skeletonAnimList.ToArray() }); }
public void Damage(CharacterBattle attacker, int damageAmount) { //damageAmount = 1; Debug.Log("##### No Damage"); Vector3 bloodDir = (GetPosition() - attacker.GetPosition()).normalized; Blood_Handler.SpawnBlood(GetPosition(), bloodDir); SoundManager.PlaySound(SoundManager.Sound.CharacterDamaged); DamagePopup.Create(GetPosition(), damageAmount, false); healthSystem.Damage(damageAmount); DamageFlash(); playerBase.GetUnitAnimation().PlayAnimForced(hitUnitAnimType, GetTargetDir(), 1f, (UnitAnim unitAnim) => { PlayIdleAnim(); }, null, null); if (IsDead()) { if (!IsPlayerTeam()) { // Enemy if (characterType != Character.Type.EvilMonster && characterType != Character.Type.EvilMonster_2 && characterType != Character.Type.EvilMonster_3) { // Don't spawn Flying Body for Evil Monster FlyingBody.Create(GameAssets.i.pfEnemyFlyingBody, GetPosition(), bloodDir); SoundManager.PlaySound(SoundManager.Sound.CharacterDead); } gameObject.SetActive(false); } else { // Player Team stats.special = 0; SoundManager.PlaySound(SoundManager.Sound.OooohNooo); } playerBase.GetUnitAnimation().PlayAnimForced(UnitAnim.GetUnitAnim("LyingUp"), 1f, null); healthWorldBar.Hide(); transform.localScale = new Vector3(-1, 1, 1); //gameObject.SetActive(false); //Destroy(gameObject); } else { // Knockback /* * transform.position += bloodDir * 5f; * if (hitUnitAnim != null) { * state = State.Busy; * enemyBase.PlayHitAnimation(bloodDir * (Vector2.one * -1f), SetStateNormal); * } */ } }
static UnitAnimEnum() { V_Animation.Init(); FieldInfo[] fieldInfoArr = typeof(UnitAnimEnum).GetFields(BindingFlags.Static | BindingFlags.Public); foreach (FieldInfo fieldInfo in fieldInfoArr) { if (fieldInfo != null) { fieldInfo.SetValue(null, UnitAnim.GetUnitAnim(fieldInfo.Name)); } } }
public V_UnitSkeleton_Composite_WeaponReload(V_Object parentObject, V_UnitSkeleton unitSkeleton, UnitAnim animAimWeaponReloadRight, UnitAnim animAimWeaponReloadLeft) { this.parentObject = parentObject; this.unitSkeleton = unitSkeleton; this.animAimWeaponReloadRight = animAimWeaponReloadRight.Clone(); this.animAimWeaponReloadLeft = animAimWeaponReloadLeft.Clone(); SetPositionOffset(new Vector3(0, -2)); isReloading = false; SetInactive(); }
//private string debugText = ""; public V_UnitSkeleton_Composite_Weapon(V_Object parentObject, V_UnitSkeleton unitSkeleton, UnitAnim animAimWeaponRight, UnitAnim animAimWeaponLeft, UnitAnim animShootWeaponRight, UnitAnim animShootWeaponLeft) { this.parentObject = parentObject; this.unitSkeleton = unitSkeleton; this.animAimWeaponRight = animAimWeaponRight.CloneDeep(); this.animAimWeaponLeft = animAimWeaponLeft.CloneDeep(); this.animShootWeaponRight = animShootWeaponRight.CloneDeep(); this.animShootWeaponLeft = animShootWeaponLeft.CloneDeep(); SetPositionOffset(new Vector3(0, -2)); SetInactive(); //CodeMonkey.CMDebug.TextUpdater(() => debugText, Vector3.zero, parentObject.GetLogic<V_IObjectTransform>().GetTransform()); }
private static bool DoesUnitAnimHaveConstantFrameCount(UnitAnim unitAnim) { V_Skeleton_Anim[] anims = unitAnim.GetAnims(); int firstFrameCount = anims[0].frames.Length; for (int i = 1; i < anims.Length; i++) { if (anims[i].frames.Length != firstFrameCount) { return(false); } } return(true); }
public void SetAimTarget(Vector3 aimTargetPosition) { this.aimTargetPosition = aimTargetPosition; Vector3 aimDir = (aimTargetPosition - parentObject.GetPosition()).normalized; // Decide if should use Inverted Vertical Body Part if (!isShooting) { switch (UnitAnim.GetAnimDirFromVector(aimDir)) { default: case UnitAnim.AnimDir.Down: case UnitAnim.AnimDir.DownRight: case UnitAnim.AnimDir.Right: case UnitAnim.AnimDir.UpRight: case UnitAnim.AnimDir.Up: if (!usingSkeletonNormal) { // Switch sides usingSkeletonNormal = true; activeAnimAimWeaponRight = animAimWeaponRight; activeAnimShootWeaponRight = animShootWeaponRight; unitSkeleton.ReplaceAllBodyPartsInAnimation(activeAnimAimWeaponRight); } break; case UnitAnim.AnimDir.UpLeft: case UnitAnim.AnimDir.Left: case UnitAnim.AnimDir.DownLeft: if (usingSkeletonNormal) { // Switch sides usingSkeletonNormal = false; activeAnimAimWeaponRight = animAimWeaponRightInvertV; activeAnimShootWeaponRight = animShootWeaponRightInvertV; unitSkeleton.ReplaceAllBodyPartsInAnimation(activeAnimAimWeaponRight); } break; } } // Show on top of Body for all except Up bool weaponOnTopOfBody = UnitAnim.GetAnimDirFromVectorLimit4Directions(aimDir) != UnitAnim.AnimDir.Up; activeAnimAimWeaponRight.ApplyAimDir(aimDir, new Vector3(0, -2), weaponOnTopOfBody ? +1000 : -1000); activeAnimShootWeaponRight.ApplyAimDir(aimDir, new Vector3(0, -2), weaponOnTopOfBody ? +1000 : -1000); }
public void SleezerTripUp() { // Get tripped up by Sleezer state = State.Tripped; playerBase.GetUnitAnimation().PlayAnimForced(UnitAnim.GetUnitAnim("LyingUp"), 1f, null); /* * FunctionTimer.Create(() => { * ChatBubble.Create(transform, new Vector3(3.5f, 5), "Oh Sleezer! You're so silly!"); * }, 5f); */ FunctionTimer.Create(() => { state = State.Normal; playerBase.PlayIdleAnim(); }, 5f); }
public void SetWeaponType(WeaponType weaponType) { switch (weaponType) { default: case WeaponType.Rifle: unitSkeletonCompositeWeapon.SetAnims(UnitAnim.GetUnitAnim("dMarine_AimWeaponRight"), UnitAnim.GetUnitAnim("dMarine_AimWeaponLeft"), UnitAnim.GetUnitAnim("dMarine_ShootWeaponRight"), UnitAnim.GetUnitAnim("dMarine_ShootWeaponLeft")); break; case WeaponType.Pistol: unitSkeletonCompositeWeapon.SetAnims(UnitAnim.GetUnitAnim("Aim_PistolRight"), UnitAnim.GetUnitAnim("Aim_PistolLeft"), UnitAnim.GetUnitAnim("Aim_PistolShootRight"), UnitAnim.GetUnitAnim("Aim_PistolShootLeft")); break; case WeaponType.Shotgun: unitSkeletonCompositeWeapon.SetAnims(UnitAnim.GetUnitAnim("Aim_ShotgunRight"), UnitAnim.GetUnitAnim("Aim_ShotgunLeft"), UnitAnim.GetUnitAnim("Aim_ShotgunShootRight"), UnitAnim.GetUnitAnim("Aim_ShotgunShootLeft")); break; } }
public void PlayAnimationWoodChop(Vector3 lookAtPosition, Action onAnimationCompleted) { state = State.Animating; string anim = "WoodDownRight"; if (lookAtPosition.x > transform.position.x) { anim = "WoodDownRight"; } else { anim = "WoodDownLeft"; } animatedWalker.unitAnimation.PlayAnimForced(UnitAnim.GetUnitAnim(anim), 1f, () => { state = State.Idle; if (onAnimationCompleted != null) { onAnimationCompleted(); } }); }
//获取动画(根据是否是重载的动画) public AnimationClip GetClip(UnitAnim anim, bool overrided) { for (int i = 0; i < clips.Count; i++) { if (clips[i].Key.name == anim.ToString()) { //如果是返回重载动画,且有重载的动画 if (overrided && clips[i].Value != null) { return(clips[i].Value); } else { return(clips[i].Key); } } } Debug.LogError("未能找到动画:" + anim.ToString()); return(null); }
private void Start() { Transform bodyTransform = transform.Find("Body"); unitSkeleton = new V_UnitSkeleton(1f, bodyTransform.TransformPoint, (Mesh mesh) => bodyTransform.GetComponent <MeshFilter>().mesh = mesh); unitAnimation = new V_UnitAnimation(unitSkeleton); idleUnitAnim = GameAssets.UnitAnimTypeEnum.dSwordTwoHandedBack_Idle; walkUnitAnim = GameAssets.UnitAnimTypeEnum.dSwordTwoHandedBack_Walk; hitUnitAnim = null; attackUnitAnim = null; idleUnitAnim = UnitAnimType.GetUnitAnimType("dBareHands_Idle"); walkUnitAnim = UnitAnimType.GetUnitAnimType("dBareHands_Walk"); hitUnitAnim = UnitAnimType.GetUnitAnimType("dBareHands_Hit"); attackUnitAnim = UnitAnimType.GetUnitAnimType("dBareHands_PunchQuickAttack"); animatedWalker = new AnimatedWalker(unitAnimation, idleUnitAnim, walkUnitAnim, 1f, .75f); state = State.Normal; FunctionTimer.Create(() => unitAnimation.PlayAnimForced(UnitAnim.GetUnitAnim("dBareHands_JumpRight"), 1f, null), 2f); }
public void SetWeaponType(WeaponType weaponType) { switch (weaponType) { default: case WeaponType.Rifle: UnitAnim rifleReloadRightUnitAnim = UnitAnim.GetUnitAnim("dMarine_ReloadRifleRight").CloneDeep(); rifleReloadRightUnitAnim.SetFrameRateMod(1.4f); UnitAnim rifleReloadLeftUnitAnim = UnitAnim.GetUnitAnim("dMarine_ReloadRifleLeft").CloneDeep(); rifleReloadLeftUnitAnim.SetFrameRateMod(1.4f); unitSkeletonCompositeWeaponReload.SetAnims(rifleReloadRightUnitAnim, rifleReloadLeftUnitAnim); //unitSkeletonCompositeWeaponReload.SetAnims(UnitAnim.GetUnitAnim("dMarine_ReloadRifleRight"), UnitAnim.GetUnitAnim("dMarine_ReloadRifleLeft")); unitSkeletonCompositeWeapon.SetAnims(UnitAnim.GetUnitAnim("dMarine_AimWeaponRight"), UnitAnim.GetUnitAnim("dMarine_AimWeaponLeft"), UnitAnim.GetUnitAnim("dMarine_ShootWeaponRight"), UnitAnim.GetUnitAnim("dMarine_ShootWeaponLeft")); break; case WeaponType.Pistol: UnitAnim pistolReloadRightUnitAnim = UnitAnim.GetUnitAnim("Aim_PistolReloadRight").CloneDeep(); pistolReloadRightUnitAnim.SetFrameRateMod(1.4f); UnitAnim pistolReloadLeftUnitAnim = UnitAnim.GetUnitAnim("Aim_PistolReloadLeft").CloneDeep(); pistolReloadLeftUnitAnim.SetFrameRateMod(1.4f); unitSkeletonCompositeWeaponReload.SetAnims(pistolReloadRightUnitAnim, pistolReloadLeftUnitAnim); unitSkeletonCompositeWeapon.SetAnims(UnitAnim.GetUnitAnim("Aim_PistolRight"), UnitAnim.GetUnitAnim("Aim_PistolLeft"), UnitAnim.GetUnitAnim("Aim_PistolShootRight"), UnitAnim.GetUnitAnim("Aim_PistolShootLeft")); break; case WeaponType.Shotgun: unitSkeletonCompositeWeaponReload.SetAnims(UnitAnim.GetUnitAnim("Aim_ShotgunReloadRight"), UnitAnim.GetUnitAnim("Aim_ShotgunReloadLeft")); unitSkeletonCompositeWeapon.SetAnims(UnitAnim.GetUnitAnim("Aim_ShotgunRight"), UnitAnim.GetUnitAnim("Aim_ShotgunLeft"), UnitAnim.GetUnitAnim("Aim_ShotgunShootRight"), UnitAnim.GetUnitAnim("Aim_ShotgunShootLeft")); break; } canShoot = true; isReloading = false; unitSkeletonCompositeWeaponReload.SetInactive(); unitSkeletonCompositeWeapon.SetActive(); }
public static void Play_LostToEvilMonster_1() { UIBlack.Show(); OvermapHandler.StopOvermapRunning(); List <World_Sprite> ropeWorldSpriteList = new List <World_Sprite>(); ropeWorldSpriteList.Add(World_Sprite.Create(OvermapHandler.GetInstance().GetPlayer().GetPosition(), Vector3.one * 1f, GameAssets.i.s_Rope, Color.white, 100)); ropeWorldSpriteList.Add(World_Sprite.Create(OvermapHandler.GetInstance().GetFollower(GameData.GetCharacter(Character.Type.Healer)).GetPosition(), Vector3.one * 1f, GameAssets.i.s_Rope, Color.white, 100)); ropeWorldSpriteList.Add(World_Sprite.Create(OvermapHandler.GetInstance().GetFollower(GameData.GetCharacter(Character.Type.Tank)).GetPosition(), Vector3.one * 1.2f, GameAssets.i.s_Rope, Color.white, 100)); ropeWorldSpriteList.Add(World_Sprite.Create(OvermapHandler.GetInstance().GetFollower(GameData.GetCharacter(Character.Type.Sleezer)).GetPosition(), Vector3.one * 0.7f, GameAssets.i.s_Rope, Color.white, 100)); NPCOvermap randyOvermap = OvermapHandler.GetInstance().GetNPC(GameData.GetCharacter(Character.Type.Randy)); randyOvermap.GetUnitAnimation().PlayAnimForced(UnitAnim.GetUnitAnim("dBareHands_IdleUp"), 1f, null); Vector3 randyStartingPosition = randyOvermap.GetPosition(); randyOvermap.overrideOvermapRunning = true; Dialogue dialogue = Dialogue.GetInstance(); dialogue.SetDialogueActions(new List <Action>() { () => { dialogue.Show(); dialogue.ShowLeftCharacter(GameAssets.i.s_PlayerDialogueSprite, false); dialogue.ShowLeftCharacterName(GameData.GetCharacterName(Character.Type.Player)); dialogue.ShowLeftText("Oh come on, we had him! What happened?"); dialogue.ShowRightCharacter(GameAssets.i.s_TankPortrait, true); dialogue.ShowRightCharacterName(GameData.GetCharacterName(Character.Type.Tank)); dialogue.HideRightText(); }, () => { dialogue.ShowRightActiveTalkerHideLeft("Seems he overpowered us somehow..."); }, () => { dialogue.ShowRightCharacter(GameAssets.i.s_RandyPortrait, false); dialogue.ShowRightCharacterName(GameData.GetCharacterName(Character.Type.Randy)); dialogue.ShowRightActiveTalkerHideLeft("Oh my, aren't you precious"); }, () => { dialogue.ShowRightText("You boys are quite fancy huhuhu"); }, () => { dialogue.ShowLeftActiveTalkerHideRight("Who are you? Are you here to torture us?"); }, () => { dialogue.ShowRightActiveTalkerHideLeft("Oh my, I could never torture such delicate specimens"); }, () => { dialogue.ShowRightText("You are too pretty to be tied up"); }, () => { dialogue.ShowRightText("Allow me to help you huhuhu"); }, () => { // Randy Disappears in Smoke UIBlack.Hide(); dialogue.Hide(); // Untie Player randyOvermap.SetTargetMovePosition(OvermapHandler.GetInstance().GetPlayer().GetPosition() + new Vector3(0, -5)); FunctionTimer.Create(() => { ropeWorldSpriteList[0].DestroySelf(); }, 1f); // Untie Healer FunctionTimer.Create(() => { randyOvermap.SetTargetMovePosition(OvermapHandler.GetInstance().GetFollower(GameData.GetCharacter(Character.Type.Healer)).GetPosition() + new Vector3(+5, 0)); }, 1f); FunctionTimer.Create(() => { ropeWorldSpriteList[1].DestroySelf(); }, 2f); // Untie Tank FunctionTimer.Create(() => { randyOvermap.SetTargetMovePosition(OvermapHandler.GetInstance().GetFollower(GameData.GetCharacter(Character.Type.Tank)).GetPosition() + new Vector3(-5, 0)); }, 2f); FunctionTimer.Create(() => { ropeWorldSpriteList[2].DestroySelf(); }, 3f); // Untie Sleezer FunctionTimer.Create(() => { randyOvermap.SetTargetMovePosition(OvermapHandler.GetInstance().GetFollower(GameData.GetCharacter(Character.Type.Sleezer)).GetPosition() + new Vector3(-5, 0)); }, 3f); FunctionTimer.Create(() => { ropeWorldSpriteList[3].DestroySelf(); }, 4f); // Go to disappear FunctionTimer.Create(() => { randyOvermap.SetTargetMovePosition(randyStartingPosition); }, 4f); FunctionTimer.Create(() => { OvermapHandler.GetInstance().SpawnSmoke(randyOvermap.GetPosition(), .0f, Vector3.one); }, 5f); FunctionTimer.Create(() => { randyOvermap.Hide(); }, 5.5f); FunctionTimer.Create(() => { UIBlack.Show(); dialogue.Show(); dialogue.PlayNextAction(); }, 7.5f); }, () => { dialogue.ShowLeftActiveTalkerHideRight("Well that was weird..."); dialogue.HideRightCharacterName(); dialogue.HideRightCharacter(); }, () => { dialogue.ShowLeftText("But hey lets keep going! He's not getting away this time"); }, /* * () => { * NPCOvermap npcOvermap = OvermapHandler.GetInstance().GetNPC(GameData.GetCharacter(Character.Type.Randy)); * npcOvermap.SetTargetMovePosition(); * dialogue.Hide(); * UIBlack.Hide(); * OvermapHandler.StartOvermapRunning(); * },*/ () => { dialogue.Hide(); UIBlack.Hide(); OvermapHandler.StartOvermapRunning(); GameData.state = GameData.State.MovingToEvilMonster_2; Window_QuestPointer.Create(GameAssets.i.Map.Find("evilMonster_2").position, Color.white, Color.white); }, }, true); }
public static void Play_LostToEvilMonster_2() { UIBlack.Show(); OvermapHandler.StopOvermapRunning(); List <World_Sprite> ropeWorldSpriteList = new List <World_Sprite>(); ropeWorldSpriteList.Add(World_Sprite.Create(OvermapHandler.GetInstance().GetPlayer().GetPosition(), Vector3.one * 1f, GameAssets.i.s_Rope, Color.white, 100)); ropeWorldSpriteList.Add(World_Sprite.Create(OvermapHandler.GetInstance().GetFollower(GameData.GetCharacter(Character.Type.Healer)).GetPosition(), Vector3.one * 1f, GameAssets.i.s_Rope, Color.white, 100)); ropeWorldSpriteList.Add(World_Sprite.Create(OvermapHandler.GetInstance().GetFollower(GameData.GetCharacter(Character.Type.Tank)).GetPosition(), Vector3.one * 1.2f, GameAssets.i.s_Rope, Color.white, 100)); ropeWorldSpriteList.Add(World_Sprite.Create(OvermapHandler.GetInstance().GetFollower(GameData.GetCharacter(Character.Type.Sleezer)).GetPosition(), Vector3.one * 0.7f, GameAssets.i.s_Rope, Color.white, 100)); NPCOvermap randyOvermap = OvermapHandler.GetInstance().GetNPC(GameData.GetCharacter(Character.Type.Randy)); randyOvermap.GetUnitAnimation().PlayAnimForced(UnitAnim.GetUnitAnim("dBareHands_IdleUp"), 1f, null); Vector3 randyStartingPosition = randyOvermap.GetPosition(); randyOvermap.overrideOvermapRunning = true; Dialogue dialogue = Dialogue.GetInstance(); dialogue.SetDialogueActions(new List <Action>() { () => { dialogue.Show(); dialogue.ShowLeftCharacter(GameAssets.i.s_PlayerDialogueSprite, true); dialogue.ShowLeftCharacterName(GameData.GetCharacterName(Character.Type.Player)); dialogue.HideLeftText(); dialogue.ShowRightCharacter(GameAssets.i.s_RandyPortrait, false); dialogue.ShowRightCharacterName(GameData.GetCharacterName(Character.Type.Randy)); dialogue.ShowRightText("Oh my, this is my lucky day"); }, () => { dialogue.ShowLeftActiveTalkerHideRight("Oh no, you again"); }, () => { dialogue.ShowRightActiveTalkerHideLeft("What's wrong, not happy to see me?"); }, () => { dialogue.ShowLeftActiveTalkerHideRight("It seems we miraculously lost again"); }, () => { dialogue.ShowLeftText("It's very annoying to get the Evil Monster almost near death and suddenly he wins"); }, () => { dialogue.ShowRightActiveTalkerHideLeft("Oh dear that is a real bother"); }, () => { dialogue.ShowLeftActiveTalkerHideRight("Yes it is, are you going to let us go?"); }, () => { dialogue.ShowRightActiveTalkerHideLeft("Huhuhu maybe"); }, () => { dialogue.ShowRightText("My oh my, you are truly precious"); }, () => { dialogue.ShowRightText("If you really want to defeat him you need the Sword of Thousand Truths"); }, () => { dialogue.ShowRightText("And would you look at that, I have it right here!"); }, () => { dialogue.ShowRightText("Have fun! Huhuhu!"); }, () => { // Randy Disappears in Smoke // Drop Sword /* * NPCOvermap npcOvermap = OvermapHandler.GetInstance().GetNPC(GameData.GetCharacter(Character.Type.Randy)); * Transform objectTractorTransform = UnityEngine.Object.Instantiate(GameAssets.i.pfObjectTractor, npcOvermap.GetPosition(), Quaternion.identity); * objectTractorTransform.GetComponent<TractorBehaviour>().Setup(OvermapHandler.GetInstance().GetPlayer(), 20f, 8f, () => { * GameData.GetCharacter(Character.Type.Player).hasSwordThousandTruths = true; * OvermapHandler.GetInstance().GetPlayer().RefreshTexture(); * }); * * npcOvermap.Hide(); * UIBlack.Hide(); * dialogue.Hide(); * FunctionTimer.Create(() => { * UIBlack.Show(); * dialogue.Show(); * dialogue.PlayNextAction(); * }, 1f); */ Transform objectTractorTransform = UnityEngine.Object.Instantiate(GameAssets.i.pfObjectTractor, randyOvermap.GetPosition(), Quaternion.identity); objectTractorTransform.localEulerAngles = new Vector3(0, 0, -45); objectTractorTransform.GetComponent <TractorBehaviour>().Setup(OvermapHandler.GetInstance().GetPlayer(), 20f, 8f, () => { GameData.GetCharacter(Character.Type.Player).hasSwordThousandTruths = true; OvermapHandler.GetInstance().GetPlayer().RefreshTexture(); SoundManager.PlaySound(SoundManager.Sound.Coin); }); // Randy Disappears in Smoke UIBlack.Hide(); dialogue.Hide(); // Untie Player randyOvermap.SetTargetMovePosition(OvermapHandler.GetInstance().GetPlayer().GetPosition() + new Vector3(0, -5)); FunctionTimer.Create(() => { ropeWorldSpriteList[0].DestroySelf(); }, 1f); // Untie Healer FunctionTimer.Create(() => { randyOvermap.SetTargetMovePosition(OvermapHandler.GetInstance().GetFollower(GameData.GetCharacter(Character.Type.Healer)).GetPosition() + new Vector3(+5, 0)); }, 1f); FunctionTimer.Create(() => { ropeWorldSpriteList[1].DestroySelf(); }, 2f); // Untie Tank FunctionTimer.Create(() => { randyOvermap.SetTargetMovePosition(OvermapHandler.GetInstance().GetFollower(GameData.GetCharacter(Character.Type.Tank)).GetPosition() + new Vector3(-5, 0)); }, 2f); FunctionTimer.Create(() => { ropeWorldSpriteList[2].DestroySelf(); }, 3f); // Untie Sleezer FunctionTimer.Create(() => { randyOvermap.SetTargetMovePosition(OvermapHandler.GetInstance().GetFollower(GameData.GetCharacter(Character.Type.Sleezer)).GetPosition() + new Vector3(-5, 0)); }, 3f); FunctionTimer.Create(() => { ropeWorldSpriteList[3].DestroySelf(); }, 4f); // Go to disappear FunctionTimer.Create(() => { randyOvermap.SetTargetMovePosition(randyStartingPosition); }, 4f); FunctionTimer.Create(() => { OvermapHandler.GetInstance().SpawnSmoke(randyOvermap.GetPosition(), .0f, Vector3.one); }, 5f); FunctionTimer.Create(() => { randyOvermap.Hide(); }, 5.5f); FunctionTimer.Create(() => { UIBlack.Show(); dialogue.Show(); dialogue.PlayNextAction(); }, 6.5f); }, () => { dialogue.ShowLeftActiveTalkerHideRight("He's very odd but somehow very helpful"); dialogue.HideRightCharacter(); dialogue.HideRightCharacterName(); }, () => { dialogue.ShowLeftText("Why would the Evil Monster keep him around?"); }, () => { dialogue.ShowLeftText("Anyways who cares we have the Sword of a Thousand Truths!"); }, () => { dialogue.ShowLeftText("Let's get him once and for all!"); }, () => { dialogue.Hide(); UIBlack.Hide(); OvermapHandler.StartOvermapRunning(); GameData.state = GameData.State.MovingToEvilMonster_3; Window_QuestPointer.Create(GameAssets.i.Map.Find("evilMonster_3").position, Color.white, Color.white); }, }, true); }
private void Start() { GetComponent <Player_Base>().GetUnitAnimation().PlayAnimForced(UnitAnim.GetUnitAnim(animName), 1f, null); }
public static void Play_Tavern() { Window_QuestPointer.DestroyPointer(GameAssets.i.Map.Find("tavern").position); UIBlack.Show(); OvermapHandler.StopOvermapRunning(); Dialogue dialogue = Dialogue.GetInstance(); Character tavernAmbushCharacter = GameData.GetCharacter(Character.Type.TavernAmbush); dialogue.SetDialogueActions(new List <Action>() { () => { dialogue.Show(); dialogue.ShowLeftCharacter(GameAssets.i.s_PlayerDialogueSprite, false); dialogue.ShowLeftCharacterName(GameData.GetCharacterName(Character.Type.Player)); dialogue.ShowLeftText("Greetings!"); dialogue.HideRightCharacter(); dialogue.HideRightText(); dialogue.HideRightCharacterName(); }, () => { dialogue.ShowLeftText("May we have some refreshments?"); }, () => { UIBlack.Hide(); dialogue.Hide(); Vector3 playerPosition = OvermapHandler.GetInstance().GetPlayer().GetPosition(); OvermapHandler.GetInstance().GetPlayer().GetUnitAnimation().PlayAnimForced(UnitAnim.GetUnitAnim("dSwordTwoHandedBack_IdleDown"), 1f, null); NPCOvermap enemyOvermap = OvermapHandler.GetInstance().GetNPC(tavernAmbushCharacter); enemyOvermap.transform.position = playerPosition + new Vector3(0, -17f); enemyOvermap.GetUnitAnimation().PlayAnimForced(UnitAnim.GetUnitAnim("dMinion_IdleUp"), 1f, null); OvermapHandler.GetInstance().SpawnSmoke(enemyOvermap.GetPosition(), .3f, Vector3.one); NPCOvermap enemyOvermap_2 = OvermapHandler.GetInstance().GetNPC(GameData.GetCharacter(Character.Type.TavernAmbush_2)); enemyOvermap_2.transform.position = playerPosition + new Vector3(14f, -12f); enemyOvermap_2.GetUnitAnimation().PlayAnimForced(UnitAnim.GetUnitAnim("dMinion_IdleUp"), 1f, null); OvermapHandler.GetInstance().SpawnSmoke(enemyOvermap_2.GetPosition(), .3f, Vector3.one); NPCOvermap enemyOvermap_3 = OvermapHandler.GetInstance().GetNPC(GameData.GetCharacter(Character.Type.TavernAmbush_3)); enemyOvermap_3.transform.position = playerPosition + new Vector3(-14, -12f); enemyOvermap_3.GetUnitAnimation().PlayAnimForced(UnitAnim.GetUnitAnim("dMinion_IdleUp"), 1f, null); OvermapHandler.GetInstance().SpawnSmoke(enemyOvermap_3.GetPosition(), .3f, Vector3.one); enemyOvermap.gameObject.SetActive(false); enemyOvermap_2.gameObject.SetActive(false); enemyOvermap_3.gameObject.SetActive(false); FunctionTimer.Create(() => { enemyOvermap.gameObject.SetActive(true); enemyOvermap_2.gameObject.SetActive(true); enemyOvermap_3.gameObject.SetActive(true); }, .45f); FunctionTimer.Create(() => { UIBlack.Show(); dialogue.Show(); dialogue.PlayNextAction(); }, 1.2f); }, () => { dialogue.HideLeftText(); dialogue.FadeLeftCharacter(); dialogue.ShowRightCharacter(GameAssets.i.s_EnemyMinionRedPortrait, false); dialogue.ShowRightText("That's the one! Get him!"); }, () => { GameData.GetCharacter(Character.Type.TavernAmbush_2).isDead = true; GameData.GetCharacter(Character.Type.TavernAmbush_3).isDead = true; GameData.state = GameData.State.FightingTavernAmbush; BattleHandler.LoadEnemyEncounter(tavernAmbushCharacter, tavernAmbushCharacter.enemyEncounter); }, }, true); }
private void Start() { /* * Transform bodyTransform = transform.Find("Body"); * unitSkeleton = new V_UnitSkeleton(1f, bodyTransform.TransformPoint, (Mesh mesh) => bodyTransform.GetComponent<MeshFilter>().mesh = mesh); * unitAnimation = new V_UnitAnimation(unitSkeleton); */ vObject = CreateBasicUnit(transform, GetPosition(), 30f, null); unitAnimation = vObject.GetLogic <V_UnitAnimation>(); unitSkeleton = vObject.GetLogic <V_UnitSkeleton>(); objectTransform = vObject.GetLogic <V_IObjectTransform>(); UnitAnimType idleUnitAnim = UnitAnimType.GetUnitAnimType("dBareHands_Idle"); UnitAnimType walkUnitAnim = UnitAnimType.GetUnitAnimType("dBareHands_Walk"); UnitAnimType hitUnitAnim = UnitAnimType.GetUnitAnimType("dBareHands_Hit"); UnitAnimType attackUnitAnim = UnitAnimType.GetUnitAnimType("dBareHands_PunchQuickAttack"); canShoot = true; unitSkeletonCompositeWeapon = new V_UnitSkeleton_Composite_Weapon(vObject, unitSkeleton, UnitAnim.GetUnitAnim("Aim_PistolRight"), UnitAnim.GetUnitAnim("Aim_PistolLeft"), UnitAnim.GetUnitAnim("Aim_PistolShootRight"), UnitAnim.GetUnitAnim("Aim_PistolShootLeft")); vObject.AddRelatedObject(unitSkeletonCompositeWeapon); unitSkeletonCompositeWeapon.SetActive(); unitSkeletonCompositeWalker_BodyHead = new V_UnitSkeleton_Composite_Walker(vObject, unitSkeleton, GameAssets.UnitAnimTypeEnum.dMarine_Walk, GameAssets.UnitAnimTypeEnum.dMarine_Idle, new[] { "Body", "Head" }); vObject.AddRelatedObject(unitSkeletonCompositeWalker_BodyHead); unitSkeletonCompositeWalker_Feet = new V_UnitSkeleton_Composite_Walker(vObject, unitSkeleton, GameAssets.UnitAnimTypeEnum.dMarine_Walk, GameAssets.UnitAnimTypeEnum.dMarine_Idle, new[] { "FootL", "FootR" }); vObject.AddRelatedObject(unitSkeletonCompositeWalker_Feet); }
public void PlayWinAnimation() { unitAnimation.PlayAnimForced(UnitAnim.GetUnitAnim("dBareHands_Victory"), 1f, null); }
private void Awake() { vObject = CreateBasicUnit(transform, GetPosition(), 30f, null); unitAnimation = vObject.GetLogic <V_UnitAnimation>(); unitSkeleton = vObject.GetLogic <V_UnitSkeleton>(); objectTransform = vObject.GetLogic <V_IObjectTransform>(); UnitAnimType idleUnitAnim = UnitAnimType.GetUnitAnimType("dBareHands_Idle"); UnitAnimType walkUnitAnim = UnitAnimType.GetUnitAnimType("dBareHands_Walk"); UnitAnimType hitUnitAnim = UnitAnimType.GetUnitAnimType("dBareHands_Hit"); UnitAnimType attackUnitAnim = UnitAnimType.GetUnitAnimType("dBareHands_PunchQuickAttack"); canShoot = true; //unitSkeletonCompositeWeapon = new V_UnitSkeleton_Composite_Weapon(vObject, unitSkeleton, UnitAnim.GetUnitAnim("Aim_PistolRight"), UnitAnim.GetUnitAnim("Aim_PistolLeft"), UnitAnim.GetUnitAnim("Aim_PistolShootRight"), UnitAnim.GetUnitAnim("Aim_PistolShootLeft")); unitSkeletonCompositeWeapon = new V_UnitSkeleton_Composite_Weapon(vObject, unitSkeleton, UnitAnim.GetUnitAnim("dMarine_AimWeaponRight"), UnitAnim.GetUnitAnim("dMarine_AimWeaponLeft"), UnitAnim.GetUnitAnim("dMarine_ShootWeaponRight"), UnitAnim.GetUnitAnim("dMarine_ShootWeaponLeft")); //unitSkeletonCompositeWeapon = new V_UnitSkeleton_Composite_Weapon(vObject, unitSkeleton, UnitAnim.GetUnitAnim("Aim_ShotgunRight"), UnitAnim.GetUnitAnim("Aim_ShotgunLeft"), UnitAnim.GetUnitAnim("Aim_ShotgunShootRight"), UnitAnim.GetUnitAnim("Aim_ShotgunShootLeft")); vObject.AddRelatedObject(unitSkeletonCompositeWeapon); unitSkeletonCompositeWeapon.SetActive(); unitSkeletonCompositeWalker_BodyHead = new V_UnitSkeleton_Composite_Walker(vObject, unitSkeleton, GameAssets.UnitAnimTypeEnum.dMarine_Walk, GameAssets.UnitAnimTypeEnum.dMarine_Idle, new[] { "Body", "Head" }); vObject.AddRelatedObject(unitSkeletonCompositeWalker_BodyHead); unitSkeletonCompositeWalker_Feet = new V_UnitSkeleton_Composite_Walker(vObject, unitSkeleton, GameAssets.UnitAnimTypeEnum.dMarine_Walk, GameAssets.UnitAnimTypeEnum.dMarine_Idle, new[] { "FootL", "FootR" }); vObject.AddRelatedObject(unitSkeletonCompositeWalker_Feet); }
public static V_Object CreateSkeletonPresetAnim_DebugDash(Vector3 position, Vector3 rotationDir, Vector3 localScale) { V_Object vObject = V_Object.CreateSkeletonPresetAnim(position, GetWhitePixelMaterial(), UnitAnim.GetUnitAnim("EffectDash"), 1f, rotationDir, localScale, 100); return(vObject); }
public static V_Object CreateSkeletonPresetAnim_DebugDash(Vector3 position) { V_Object vObject = V_Object.CreateSkeletonPresetAnim(position, GetWhitePixelMaterial(), UnitAnim.GetUnitAnim("EffectDash"), 1f, new Vector3(0, 1, 0), new Vector3(3f, 1f, 1f), 100); return(vObject); }