Example #1
0
    void Awake()
    {
        meleeManager = GameObject.FindGameObjectWithTag("MeleeManager").GetComponent <MeleeManager>();
        //Instantiate(Planet);
        BuildPlanets();
        BuildShips();
        HidePlayerUIs();

        /*
         * for(int i = 0; i < AIEnabled.Length; i++)
         * {
         *  AIEnabled[i] = false;
         * }
         */
    }
	public void SetDevice( PlayerDevice device )
	{
		this.device = device;
		unitstats = gameObject.GetComponent<UnitStats>();
		movement = gameObject.GetComponent<Movement>();
		skeletonAnimation = gameObject.GetComponentInChildren<SkeletonAnimation>();
		skeletonAnimation.state.Event += Event;
		skeletonAnimation.UpdateBones += UpdateBones;
		skeletonAnimation.state.End += End;
		head = gameObject.GetComponentInChildren<SkeletonAnimation>().skeleton.FindBone("head");
		hip = gameObject.GetComponentInChildren<SkeletonAnimation>().skeleton.FindBone("body");
		weaponmanager = gameObject.GetComponentInChildren<WeaponManager>();
		meleemanager = gameObject.GetComponentInChildren<MeleeManager>(); 
		GameObject gameGameObject = GameObject.FindGameObjectWithTag( "Level" );
		level = gameGameObject.GetComponent<LevelInfo>(); 
	}
Example #3
0
 public override void Initialize()
 {
     if (Record.IsMelee)
     {
         AttackManager = new MeleeManager(this);
     }
     else
     {
         AttackManager = new RangedManager(this);
     }
     AttackManager.SetAutoattackActivated(DefaultAutoattackActivated);
     SpellManager = new SpellManager(this);
     PathManager  = new PathManager(this);
     DashManager  = new DashManager(this);
     FXManager    = new FXManager(this);
     base.Initialize();
 }
Example #4
0
    private void Update()
    {
        meleeManager = GameObject.FindGameObjectWithTag("MeleeManager").GetComponent <MeleeManager>();
        //targets = meleeManager.players;

        // Move the camera towards a desired position.
        Move();
        // Change the size of the camera based.
        Zoom();


        CheckPlayAreaBoundaries();



        cameraLockedDuration -= Time.fixedDeltaTime;
        if (cameraLockedDuration < 0f)
        {
            cameraLockedDuration = 0f;
        }
    }
Example #5
0
    // Use this for initialization
    void Start()
    {
        meleeManager   = GameObject.FindGameObjectWithTag("MeleeManager").GetComponent <MeleeManager>();
        AILastExecuted = Time.time;

        currentCrew          = shipDetails.Crew;
        currentBattery       = shipDetails.Battery;
        transform            = GetComponentInChildren <Transform>();
        transform.localScale = new Vector3(shipDetails.Scale, shipDetails.Scale, transform.localScale.z);
        rb = GetComponent <Rigidbody>();
        rb.freezeRotation = true;
        rb.mass           = shipDetails.Mass;
        rb.drag           = shipDetails.Drag;
        rb.angularDrag    = shipDetails.AngularDrag;
        shipIsDead        = false;

        trail = GetComponentInChildren <TrailRenderer>();

        bulletSpawnPoints = new List <Transform>();
        int i = 0;

        foreach (Transform child in transform)
        {
            //Debug.Log("child.name = " + child.name);
            if (child.CompareTag("BulletSpawn") && child.name.Contains("BulletSpawnPointMain"))
            {
                //Debug.Log("Selected child.name = " + child.name);
                //bulletSpawnPoints[i] = child.transform;
                bulletSpawnPoints.Add(child.transform);
                i++;
            }
        }

        shipPrimaryActions   = gameObject.AddComponent <ShipPrimaryActions>();
        shipSecondaryActions = gameObject.AddComponent <ShipSecondaryActions>();

        GameObject.FindGameObjectWithTag("Player1Stats").GetComponent <UpdatePlayerStats>().SetShipName((int)playerNumber, shipDetails.ShipName);
    }
