public CharacterModulePreview(GameWorld world, BundledResourceManager resourceSystem) : base(world) { // Handle spawn requests m_HandleCharacterSpawnRequests = m_world.GetECSWorld().CreateSystem <HandleCharacterSpawnRequests>(m_world, resourceSystem, false); m_HandleCharacterDepawnRequests = m_world.GetECSWorld().CreateSystem <HandleCharacterDespawnRequests>(m_world); // Handle spawning CharacterBehaviours.CreateHandleSpawnSystems(m_world, m_HandleSpawnSystems, resourceSystem, false); // Handle despawn CharacterBehaviours.CreateHandleDespawnSystems(m_world, m_HandleDespawnSystems); // Behaviors CharacterBehaviours.CreateAbilityRequestSystems(m_world, m_AbilityRequestUpdateSystems); //m_MovementStartSystems.Add(m_world.GetECSWorld().CreateManager<UpdateTeleportation>(m_world)); CharacterBehaviours.CreateMovementStartSystems(m_world, m_MovementStartSystems); CharacterBehaviours.CreateMovementResolveSystems(m_world, m_MovementResolveSystems); CharacterBehaviours.CreateAbilityStartSystems(m_world, m_AbilityStartSystems); //CharacterBehaviours.CreateAbilityResolveSystems(m_world, m_AbilityResolveSystems); m_UpdateCharPresentationState = m_world.GetECSWorld().CreateSystem <UpdateCharPresentationState>(m_world); m_ApplyPresentationState = m_world.GetECSWorld().CreateSystem <ApplyPresentationState>(m_world); m_characterCameraSystem = m_world.GetECSWorld().CreateSystem <UpdateCharacterCamera>(m_world); m_UpdatePresentationRootTransform = m_world.GetECSWorld().CreateSystem <UpdatePresentationRootTransform>(m_world); Console.AddCommand("thirdperson", CmdToggleThirdperson, "Toggle third person mode", this.GetHashCode()); }
public void TakeDamage(Weapon _weapon, CharacterBehaviours _attacker) { if (!_weapon.CanAttack && !_weapon.Attacked) { health -= _weapon.Damage + _attacker.Attack; } }
public CharacterModuleServer(GameWorld world, BundledResourceManager resourceSystem) : base(world) { // Handle spawn requests m_HandleCharacterSpawnRequests = m_world.GetECSWorld().CreateSystem <HandleCharacterSpawnRequests>(m_world, resourceSystem, true); m_HandleCharacterDespawnRequests = m_world.GetECSWorld().CreateSystem <HandleCharacterDespawnRequests>(m_world); // Handle spawn CharacterBehaviours.CreateHandleSpawnSystems(m_world, m_HandleSpawnSystems, resourceSystem, true); // Handle despawn CharacterBehaviours.CreateHandleDespawnSystems(m_world, m_HandleDespawnSystems); // Behavior CharacterBehaviours.CreateAbilityRequestSystems(m_world, m_AbilityRequestUpdateSystems); //m_MovementStartSystems.Add(m_world.GetECSWorld().CreateManager<UpdateTeleportation>(m_world)); CharacterBehaviours.CreateMovementStartSystems(m_world, m_MovementStartSystems); CharacterBehaviours.CreateMovementResolveSystems(m_world, m_MovementResolveSystems); CharacterBehaviours.CreateAbilityStartSystems(m_world, m_AbilityStartSystems); //CharacterBehaviours.CreateAbilityResolveSystems(m_world, m_AbilityResolveSystems); m_UpdateCharPresentationState = m_world.GetECSWorld().CreateSystem <UpdateCharPresentationState>(m_world); m_ApplyPresentationState = m_world.GetECSWorld().CreateSystem <ApplyPresentationState>(m_world); m_UpdatePresentationRootTransform = m_world.GetECSWorld().CreateSystem <UpdatePresentationRootTransform>(m_world); }
//Adiciona um objeto do tipo arma para a lista de arma public static void CatchWeapon(CharacterBehaviours m_chara, GameObject m_weapon) { if (m_chara.IsDead) { return; } if (Game.gameModes == Game.GameModes.PLAY) { Weapon weapon = m_weapon.GetComponent <Weapon>(); weapon.HideObject(); return; } else if (m_chara.Weapon != null && m_weapon.GetComponent <Weapon>()) { Weapon weapon = m_weapon.GetComponent <Weapon> (); if (weapon.Owner == null) { weapon.CollectWeapon(m_chara); weapon.HideObject(); weapon.SetScore(m_chara); } else { return; } } }
public CharacterModuleServer(GameWorld world, BundledResourceManager resourceSystem) : base(world) { // Handle spawn requests m_HandleCharacterSpawnRequests = m_world.GetECSWorld().CreateManager <HandleCharacterSpawnRequests>(m_world, resourceSystem, true); m_HandleCharacterDespawnRequests = m_world.GetECSWorld().CreateManager <HandleCharacterDespawnRequests>(m_world); // Handle controlled entity changed CharacterBehaviours.CreateControlledEntityChangedSystems(m_world, m_ControlledEntityChangedSystems); m_ControlledEntityChangedSystems.Add(m_world.GetECSWorld().CreateManager <PlayerCharacterControlSystem>(m_world)); // Handle spawn CharacterBehaviours.CreateHandleSpawnSystems(m_world, m_HandleSpawnSystems, resourceSystem); // Handle despawn CharacterBehaviours.CreateHandleDespawnSystems(m_world, m_HandleSpawnSystems); // Movement m_MovementStartSystems.Add(m_world.GetECSWorld().CreateManager <UpdateTeleportation>(m_world)); CharacterBehaviours.CreateMovementStartSystems(m_world, m_MovementStartSystems); CharacterBehaviours.CreateMovementResolveSystems(m_world, m_MovementResolveSystems); // Ability CharacterBehaviours.CreateAbilityStartSystems(m_world, m_AbilityStartSystems); CharacterBehaviours.CreateAbilityResolveSystems(m_world, m_AbilityResolveSystems); m_UpdateCharPresentationState = m_world.GetECSWorld().CreateManager <UpdateCharPresentationState>(m_world); m_ApplyPresentationStateToCharacters = m_world.GetECSWorld().CreateManager <ApplyPresentationStateToCharacters>(m_world); m_ApplyPresentationStateToItems = m_world.GetECSWorld().CreateManager <ApplyPresentationStateToItems>(m_world); m_HandleDamage = m_world.GetECSWorld().CreateManager <HandleDamage>(m_world); m_characterItemLateUpdate = m_world.GetECSWorld().CreateManager <CharacterItemLateUpdate>(m_world); }
//private void Update() //{ // if (attacked) // { // if (attackTime < coolDown) // { // attackTime += Time.deltaTime; // } // else // { // canAttack = true; // attacked = false; // } // } //} public void CollectWeapon(CharacterBehaviours _chara) { if (!owner) { _chara.Weapon = this; owner = _chara; } }
void UpdatePanel() { CharacterBehaviours player = cam.Target.GetComponent <CharacterBehaviours>(); playerName.text = player.name; playerScore.text = "Score: " + player.Score.ToString(); playerHunger.text = "Energy: " + player.Energy.ToString(); }
//Faz a movimentação de um objeto para uma posição public static void SetPath(CharacterBehaviours m_chara, Vector2 target) { if (m_chara.IsDead) { return; } m_chara.transform.position = Vector2.MoveTowards(m_chara.transform.position, target, m_chara.Speed * Time.deltaTime); }
public static void Eat(CharacterBehaviours m_chara, Food m_food) { if (m_chara.IsDead) { return; } m_chara.Consume(m_food); }
public CharacterModulePreview(GameWorld world, BundledResourceManager resourceSystem) : base(world) { // Handle spawn requests m_HandleCharacterSpawnRequests = m_world.GetECSWorld().CreateManager <HandleCharacterSpawnRequests>(m_world, resourceSystem, false); m_HandleCharacterDepawnRequests = m_world.GetECSWorld().CreateManager <HandleCharacterDespawnRequests>(m_world); // Handle control change m_ControlledEntityChangedSystems.Add(m_world.GetECSWorld().CreateManager <PlayerCharacterControlSystem>(m_world)); m_ControlledEntityChangedSystems.Add(m_world.GetECSWorld().CreateManager <UpdateCharacter1PSpawn>(m_world, resourceSystem)); // Handle spawning CharacterBehaviours.CreateHandleSpawnSystems(m_world, m_HandleSpawnSystems, resourceSystem, false); // Handle despawn CharacterBehaviours.CreateHandleDespawnSystems(m_world, m_HandleDespawnSystems); // Movement m_MovementStartSystems.Add(m_world.GetECSWorld().CreateManager <UpdateTeleportation>(m_world)); CharacterBehaviours.CreateMovementStartSystems(m_world, m_MovementStartSystems); CharacterBehaviours.CreateMovementResolveSystems(m_world, m_MovementResolveSystems); // Ability CharacterBehaviours.CreateAbilityStartSystems(m_world, m_AbilityStartSystems); CharacterBehaviours.CreateAbilityResolveSystems(m_world, m_AbilityResolveSystems); m_UpdateCharPresentationState = m_world.GetECSWorld().CreateManager <UpdateCharPresentationState>(m_world); m_ApplyPresentationState = m_world.GetECSWorld().CreateManager <ApplyPresentationState>(m_world); m_CharacterLateUpdate = m_world.GetECSWorld().CreateManager <CharacterLateUpdate>(m_world); m_HandleDamage = m_world.GetECSWorld().CreateManager <HandleDamage>(m_world); m_updateCharacterUI = m_world.GetECSWorld().CreateManager <UpdateCharacterUI>(m_world); m_characterCameraSystem = m_world.GetECSWorld().CreateManager <UpdateCharacterCamera>(m_world); m_UpdatePresentationRootTransform = m_world.GetECSWorld().CreateManager <UpdatePresentationRootTransform>(m_world); m_UpdatePresentationAttachmentTransform = m_world.GetECSWorld().CreateManager <UpdatePresentationAttachmentTransform>(m_world); m_HandleCharacterEvents = m_world.GetECSWorld().CreateManager <HandleCharacterEvents>(); // Preload all character resources (until we have better streaming solution) var charRegistry = resourceSystem.GetResourceRegistry <CharacterTypeRegistry>(); for (var i = 0; i < charRegistry.entries.Count; i++) { resourceSystem.LoadSingleAssetResource(charRegistry.entries[i].prefab1P.guid); resourceSystem.LoadSingleAssetResource(charRegistry.entries[i].prefabClient.guid); } var itemRegistry = resourceSystem.GetResourceRegistry <ItemRegistry>(); for (var i = 0; i < itemRegistry.entries.Count; i++) { resourceSystem.LoadSingleAssetResource(itemRegistry.entries[i].prefab1P.guid); resourceSystem.LoadSingleAssetResource(itemRegistry.entries[i].prefabClient.guid); } Console.AddCommand("thirdperson", CmdToggleThirdperson, "Toggle third person mode", this.GetHashCode()); }
private void Awake() { game = GameObject.FindGameObjectWithTag("GameManager").GetComponent <GameManager>(); movement = GetComponent <CharacterMovement>(); character = GetComponent <CharacterBehaviours>(); animation = GetComponent <CharacterAnimation>(); characterDirection = CharacterDirection.None; }
public void AttackPlayer(CharacterBehaviours character, CharacterBehaviours target) { if (canAttack && Vector2.Distance(character.transform.position, target.transform.position) <= character.Weapon.Range) { canAttack = false; target.TakeDamage(this, character); attacked = true; StartCoroutine("AttackTime"); } }
public static void Attack(CharacterBehaviours m_chara, CharacterBehaviours m_target) { if (m_chara.IsDead) { return; } if (m_chara.Weapon.CanAttack && Vector2.Distance(m_chara.transform.position, m_target.transform.position) <= m_chara.Weapon.Range) { m_chara.Weapon.AttackPlayer(m_chara, m_target); } }
public static void CatchTreasure(CharacterBehaviours m_chara, GameObject m_treasure) { if (m_chara.IsDead) { return; } if (Game.gameModes == Game.GameModes.PLAY) { Treasure treasure = m_treasure.GetComponent <Treasure>(); treasure.HideObject(); } else if (m_treasure != null && m_treasure.GetComponent <Treasure>()) { Treasure treasure = m_treasure.GetComponent <Treasure>(); m_chara.Collect(treasure, treasure.Effect); m_chara.TreasureList.Add(treasure); treasure.HideObject(); } }
//Adiciona um objeto do tipo comida para a lista de comida public static void CatchFood(CharacterBehaviours m_character, GameObject m_food) { if (m_character.IsDead) { return; } if (Game.gameModes == Game.GameModes.PLAY) { Food food = m_food.GetComponent <Food>(); food.HideObject(); return; } else if (!m_character.FullFoodBag && m_food.GetComponent <Food>()) { Food food = m_food.GetComponent <Food> (); m_character.FoodList.Add(food); food.HideObject(); food.SetScore(m_character); } }
public CharacterModuleClient(GameWorld world, BundledResourceManager resourceSystem) : base(world) { // Handle spawn CharacterBehaviours.CreateHandleSpawnSystems(m_world, m_HandleSpawnSystems, resourceSystem, false); // Handle despawn CharacterBehaviours.CreateHandleDespawnSystems(m_world, m_HandleDespawnSystems); // Behaviors CharacterBehaviours.CreateAbilityRequestSystems(m_world, m_AbilityRequestUpdateSystems); CharacterBehaviours.CreateMovementStartSystems(m_world, m_MovementStartSystems); CharacterBehaviours.CreateMovementResolveSystems(m_world, m_MovementResolveSystems); CharacterBehaviours.CreateAbilityStartSystems(m_world, m_AbilityStartSystems); //CharacterBehaviours.CreateAbilityResolveSystems(m_world, m_AbilityResolveSystems); // Interpolation m_UpdateCharPresentationState = m_world.GetECSWorld().CreateSystem <UpdateCharPresentationState>(m_world); m_ApplyPresentationState = m_world.GetECSWorld().CreateSystem <ApplyPresentationState>(m_world); m_UpdatePresentationRootTransform = m_world.GetECSWorld().CreateSystem <UpdatePresentationRootTransform>(m_world); characterCameraSystem = m_world.GetECSWorld().CreateSystem <UpdateCharacterCamera>(m_world); }
//Detecta coletáveis no campo de visão e retorna uma lista com esses objetos public static void GetVision(CharacterBehaviours m_chara, LayerMask m_detectable) { if (m_chara.IsDead) { return; } if (m_chara.FoundItems.Count > 0) { m_chara.FoundItems.Clear(); } Collider2D[] objects = Physics2D.OverlapCircleAll(m_chara.transform.position, m_chara.Vision, m_detectable); //Lista de todos os objetos no campo de visão if (objects.Length == 0) { m_chara.FoundItems.Add(m_chara.transform); } else { foreach (var obj in objects) { m_chara.FoundItems.Add(obj.transform); //Retorna a posição do objeto } } }
// Use this for initialization void Start() { chara = GetComponent <CharacterBehaviours>(); }
public CharacterModuleClient(GameWorld world, BundledResourceManager resourceSystem) : base(world) { // Handle controlled entity change CharacterBehaviours.CreateControlledEntityChangedSystems(m_world, m_ControlledEntityChangedSystems); m_ControlledEntityChangedSystems.Add(m_world.GetECSWorld().CreateManager <UpdateCharacter1PSpawn>(m_world, resourceSystem)); m_ControlledEntityChangedSystems.Add(m_world.GetECSWorld().CreateManager <PlayerCharacterControlSystem>(m_world)); // Handle spawn CharacterBehaviours.CreateHandleSpawnSystems(m_world, m_HandleSpawnSystems, resourceSystem); // Handle despawn CharacterBehaviours.CreateHandleDespawnSystems(m_world, m_HandleSpawnSystems); // Movement CharacterBehaviours.CreateMovementStartSystems(m_world, m_MovementStartSystems); CharacterBehaviours.CreateMovementResolveSystems(m_world, m_MovementResolveSystems); // Abilities CharacterBehaviours.CreateAbilityStartSystems(m_world, m_AbilityStartSystems); CharacterBehaviours.CreateAbilityResolveSystems(m_world, m_AbilityResolveSystems); // Rollback CharacterBehaviours.CreateRollbackSystems(m_world, m_RollbackSystems); m_RollbackSystems.Add(m_world.GetECSWorld().CreateManager <CharacterRollback>(m_world)); // Interpolation m_InterpolateSystems.Add(world.GetECSWorld().CreateManager <ReplicatedAbilityInterpolate>(world)); m_InterpolatePresentationState = m_world.GetECSWorld().CreateManager <InterpolatePresentationState>(m_world); m_UpdateCharPresentationState = m_world.GetECSWorld().CreateManager <UpdateCharPresentationState>(m_world); m_ApplyPresentationStateToCharacters = m_world.GetECSWorld().CreateManager <ApplyPresentationStateToCharacters>(m_world); m_ApplyPresentationStateToItems = m_world.GetECSWorld().CreateManager <ApplyPresentationStateToItems>(m_world); m_CharacterLateUpdate = m_world.GetECSWorld().CreateManager <CharacterLateUpdate>(m_world); m_characterItemLateUpdate = m_world.GetECSWorld().CreateManager <CharacterItemLateUpdate>(m_world); m_characterItem1PLateUpdate = m_world.GetECSWorld().CreateManager <CharacterItem1PLateUpdate>(m_world); m_updateCharacterUI = m_world.GetECSWorld().CreateManager <UpdateCharacterUI>(m_world); characterCameraSystem = m_world.GetECSWorld().CreateManager <UpdateCharacterCamera>(m_world); m_HandleCharacterEvents = m_world.GetECSWorld().CreateManager <HandleCharacterEvents>(); // Preload all character resources (until we have better streaming solution) var charRegistry = resourceSystem.GetResourceRegistry <CharacterTypeRegistry>(); for (var i = 0; i < charRegistry.entries.Length; i++) { resourceSystem.LoadSingleAssetResource(charRegistry.entries[i].prefab1P.guid); resourceSystem.LoadSingleAssetResource(charRegistry.entries[i].prefabClient.guid); } var itemRegistry = resourceSystem.GetResourceRegistry <ItemRegistry>(); for (var i = 0; i < itemRegistry.entries.Length; i++) { resourceSystem.LoadSingleAssetResource(itemRegistry.entries[i].prefab1P.guid); resourceSystem.LoadSingleAssetResource(itemRegistry.entries[i].prefabClient.guid); } var heroTypeRegistry = resourceSystem.GetResourceRegistry <HeroTypeRegistry>(); for (var i = 0; i < heroTypeRegistry.entries.Length; i++) { for (var j = 0; j < heroTypeRegistry.entries[i].abilities.Length; j++) { resourceSystem.LoadSingleAssetResource(heroTypeRegistry.entries[i].abilities[j].guid); } } Console.AddCommand("thirdperson", CmdToggleThirdperson, "Toggle third person mode", this.GetHashCode()); }
// Use this for initialization void Awake() { chara = GetComponent <CharacterBehaviours>(); chara.PlayerName = "StatePlayer"; }
public void SetScore(CharacterBehaviours character) { character.Score += score; }