Пример #1
0
    public void init()
    {
        pos          = Map.grid.grid_to_world(Map.grid.world_to_grid(transform.position));
        current_node = Map.grid.get_node(Map.grid.world_to_grid(pos));

        controller = GetComponent <PlatformCollision>();
        controller.init();
        player_movement = GetComponent <PlayerMovement>();
        player_movement.init();

        Transform weapon_obj = transform.parent.FindChild("weapon");

        if (weapon_obj == null)
        {
            Debug.LogError("'weapon' object cannot be found in player parent's children");
        }
        weapon_inventory = weapon_obj.GetComponent <WeaponInventory>();
        weapon_inventory.init(this);
        weapon_control = weapon_obj.GetComponent <PlayerWeaponControl>();
        weapon_control.init();

        grappling_hook = GetComponent <GrapplingHook>();
        grappling_hook.init();
        health = GetComponent <GenericHealth>();
        health.init(this);
    }
Пример #2
0
 void Awake()
 {
     Instance = gameObject;
     PlayerTransform = Instance.transform;
     PlayerHealth = Instance.GetComponent<PlayerHealth>();
     PlayerExperience = Instance.GetComponent<PlayerExperience>();
     PlayerEnergy = Instance.GetComponent<PlayerEnergy>();
     PlayerWeaponControl = Instance.GetComponent<PlayerWeaponControl>();
 }
Пример #3
0
    public static void ExecuteItem(Item item)
    {
        GameObject player = GameObject.Find("Player");

        if (item.type == ItemEffectType.HEAL)
        {
            PlayerHealth playerHealth = player.GetComponent <PlayerHealth>();
            playerHealth.GainHealth(item.itemEffectQuantity);
        }

        if (item.type == ItemEffectType.BUFFDAMAGE)
        {
            WeaponMods mods = player.GetComponent <WeaponMods>();
            mods.damageBuffs += 1;
        }

        if (item.type == ItemEffectType.WEAPON)
        {
            PlayerChargeWeaponControl chargeControl = player.GetComponent <PlayerChargeWeaponControl>();
            PlayerWeaponControl       weaponControl = player.GetComponent <PlayerWeaponControl>();

            // add new weapon
            Type weaponType = WeaponParser.GetWeaponScriptFromName(item.name);
            if (weaponType.IsSubclassOf(typeof(ChargeWeaponBase))) // charge based weapon
            {
                chargeControl.enabled = true;
                weaponControl.enabled = false;
                chargeControl.SetWeapon(item.name);
            }
            else // normal weapon
            {
                chargeControl.enabled = false;
                weaponControl.enabled = true;
                weaponControl.SetWeapon(item.name);
            }
        }

        if (item.type == ItemEffectType.PET)
        {
            // TODO remove current pet ever?

            // spawn new pet
            GameObject petPrefab = Resources.Load <GameObject>("Prefabs/" + item.name);
            GameObject.Instantiate(petPrefab, player.transform.position, player.transform.rotation);
        }

        // TODO other item types
    }
Пример #4
0
    public void init()
    {
        pos = Map.grid.grid_to_world(Map.grid.world_to_grid(transform.position));
        current_node = Map.grid.get_node(Map.grid.world_to_grid(pos));

        controller = GetComponent<Controller2D>();
        controller.init();
        player_movement = GetComponent<PlayerMovement>();
        player_movement.init();

        Transform weapon_obj = transform.parent.FindChild("weapon_base");
        if (weapon_obj == null) Debug.LogError("'weapon_base' object cannot be found in player parent's children");
        inventory = weapon_obj.GetComponent<WeaponInventory>();
        inventory.init(this);
        weapon_control = weapon_obj.GetComponent<PlayerWeaponControl>();
        weapon_control.init();

        grappling_hook = GetComponent<GrapplingHook>();
        grappling_hook.init();
        health = GetComponent<GenericHealth>();
        health.init(this);
    }