Example #6
0
    // GUI test stuff...
    //public GameObject[] HealthArray;
    //public GameObject[] EnergyArray;
    // GUI test stuff...

    // Use this for initialization
    void Start()
    {
        meleeManager = GameObject.FindGameObjectWithTag("MeleeManager").GetComponent <MeleeManager>();
        playerScores = new float[5];
        //players[0] = new GameObject;
        //players = GameObject.FindGameObjectsWithTag("CameraObject");
        //Debug.Log("players = " + players.Length);

        /*
         * playerScores[0] = 0f;
         * playerScores[1] = 0f;
         * playerScores[2] = 0f;
         * playerScores[3] = 0f;
         * playerScores[4] = 0f;
         */
        for (int i = 1; i <= numberOfPlayers; i++)
        {
            //Debug.Log("Hello i = " + i);
            playerScores[i] = 0f;
        }


        if (meleeManager.players.Length <= 3)
        {
            GameObject          textGO = GameObject.Find("Player3Stats");
            UnityEngine.UI.Text text   = textGO.GetComponentInChildren <UnityEngine.UI.Text>();
            text.text = "";
        }
        if (meleeManager.players.Length <= 4)
        {
            GameObject          textGO = GameObject.Find("Player4Stats");
            UnityEngine.UI.Text text   = textGO.GetComponentInChildren <UnityEngine.UI.Text>();
            text.text = "";
        }
        //Debug.Log("playerScores = " + playerScores.Length);
    }
Example #7
0
    public override void Init()
    {
        base.Init();
        if (randomWaypoint == null)
        {
            randomWaypoint = new FisherYatesRandom();
        }
        if (randomPatrolPoint == null)
        {
            randomPatrolPoint = new FisherYatesRandom();
        }

        currentWaypoint    = -1;
        currentPatrolPoint = -1;
        fwd         = transform.forward;
        destination = transform.position;
        agent       = GetComponent <NavMeshAgent>();

        agentPath    = new NavMeshPath();
        sphereSensor = GetComponentInChildren <AISphereSensor>();
        if (sphereSensor)
        {
            sphereSensor.SetColliderRadius(maxDetectDistance);
            sphereSensor.tagsToDetect    = tagsToDetect;
            sphereSensor.passiveToDamage = passiveToDamage;
        }
        else
        {
            Debug.Log("sphereSensor가 컴포넌트에 등록되지않으면 타겟을 찾을수없습니다.");
        }

        animator     = GetComponent <Animator>();
        meleeManager = GetComponent <MeleeManager>();
        canAttack    = true;
        attackCount  = 0;
        sideMovement = GetRandonSide();
        destination  = transform.position;

        _rigidbody             = GetComponent <Rigidbody>();
        _rigidbody.useGravity  = true;
        _rigidbody.constraints = RigidbodyConstraints.None | RigidbodyConstraints.FreezeRotation;
        agent.updatePosition   = false;
        agent.updateRotation   = false;
        agent.enabled          = false;
        _capsuleCollider       = GetComponent <CapsuleCollider>();

        // avoid collision detection with inside colliders
        Collider[] AllColliders = this.GetComponentsInChildren <Collider>();
        Collider   thisCollider = GetComponent <Collider>();

        for (int i = 0; i < AllColliders.Length; i++)
        {
            Physics.IgnoreCollision(thisCollider, AllColliders[i]);
        }

        // healthSlider = GetComponentInChildren<v_SpriteHealth>();
        head          = animator.GetBoneTransform(HumanBodyBones.Head);
        oldPosition   = transform.position;
        currentHealth = maxHealth;
        startPosition = transform.position;
    }
