Пример #1
0
    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());
    }
Пример #2
0
 public void TakeDamage(Weapon _weapon, CharacterBehaviours _attacker)
 {
     if (!_weapon.CanAttack && !_weapon.Attacked)
     {
         health -= _weapon.Damage + _attacker.Attack;
     }
 }
Пример #3
0
    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);
    }
Пример #4
0
 //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;
         }
     }
 }
Пример #5
0
    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);
    }
Пример #6
0
    //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;
        }
    }
Пример #7
0
    void UpdatePanel()
    {
        CharacterBehaviours player = cam.Target.GetComponent <CharacterBehaviours>();

        playerName.text   = player.name;
        playerScore.text  = "Score: " + player.Score.ToString();
        playerHunger.text = "Energy: " + player.Energy.ToString();
    }
Пример #8
0
 //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);
 }
Пример #9
0
 public static void Eat(CharacterBehaviours m_chara, Food m_food)
 {
     if (m_chara.IsDead)
     {
         return;
     }
     m_chara.Consume(m_food);
 }
Пример #10
0
    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;
    }
Пример #12
0
 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");
     }
 }
Пример #13
0
 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);
     }
 }
Пример #14
0
 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();
     }
 }
Пример #15
0
 //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);
     }
 }
Пример #16
0
    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);
    }
Пример #17
0
 //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
         }
     }
 }
Пример #18
0
 // 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());
    }
Пример #20
0
 // Use this for initialization
 void Awake()
 {
     chara            = GetComponent <CharacterBehaviours>();
     chara.PlayerName = "StatePlayer";
 }
Пример #21
0
 public void SetScore(CharacterBehaviours character)
 {
     character.Score += score;
 }