void Awake() { events = GetComponent <CharacterEvents> (); hitParticles.gameObject.SetActive(false); bloodines = (IBloodines[])GetComponentsInChildren <IBloodines>(true); health = GetComponent <Health> (); }
// Use this for initialization void Awake() { anim = GetComponent <Animator> (); stats = GetComponent <CharacterStats> (); events = GetComponent <CharacterEvents> (); joku = false; }
private static void MainWindow_KeyPressed(object sender, KeyEventArgs e) { if (windowModeNow == WindowMode.Game) { if (e.Control) { switch (e.Code) { case Keyboard.Key.H: { CharacterEvents.Hit(Program.levelNow.MainCharacter, 10); return; } case Keyboard.Key.S: { Character enemy = Character.SpawnCharacter(100, new Point(random.Next((int)WidthWindow), random.Next((int)HeightWindow - 300)), CharacterMovesAnimation.StandEnemyTexture, new ShotGun()); levelNow.Enemies.Add(enemy); return; } case Keyboard.Key.P: { Program.levelNow.Score += 100; return; } } } switch (e.Code) { case Keyboard.Key.R: { levelNow.MainCharacter.gunNow.Reload(); return; } case Keyboard.Key.Escape: { levelNow.Pause(); windowModeNow = WindowMode.Pause; return; } case Keyboard.Key.Space: { CharacterMovesAnimation.JumpFinished = false; CharacterEvents.Jump(Program.levelNow.MainCharacter); return; } case Keyboard.Key.A: { Program.levelNow.moveNow = CharacterEvents.Moves.LEFT; return; } case Keyboard.Key.D: { Program.levelNow.moveNow = CharacterEvents.Moves.RIGHT; return; } case Keyboard.Key.E: { foreach (var obj in levelNow.Stuffs.ToArray()) { if (obj.Event()) { return; } } return; } } for (var i = 1; i <= 9; i++) { if (e.Code.ToString() == "Num" + i.ToString()) { if (i > Inventory.Guns.Count) { return; } levelNow.MainCharacter.gunNow = Inventory.Guns[i - 1] as Gun; return; } } } }
/// <summary> /// Actually applies the force to jump. /// </summary> void JumpImpl() { // Apply upward force to jump Rigidbody.AddForce(Vector3.up * Mathf.Sqrt(2 * Gravity * _jumpHeights[JumpCount]), ForceMode.VelocityChange); JumpCount++; CharacterEvents.Publish(new PlayerJumpEvent { Ground = IsGrounded, RemainingJumps = MaxJumpCount - JumpCount }); }
void Awake() { coll = GetComponent <CapsuleCollider> (); stats = GetComponent <CharacterStats> (); events = GetComponent <CharacterEvents> (); animator = GetComponent <Animator> (); events.Death += SetAnimatorTrigger; events.Death += DisableCollider; currentHealth = stats.baseMaxHealth; currentStability = stats.baseMaxStability; stabilityStage = 0; }
public virtual void Update(RenderWindow window) { CharacterEvents.UpdateChar(MainCharacter); CharacterEvents.UpdateMainChar(moveNow, MainCharacter); foreach (var enemy in Enemies.ToArray()) { CharacterEvents.UpdateChar(enemy); if (enemy == Boss) { CharacterEvents.UpdateEnemyBoss(enemy); } else { CharacterEvents.UpdateEnemy(enemy); } } foreach (var stuff in Stuffs.ToArray()) { stuff.Update(window); } if ((DateTime.Now - timeNowAirDrop).TotalSeconds - timeOnPause < TimeToAirDrop) { InterfaceTimeToAirDrop = (int)(TimeToAirDrop - (DateTime.Now - timeNowAirDrop).TotalSeconds + timeOnPause); } else { int choose = random.Next(2); switch (choose) { case 0: { Stuffs.Add(new AidKit(new Vector2f(random.Next((int)Program.WidthWindow), 0))); break; } case 1: { Stuffs.Add(new Ammo(new Vector2f(random.Next((int)Program.WidthWindow), 0))); break; } } timeNowAirDrop = DateTime.Now; timeOnPause = 0; } }
public void Heal(object source, float healing) { healing = Mathf.Abs(healing); if (HealingModifiers.In.Count > 0) { healing = HealingModifiers.In.Modifiy(source, healing); } CurrentDamage = DamageType.Heal(CurrentDamage, healing); CharacterEvents.Publish(new PlayerHealEvent { Healing = healing, CurrentDamage = CurrentDamage }); }
void Awake() { sMRenderer = GetComponent <SkinnedMeshRenderer> (); staticObject = Resources.Load(pathToBodyPartFolder + bodyPartPath, typeof(GameObject)) as GameObject; if (staticObject == null || parentBone == null) { Destroy(this); } staticObject = Instantiate(staticObject); staticObject.transform.SetParent(transform); staticObject.transform.position = parentBone.transform.position; staticObject.transform.rotation = parentBone.transform.rotation; rB = staticObject.GetComponent <Rigidbody> (); staticObject.SetActive(false); events = sMRenderer.transform.parent.parent.GetComponent <CharacterEvents> (); }
public virtual void Draw(RenderWindow window) { foreach (var stuff in Stuffs.ToArray()) { stuff.Draw(window); } CharacterEvents.Draw(window, MainCharacter); foreach (var enemy in Enemies.ToArray()) { CharacterEvents.Draw(window, enemy); } Interface.Draw(window); }
public void Damage(object source, float damage) { damage = Mathf.Abs(damage); if (DamageModifiers.In.Count > 0) { damage = DamageModifiers.In.Modifiy(source, damage); } CurrentDamage = DamageType.Damage(CurrentDamage, damage); Mathf.Clamp(CurrentDamage, DamageType.MinDamage, DamageType.MaxDamage); CharacterEvents.Publish(new PlayerDamageEvent { Damage = damage, CurrentDamage = CurrentDamage }); }
public virtual bool addTemporaryStatusEffectSlot(StatusEffectSlot slot) { if (slot.unique) { var old = temporaryStatusEffectSlots .Find(s => s.statusEffect == slot.statusEffect); if (old != null) { var temp = old.compareNewSlot(slot); if (temp == old || temp == null) { return(false); } removeTemporaryStatusEffectSlot(old); } } slot.statusEffect.onAdd(this); events += slot.events; temporaryStatusEffectSlots.Add(slot); return(true); }
public virtual void removeTemporaryStatusEffectSlot(StatusEffectSlot slot) { slot.onRemove(this); events -= slot.events; temporaryStatusEffectSlots.Remove(slot); }