Example #8
0
        public void Test(ItemManager itemManager, MeleeManager meleeManager)
        {
            animator = itemManager.GetComponent <Animator>();
            if (itemManager.equipPoints == null)
            {
                itemManager.equipPoints = new List <EquipPoint>();
            }

            #region LeftEquipPoint
            var equipPointL = itemManager.equipPoints.Find(p => p.equipPointName == "LeftArm");
            if (equipPointL == null)
            {
                EquipPoint pointL = new EquipPoint();
                pointL.equipPointName = "LeftArm";
                if (meleeManager)
                {
                    pointL.onInstantiateEquiment.AddListener(meleeManager.SetLeftWeapon);

//#if UNITY_EDITOR
//                    UnityEventTools.AddPersistentListener<GameObject>(pointL.onInstantiateEquiment, meleeManager.SetLeftWeapon);
//#else
//                  pointL.onInstantiateEquiment.AddListener(manager.SetLeftWeapon);
//#endif
                }

                if (animator)
                {
                    var defaultEquipPointL = new GameObject("defaultEquipPoint");
                    var parent             = animator.GetBoneTransform(HumanBodyBones.LeftHand);
                    defaultEquipPointL.transform.SetParent(parent);
                    defaultEquipPointL.transform.localPosition = Vector3.zero;
                    defaultEquipPointL.transform.forward       = itemManager.transform.forward;
                    defaultEquipPointL.gameObject.tag          = "Ignore Ragdoll";
                    pointL.handler = new Handler();
                    pointL.handler.defaultHandler = defaultEquipPointL.transform;
                }
                itemManager.equipPoints.Add(pointL);
            }
            else
            {
                if (equipPointL.handler.defaultHandler == null)
                {
                    if (animator)
                    {
                        var parent       = animator.GetBoneTransform(HumanBodyBones.LeftHand);
                        var defaultPoint = parent.Find("defaultEquipPoint");

                        if (defaultPoint)
                        {
                            equipPointL.handler.defaultHandler = defaultPoint;
                        }
                        else
                        {
                            var _defaultPoint = new GameObject("defaultEquipPoint");
                            _defaultPoint.transform.SetParent(parent);
                            _defaultPoint.transform.localPosition = Vector3.zero;
                            _defaultPoint.transform.forward       = itemManager.transform.forward;
                            _defaultPoint.gameObject.tag          = "Ignore Ragdoll";
                            equipPointL.handler.defaultHandler    = _defaultPoint.transform;
                        }
                    }
                }

                bool containsListener = false;
                for (int i = 0; i < equipPointL.onInstantiateEquiment.GetPersistentEventCount(); i++)
                {
                    if (equipPointL.onInstantiateEquiment.GetPersistentTarget(i).GetType().Equals(typeof(MeleeManager)) && equipPointL.onInstantiateEquiment.GetPersistentMethodName(i).Equals("SetLeftWeapon"))
                    {
                        containsListener = true;
                        break;
                    }
                }

                if (!containsListener && meleeManager)
                {
                    equipPointL.onInstantiateEquiment.AddListener(meleeManager.SetLeftWeapon);
//#if UNITY_EDITOR
//                    UnityEventTools.AddPersistentListener<GameObject>(equipPointL.onInstantiateEquiment, meleeManager.SetLeftWeapon);
//#else
//                    equipPointL.onInstantiateEquiment.AddListener(manager.SetLeftWeapon);
//#endif
                }
            }
            #endregion

            #region RightEquipPoint
            var equipPointR = itemManager.equipPoints.Find(p => p.equipPointName == "RightArm");
            if (equipPointR == null)
            {
                EquipPoint pointR = new EquipPoint();
                pointR.equipPointName = "RightArm";
                if (meleeManager)
                {
                    pointR.onInstantiateEquiment.AddListener(meleeManager.SetRightWeapon);
                    //#if UNITY_EDITOR
                    //                    UnityEventTools.AddPersistentListener<GameObject>(pointR.onInstantiateEquiment, meleeManager.SetRightWeapon);
                    //#else
                    //                    pointR.onInstantiateEquiment.AddListener(manager.SetRightWeapon);
                    //#endif
                }

                if (animator)
                {
                    var defaultEquipPointR = new GameObject("defaultEquipPoint");
                    var parent             = animator.GetBoneTransform(HumanBodyBones.RightHand);
                    defaultEquipPointR.transform.SetParent(parent);
                    defaultEquipPointR.transform.localPosition = Vector3.zero;
                    defaultEquipPointR.transform.forward       = itemManager.transform.forward;
                    defaultEquipPointR.gameObject.tag          = "Ignore Ragdoll";
                    pointR.handler = new Handler();
                    pointR.handler.defaultHandler = defaultEquipPointR.transform;
                }
                itemManager.equipPoints.Add(pointR);
            }
            else
            {
                if (equipPointR.handler.defaultHandler == null)
                {
                    if (animator)
                    {
                        var parent       = animator.GetBoneTransform(HumanBodyBones.RightHand);
                        var defaultPoint = parent.Find("defaultEquipPoint");
                        if (defaultPoint)
                        {
                            equipPointR.handler.defaultHandler = defaultPoint;
                        }
                        else
                        {
                            var _defaultPoint = new GameObject("defaultEquipPoint");
                            _defaultPoint.transform.SetParent(parent);
                            _defaultPoint.transform.localPosition = Vector3.zero;
                            _defaultPoint.transform.forward       = itemManager.transform.forward;
                            _defaultPoint.gameObject.tag          = "Ignore Ragdoll";
                            equipPointR.handler.defaultHandler    = _defaultPoint.transform;
                        }
                    }
                }

                bool containsListener = false;
                for (int i = 0; i < equipPointR.onInstantiateEquiment.GetPersistentEventCount(); i++)
                {
                    if (equipPointR.onInstantiateEquiment.GetPersistentTarget(i).GetType().Equals(typeof(MeleeManager)) && equipPointR.onInstantiateEquiment.GetPersistentMethodName(i).Equals("SetRightWeapon"))
                    {
                        containsListener = true;
                        break;
                    }
                }

                if (!containsListener && meleeManager)
                {
                    equipPointR.onInstantiateEquiment.AddListener(meleeManager.SetRightWeapon);
//#if UNITY_EDITOR
//                    UnityEventTools.AddPersistentListener<GameObject>(equipPointR.onInstantiateEquiment, meleeManager.SetRightWeapon);
//#else
//                    equipPointR.onInstantiateEquiment.AddListener(manager.SetRightWeapon);
//#endif
                }
                #endregion
            }
        }
 void Start()
 {
     arm        = GetComponentInChildren<ArmAnimation>();
     projectile = transform.parent.GetComponent<ProjectileManager>();
     melee      = transform.parent.GetComponent<MeleeManager>();
 }
