public override void InitializeAgent() { wm = GetComponent <WeaponManager>(); movement = GetComponent <CMovement>(); health = GetComponent <CHealth>(); grenadeThrower = GetComponent <CGrenadeThrower>(); }
public static void DisplayHealthBar() { foreach (GameObject go in Global.Entities) { CHealth health = go.GetComponent <CHealth>(); if (health != null) { Global.Ecran.FillRectangle(Brushes.Black, go.posX - 8, go.CorrectedY - 20, 100, 10); Global.Ecran.FillRectangle(Brushes.Blue, go.posX - 8, go.CorrectedY - 20, (health.HP / health.InitialHP) * 100, 10); Global.Ecran.DrawString(health.HP + "/" + health.InitialHP, SystemFonts.DefaultFont, Brushes.White, go.posX, go.CorrectedY - 22); } } }
public PeaEntity(float posX, float posY, double ShootSpeed, int shootDamage) { AI = new AIPea(this); Layer = 3; drawable = AddComponent(new CDrawable()) as CDrawable; moveable = AddComponent(new CMoveable()) as CMoveable; health = AddComponent(new CHealth()) as CHealth; moveable.Speed = new System.Drawing.Point((int)ShootSpeed, 0); health.InitialHP = 1; this.posX = posX; this.posY = posY; drawable.HitBox = new System.Drawing.Size(20, 20); }
public Entity BreakableWall(int mX, int mY) { var result = new Entity(_manager); var cHealth = new CHealth(85); var cBody = Body(new SSVector2I(mX, mY), 16.ToUnits(), 16.ToUnits(), true); var cRender = Render(cBody, Textures.Wall, Tilesets.Wall, "breakable"); cBody.Body.AddGroups(Groups.Obstacle); result.AddComponents(cHealth, cBody, cRender); result.AddTags(Tags.Wall, Tags.DamagedByAny); cRender.Sprite.Rotation = Utils.Random.Next(0, 4) * 90; return(result); }
public override void DoIt() { CHealth health = AssociatedGameObject.GetComponent <CHealth>(); CDrawable nutDraw = AssociatedGameObject.GetComponent <CDrawable>(); if (health.HP > 1333) { nutDraw.cycle = 0; } else if (health.HP < 1332 && health.HP > 666) { nutDraw.cycle = 1; } else { nutDraw.cycle = 2; } }
void Update() { if (GetListCount() > 0) { m_fDamageTimer += Time.deltaTime; if (m_fDamageTimer > m_fTimePerTick) { for (int i = GetListCount(); i > 0; i--) { int iActiveIndex = i - 1; CHealth TargetRef = Get_ListGameObjectAtIndex(iActiveIndex).GetComponent <CHealth>(); CSoundBank.Instance.LavaTouch(TargetRef.gameObject); TargetRef.TakeDamage(m_iDamagePerTick); } m_fDamageTimer = 0; } } }
public Entity Player(int mX, int mY) { var result = new Entity(_manager); var cStats = new CStats(1, 1, 1, 50); var cHealth = new CHealth(cStats); var cBody = Body(new SSVector2I(mX, mY), 10.ToUnits(), 10.ToUnits()); var cMovement = Movement(cBody); var cRender = Render(cBody, Textures.CharPlayer, Tilesets.Char, "normal"); var cControl = Control(cBody, cStats, cMovement, cRender); var cShadower = new CShadower(_game, cBody, true, new Color(77, 77, 175, 255), 1); cBody.Body.AddGroups(Groups.Character, Groups.Friendly); cBody.Body.AddGroupsToCheck(Groups.Obstacle); result.AddComponents(cStats, cHealth, cBody, cMovement, cControl, cRender, cShadower); result.AddTags(Tags.Char, Tags.Friendly, Tags.DamagedByEnemy); return(result); }
void Initialize() { if (m_bInitialized == false) { m_vPointOfInterest = Vector3.zero; m_fSecToGenerateDest = m_fSecToGenerateDestBase; m_Health = GetComponent <CHealth>(); m_Agent = GetComponent <NavMeshAgent>(); if (GetAgent().stoppingDistance == 0) { GetAgent().stoppingDistance = 1.5f; m_fSpeedOriginal = GetAgent().speed; } //m_Animator = GetComponent<Animator>(); m_StatusEffects = GetComponent <CStatusEffects>(); m_Senses = GetComponent <CSenses>(); //m_Animations = GetComponent<CAnimations>(); m_fLoseSightTimer = m_Senses.GetTimeUntilLoseSight(); m_AIAttack = GetComponent <CAIAttack>(); if (GetComponentInChildren <CSmokeVFX>()) { m_SmokeVFX = GetComponentInChildren <CSmokeVFX>(); } m_PlayerTransform = CPlayerControlls.GetPlayer().transform; m_Animator = GetComponent <Animator>(); GetAnimator().keepAnimatorControllerStateOnDisable = true; m_bInitialized = true; } }
public Entity Enemy(int mX, int mY) { var result = new Entity(_manager); var cStats = new CStats(1, 1, 1, 75); var cHealth = new CHealth(cStats); var cBody = Body(new SSVector2I(mX, mY), 10.ToUnits(), 10.ToUnits()); var cMovement = Movement(cBody); var cRender = Render(cBody, Textures.CharEnemy, Tilesets.Char, "normal"); var cShadower = new CShadower(_game, cBody, false, new Color(125, 255, 125, 125)); var cLineOfSight = new CLineOfSight(_game, cBody, cShadower) { TargetTag = Tags.Friendly, Angle = 90, Amplitude = 65 }; var cAI = AI(cStats, cBody, cMovement, cRender, cLineOfSight); cBody.Body.AddGroups(Groups.Character, Groups.Enemy); cBody.Body.AddGroupsToCheck(Groups.Obstacle); result.AddComponents(cHealth, cBody, cMovement, cRender, cShadower, cLineOfSight, cAI); result.AddTags(Tags.Char, Tags.Enemy, Tags.DamagedByFriendly); return(result); }
/// <summary> /// Handler for when axe hits objects /// </summary> /// <param name="data">CollisionInfo instance</param> private void HandleAxeCollision(object data) { var coll = data as CollisionInfo?; if (!coll.HasValue) { return; } var collision = coll.Value; var e1 = collision.Entity1; var e2 = collision.Entity2; CHit chit; CHealth h1; int receiverId = 0; if (Game1.Inst.Scene.EntityHasComponent <CHit>(e1) && Game1.Inst.Scene.EntityHasComponent <CHealth>(e2)) { receiverId = e2; chit = (CHit)Game1.Inst.Scene.GetComponentFromEntity <CHit>(e1); if (chit.PlayerId == receiverId) { return; } h1 = (CHealth)Game1.Inst.Scene.GetComponentFromEntity <CHealth>(e2); } else if (Game1.Inst.Scene.EntityHasComponent <CHealth>(e1) && Game1.Inst.Scene.EntityHasComponent <CHit>(e2)) { receiverId = e1; chit = (CHit)Game1.Inst.Scene.GetComponentFromEntity <CHit>(e2); if (chit.PlayerId == receiverId) { return; } h1 = (CHealth)Game1.Inst.Scene.GetComponentFromEntity <CHealth>(e1); } else { return; } CHealth receiver = null; int dealer = 0; if (chit.IsAttacking && chit.AnimationProgress > 0.5f) { receiver = h1; dealer = chit.PlayerId; chit.LastSpashed = DateTime.Now; } else { return; } if (receiver.InvincibilityTime > 0) { return; } Game1.Inst.Scene.Raise("makedamage", new DamageInfo { dealer = dealer, receiver = receiver, receiverId = receiverId }); }