Example #10
0
 void Start()
 {
     arm        = GetComponentInChildren <ArmAnimation>();
     projectile = transform.parent.GetComponent <ProjectileManager>();
     melee      = transform.parent.GetComponent <MeleeManager>();
 }
Example #11
0
 private void Awake()
 {
     mainCamera   = GetComponentInChildren <Camera>();
     meleeManager = GameObject.FindGameObjectWithTag("MeleeManager").GetComponent <MeleeManager>();
 }
 void Start()
 {
     melee      = transform.parent.GetComponent <MeleeManager>();
     projectile = transform.parent.GetComponent <ProjectileManager>();
 }
	void Start()
	{
		melee      = transform.parent.GetComponent<MeleeManager>();
		projectile = transform.parent.GetComponent<ProjectileManager>();
	}
Example #14
0
    }// Set Active all hitBoxes of the MeleeAttackObject

    public virtual void OnHit(HitBox hitBox, Collider other)
    {
        //Check  first contition for hit
        if (canApplyDamage && !targetColliders[hitBox].Contains(other.gameObject) && (meleeManager != null && other.gameObject != meleeManager.gameObject))
        {
            var inDamage = false;
            var inRecoil = false;
            if (meleeManager == null)
            {
                meleeManager = GetComponentInParent <MeleeManager>();
            }
            //check if meleeManager exist and apply  his hitProperties  to this
            HitProperties _hitProperties = meleeManager.hitProperties;

            /// Damage Conditions
            if (((hitBox.triggerType & HitBoxType.Damage) != 0) && _hitProperties.hitDamageTags == null || _hitProperties.hitDamageTags.Count == 0)
            {
                inDamage = true;
            }
            else if (((hitBox.triggerType & HitBoxType.Damage) != 0) && _hitProperties.hitDamageTags.Contains(other.tag))
            {
                inDamage = true;
            }
            else   ///Recoil Conditions
            if (((hitBox.triggerType & HitBoxType.Recoil) != 0) && (_hitProperties.hitRecoilLayer == (_hitProperties.hitRecoilLayer | (1 << other.gameObject.layer))))
            {
                inRecoil = true;
            }
            if (inDamage || inRecoil)
            {
                ///add target collider in list to control frequency of hit him
                targetColliders[hitBox].Add(other.gameObject);
                HitInfo hitInfo = new HitInfo(this, hitBox, other, hitBox.transform.position);
                if (inDamage == true)
                {
                    /// If meleeManager
                    /// call onDamageHit to control damage values
                    /// and  meleemanager will call the ApplyDamage after to filter the damage
                    /// if meleeManager is null
                    /// The damage will be  directly applied
                    /// Finally the OnDamageHit event is called
                    if (meleeManager)
                    {
                        meleeManager.OnDamageHit(hitInfo);
                    }
                    else
                    {
                        damage.sender = transform;
                        ApplyDamage(hitBox, other, damage);
                    }
                    onDamageHit.Invoke(hitInfo);
                }
                /// Recoil just work with OnRecoilHit event and meleeManger
                if (inRecoil == true)
                {
                    if (meleeManager)
                    {
                        meleeManager.OnRecoilHit(hitInfo);
                    }
                    onRecoilHit.Invoke(hitInfo);
                }
            }
        }
    }// Call Back of hitboxes
 partial void _CreateDefaultEquipPoints(ItemManager itemManager, MeleeManager meleeManager);
Example #16
0
 // Use this for initialization
 void Start()
 {
     meleeManager = GameObject.FindGameObjectWithTag("MeleeManager").GetComponent <MeleeManager>();
 }
 public static void CreateDefaultEquipPoints(ItemManager itemManager, MeleeManager meleeManager)
 {
     instance = new ItemManagerUtilities();
     instance._CreateDefaultEquipPoints(itemManager, meleeManager);
     instance._InitItemManager(itemManager);
 }
Example #18
0
 void Start()
 {
     if (transform.parent.GetComponentInParent<MeleeManager>() != null)
         m = transform.parent.GetComponent<MeleeManager> (); //get reference to melee manager to signal when collision occurs.
 }