Inheritance: MonoBehaviour
    void Start() {
        currentHp = maxHp;
        currentMp = maxMp;

        animator = GetComponent<Animator>();
        combatController = GameObject.FindGameObjectWithTag("CombatController").GetComponent<CombatController>();
    }
	void Start ()
	{
		if (GameManager.componentActivatorOn) 
		{
			ComponentActivator.Instance.Register (this, new Dictionary<GameEvent, bool> { 

				//{ GameEvent.Land, true },
				{ GameEvent.ClimbOverEdge, true },
				{ GameEvent.StopClimbing, true },
				{ GameEvent.FinishClimbOver, true },
				//{ GameEvent.Land, true },

				//{ GameEvent.LandedFirstTime, false },
				{ GameEvent.StartVineClimbing, false }, 
				{ GameEvent.StartEdgeClimbing, false },
				{ GameEvent.StartWallClimbing, false }

			});
		}

		charState = GetComponent<RomanCharState>();
		animator = GetComponent<Animator>();
		rb = GetComponent<Rigidbody>();
		cam = Camera.main.transform;
		cController = GetComponent<CharacterController>();
		cCollider = GetComponent<CapsuleCollider>();
		vineClimbCollider = GetComponent<VineClimbController2>();
		tunnelObserver = GameManager.Instance.tunnelObserver;
		combatController = GetComponent<CombatController> ();
	}
	void Awake()
    {
        anim = GetComponent<Animator>();
        animHashes = GetComponent<HashIDs>();
        playerStatistics = GetComponent<PlayerStatistics>();
        combatController = GameObject.Find("GameManager").GetComponent<CombatController>();
        anim.speed = animSpeed;
    }
 void Awake()
 {
     combatController = GameObject.Find("GameManager").GetComponent<CombatController>();
     anim = GetComponent<Animator>();
     col = GetComponent<CapsuleCollider>();
     enemyInference = GetComponent<EnemyInference>();
     enemyStatistics = GetComponent<EnemyStatistics>();
     animHashes = GetComponent<HashIDs>();
     spawnPosition = transform.position;
     atSpawn = true;
 }
	// OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks
	//override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) {
	//
	//}

	// OnStateExit is called when a transition ends and the state machine finishes evaluating this state
	override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) 
	{
		if (choice == CombatChoice.Exit || choice == CombatChoice.Both) 
		{
			if (combatController == null)
				combatController = animator.GetComponent<CombatController> ();

			if (!startCombat)
				combatController.state = CombatController.SquirrelCombatState.None;
			else
				combatController.state = CombatController.SquirrelCombatState.Punching;
		}
	}
Example #6
0
	public ParticleSystem	explosion; //the particle system that makes the ninja explode

	// Use this for initialization

	void Start () 
	{
		//initialize variables
		jumpState = JumpState.GROUNDED;
		jumpPointNumber = jumpPoints.Count;
		currentJumpPoint = jumpPointNumber - 1;
		for (int i = 0; i < jumpPointNumber; i += 1)
		{
			Vector3 temp = jumpPoints[i].position;
			temp.z = transform.position.z;
			jumpPoints[i].position = temp;
		}
		turnCounter = GetComponentInChildren<TextMesh>();
		turnCounter.text = currentJumpPoint.ToString ();

		combat = GameObject.Find("CombatController").GetComponent<CombatController>();
	}
Example #7
0
	void Start () 
	{
		m_director = FindObjectOfType<Director>();
		if ( m_director == null )
			Debug.LogWarning("Enemy Manger is not finding the director");

		if (_enemyList.Count == 0) 
		{
			Debug.LogWarning ("No Enemies in EnemySpawner List, please populate and maybe create a prefab");
		}
		else
		{
			m_currentEnemySpawnQueue = new Queue<GameObject>();

			for ( int i = 0; i < _enemyList.Count; i++ )
			{
				// Fill Enemy Queue for the first time
				m_currentEnemySpawnQueue.Enqueue( _enemyList[i] );
			}

			if ( _enemyList.Count == 0 )
				Debug.LogWarning("Enemey Manger Enemy List is empty, please populate");
		}

		_combatController = FindObjectOfType<CombatController>();

		if (_combatController == null)
			Debug.LogWarning ("Enemy Manager couldn't find a combatcontroller!");

		m_currentSpawnInterval = 0;

		if ( _enemyPosition == null )
			_enemyPosition = GameObject.Find("EnemyPosition").transform;
		else
			Debug.LogWarning ("No Enemey Position found, please add Gameobject to scene as transform reference on Enemy Manger");

		SpawnNewEnemy ();
	}
Example #8
0
    public override void Initialize()
    {
        base.Initialize();

        rootNockPosition = nock.localPosition;

        animationController = actor.controllerPack.GetController <AnimationController>();

        actor.OnAnimationEvent += (eventTag =>
        {
            if (!isEquipped)
            {
                return;
            }

            switch (eventTag)
            {
            case GameConstants.AE_Nock:

                Attach();

                break;

            case GameConstants.AE_Aimed:

                startTime = Time.time;

                speedMultiplier = 1f;

                aimed = true;

                //Path Visualization

                path.enabled = true;

                break;

            default:
                break;
            }
        });

        actor.OnActionInitiated += (action =>
        {
            if (!isEquipped)
            {
                return;
            }

            if
            (
                action is AimFreeAction
                ||
                action is ReloadAction
            )

            {
                Dettach();
            }

            if (action is AimDownAction)
            {
                ClearChamber();

                actor.controllerPack.GetController <CombatController>().actionPack.TakeAction <ReloadAction>();
            }
        });

        actor.OnActionCompleted += (action =>
        {
            if (!isEquipped)
            {
                return;
            }

            if (action is AttackAction)
            {
                CombatController controller = actor.controllerPack.GetController <CombatController>();

                if (controller.aiming)
                {
                    controller.actionPack.TakeAction <ReloadAction>();
                }

                else
                {
                    Reload();
                }
            }

            #region OverLoad

            if (action is ReloadAction && overLoad)
            {
                chamberCount = chamberCountBeforeOverload;

                InstantOverLoad();

                overLoad = false;
            }

            #endregion
        });

        animationController.OnStateComplete += (state =>
        {
            if (!isEquipped)
            {
                return;
            }

            switch (state)
            {
            case GameConstants.AS_Aiming:

                //Arrow Speed

                aimed = false;

                ((inventory.ActiveEntry.Value.Item as Bow).liveBarrel.liveSlug as Projectile).speed =
                    ((inventory.ActiveEntry.Value.Item as Bow).liveBarrel.liveSlug as Arrow).defaultSpeed;

                break;

            default:

                break;
            }
        });

        animationController.OnStateInitialized += (state =>
        {
            if (!isEquipped)
            {
                return;
            }

            switch (state)
            {
            case GameConstants.AS_Idle:

                Dettach();

                Reload();

                break;

            default:

                break;
            }
        });
    }
Example #9
0
    public bool DisplayInventory(CombatController combatController, int page)
    {
        int totalPages = (int)Math.Round((nounsInInventory.Count / 3d), 0, MidpointRounding.AwayFromZero);

        if (totalPages == 0)
        {
            totalPages = 1;
        }

        if (page > totalPages || page < 1)
        {
            return(false);
        }

        List <string> optionsText = new List <string>();

        string textToDisplay = "Inventario Página " + page.ToString() + "/" + totalPages.ToString() + ": ";



        string newNounToDisplay;

        for (int i = totalPages * (page - 1); i < 3 * page; i++)
        {
            if (i >= nounsInInventory.Count)
            {
                break;
            }

            int display = i - (totalPages * (page - 1));

            newNounToDisplay = "\n[" + display + "] " + TextConverter.MakeFirstLetterUpper(nounsInInventory[i].objectName);


            textToDisplay += newNounToDisplay;
        }

        if (page == 1)
        {
            optionsText.Add("<color=#A9A9A9>[<] Anterior Página </color>");
        }
        else
        {
            optionsText.Add("[<] Anterior Página");
        }

        if (page == totalPages)
        {
            optionsText.Add("<color=#A9A9A9>[>] Siguiente Página </color>");
        }
        else
        {
            optionsText.Add("[>] Siguiente Página ");
        }

        optionsText.Add("[S] Salir del Inventario ");

        combatController.SetPlayerHabilities(textToDisplay);
        combatController.SetPlayerInventoryOptions(string.Join("\n", optionsText.ToArray()));
        return(true);
    }
Example #10
0
 public abstract AIAction Create(CombatController controller);
Example #11
0
 private void Awake()
 {
     animController = this.GetComponent <AnimationController>();
     combController = this.GetComponent <CombatController>();
 }
 void Awake()
 {
     combatController = GetComponent <CombatController>();
 }
Example #13
0
 public void SetCombatControllerActive(CombatController c)
 {
     portraits.ForEach(p => p.SetActiveVisuals(p.character == c));
 }
Example #14
0
 protected virtual void Start()
 {
     inventory    = GetComponent <Inventory>();
     casterCombat = GetComponent <CombatController>();
 }
 private void Awake()
 {
     Instance = this;
 }
        private void OnGUIDebug()
        {
            if (Mod == null || !Mod.Enabled)
            {
                return;
            }

            GUILayout.Label($"Time Scale: {Time.timeScale:f2}x");
            GUILayout.Label($"Game Time: {Game.Instance.Player.GameTime}");

            CombatController combat      = Mod.Core.Combat;
            TurnController   currentTurn = combat.CurrentTurn;

            GUILayout.Space(10f);
            GUILayout.Label($"Combat Initialized: {combat.Initialized}");

            GUILayout.Space(10f);
            if (GUILayout.Button("Reset Current Turn", GUILayout.ExpandWidth(false)) && currentTurn != null)
            {
                combat.StartTurn(currentTurn.Unit);
            }

            GUILayout.Space(10f);
            GUILayout.Label($"Turn Status: {currentTurn?.Status}");
            GUILayout.Label($"Time Waited For AI: {currentTurn?.TimeWaitedForIdleAI:f4}");
            GUILayout.Label($"Time Waited To End Turn: {currentTurn?.TimeWaitedToEndTurn:f4}");
            GUILayout.Label($"Time Moved: {currentTurn?.TimeMoved:f4}");
            GUILayout.Label($"Time Moved (5-Foot Step): {currentTurn?.TimeMovedByFiveFootStep:f4}");
            GUILayout.Label($"Feet Moved (5-Foot Step): {currentTurn?.MetersMovedByFiveFootStep / Feet.FeetToMetersRatio:f4}");
            GUILayout.Label($"Has Normal Movement: {currentTurn?.HasNormalMovement()}");
            GUILayout.Label($"Has 5-Foot Step: {currentTurn?.HasFiveFootStep()}");
            GUILayout.Label($"Has Free Touch: {currentTurn?.Unit.HasFreeTouch()}");
            GUILayout.Label($"Prepared Spell Combat: {currentTurn?.Unit.PreparedSpellCombat()}");
            GUILayout.Label($"Prepared Spell Strike: {currentTurn?.Unit.PreparedSpellStrike()}");

            GUILayout.Space(10f);
            GUILayout.Label("Current Unit:");
            GUILayout.Label(currentTurn?.Unit.ToString().Color(RGBA.yellow));
            GUILayout.Label($"Free Action: {currentTurn?.Commands.Raw[0]}");
            GUILayout.Label($"Standard Action: {currentTurn?.Commands.Standard}" +
                            $" (IsFullRoundAction: {currentTurn?.Commands.Raw[1].IsFullRoundAction()}" +
                            $", IsFreeTouch: {currentTurn?.Commands.Raw[1].IsFreeTouch()}" +
                            $", IsSpellCombat: {currentTurn?.Commands.Raw[1].IsSpellCombatAttack()}" +
                            $", IsSpellStrike: {currentTurn?.Commands.Raw[1].IsSpellstrikeAttack()})");
            GUILayout.Label($"Move Action: {currentTurn?.Commands.Raw[3]}");
            GUILayout.Label($"Swift Action: {currentTurn?.Commands.Raw[2]}");

            IEnumerable <UnitEntityData> units = combat.SortedUnits;

            if (units.Any())
            {
                GUILayout.Space(10f);
                using (new GUILayout.HorizontalScope())
                {
                    using (new GUILayout.VerticalScope())
                    {
                        GUILayout.Label("Unit ID");
                        foreach (UnitEntityData unit in units)
                        {
                            GUILayout.Label($"{unit}");
                        }
                    }

                    using (new GUILayout.VerticalScope())
                    {
                        GUILayout.Label("Name");
                        foreach (UnitEntityData unit in units)
                        {
                            GUILayout.Label($"{unit.CharacterName}");
                        }
                    }

                    using (new GUILayout.VerticalScope())
                    {
                        GUILayout.Label("Init");
                        foreach (UnitEntityData unit in units)
                        {
                            GUILayout.Label(unit.CombatState.Initiative.ToString());
                        }
                    }

                    using (new GUILayout.VerticalScope())
                    {
                        GUILayout.Label("Init_C");
                        foreach (UnitEntityData unit in units)
                        {
                            GUILayout.Label(HightlightedCooldownText(unit.CombatState.Cooldown.Initiative));
                        }
                    }

                    using (new GUILayout.VerticalScope())
                    {
                        GUILayout.Label("Std_C");
                        foreach (UnitEntityData unit in units)
                        {
                            GUILayout.Label(HightlightedCooldownText(unit.CombatState.Cooldown.StandardAction));
                        }
                    }

                    using (new GUILayout.VerticalScope())
                    {
                        GUILayout.Label("Move_C");
                        foreach (UnitEntityData unit in units)
                        {
                            GUILayout.Label(HightlightedCooldownText(unit.CombatState.Cooldown.MoveAction));
                        }
                    }

                    using (new GUILayout.VerticalScope())
                    {
                        GUILayout.Label("Swift_C");
                        foreach (UnitEntityData unit in units)
                        {
                            GUILayout.Label(HightlightedCooldownText(unit.CombatState.Cooldown.SwiftAction));
                        }
                    }

                    using (new GUILayout.VerticalScope())
                    {
                        GUILayout.Label("AoO_C");
                        foreach (UnitEntityData unit in units)
                        {
                            GUILayout.Label(HightlightedCooldownText(unit.CombatState.Cooldown.AttackOfOpportunity));
                        }
                    }

                    using (new GUILayout.VerticalScope())
                    {
                        GUILayout.Label("AoO");
                        foreach (UnitEntityData unit in units)
                        {
                            GUILayout.Label(unit.CombatState.AttackOfOpportunityCount.ToString());
                        }
                    }

                    GUILayout.FlexibleSpace();
                }
            }
        }
Example #17
0
 protected abstract void OnFire(CombatController shooter);
 /// <summary>
 /// sets the combat controller in charge of ranged attack to the fed in instance.
 /// </summary>
 /// <param name="rangedWeaponCombatController"></param>
 public void SetRangedWeaponCombatController(CombatController rangedWeaponCombatController)
 {
     _rangedWeaponCombatController = rangedWeaponCombatController;
 }
Example #19
0
 private void Start()
 {
     combatController = CombatController.Instance;
 }
Example #20
0
 void Start()
 {
     controller = GameObject.FindGameObjectWithTag("CombatController").GetComponent<CombatController>();
     pointerImage = GameObject.Find("TurnPointerImage").GetComponent<Image>();
 }
Example #21
0
        protected override void OnFire(CombatController shooter)
        {
            var ball = PGServiceLocator.SpawnManager.SpawnPrefab(ballPrefab, firePoint.position, firePoint.rotation, InitializeBall);

            ball.AddTrigger(shooter, hitDamage);
        }
Example #22
0
 private void Awake()
 {
     theDeck          = GetComponent <Stack>();
     combatController = FindObjectOfType <CombatController>();
 }
Example #23
0
 void Awake()
 {
     _combatController = GetComponentInParent <CombatController>();
     _startRotation    = transform.eulerAngles;
 }
Example #24
0
        public void ChangeModel(string modelName, bool firstCreate, float scale = 1)
        {
            if (playerController == null)
            {
                EB.Debug.LogWarning("playerController is null");
                return;
            }

            if (playerController.CharacterModel != null && playerController.CharacterModel.ResourcePrefabNameMain.IndexOf(modelName) >= 0)
            {
                EB.Debug.LogWarning("ChangeModel: Aready Exist model={0}", modelName);
                return;
            }

            if (_HeadBar != null)
            {
                _HeadBar.ClearBars();
                _HeadBar = null;
            }

            try
            {
                CharacterVariant    CV = mDMono.transform.GetComponentInChildren <CharacterVariant>();
                MoveEditor.FXHelper FH = mDMono.transform.GetComponentInChildren <MoveEditor.FXHelper>();

                if (FH != null)
                {
                    FH.StopAll(true);
                }

                if (CV != null && GameEngine.Instance != null)
                {
                    SetObjLayer(CV.CharacterInstance, GameEngine.Instance.defaultLayer);
                    CV.Recycle();
                    PoolModel.DestroyModel(CV.gameObject);
                }

                if (playerController.SkinnedRigPrefab != null)
                {
                    PoolModel.DestroyModel(playerController.SkinnedRigPrefab);
                }
                ///
                playerController.Gender         = eGender.Male;
                playerController.CharacterModel = CharacterCatalog.Instance.GetModel(modelName);
                string prefabName = playerController.CharacterModel.PrefabNameFromGenderMain(playerController.Gender);
                PoolModel.GetModelAsync(prefabName, mDMono.transform.position, Quaternion.identity, (o, prm) =>
                {
                    var variantObj = o as GameObject;
                    variantObj.transform.SetParent(mDMono.transform);
                    variantObj.transform.localPosition = Vector3.zero;

                    CharacterVariant variant = variantObj.GetComponent <CharacterVariant>();
                    variant.SyncLoad         = true;
                    IDictionary partions     = GetPartitionsData(LoginManager.Instance.LocalUserId.Value);
                    variant.InstantiateCharacter(partions);
                    InitDataLookupSet();

                    playerController.SkinnedRigPrefab      = variant.CharacterInstance;
                    playerController.SkinnedRigPrefab.name = prefabName + "_Character";
                    playerController.SkinnedRigPrefab.tag  = "CharacterMesh";
                    playerController.SkinnedRigPrefab.transform.SetParent(mDMono.transform);
                    playerController.SkinnedRigPrefab.transform.localRotation = Quaternion.identity;
                    playerController.SkinnedRigPrefab.transform.localScale    = new Vector3(scale, scale, scale);
                    _combatController = mDMono.GetComponent <CombatController>();
                    _combatController.Initialize(playerController.SkinnedRigPrefab.transform, playerController.CharacterModel, 1 << LayerMask.NameToLayer("Enemy"));

                    playerController.CharacterComponent = mDMono.GetComponent <CharacterComponent>();
                    playerController.CharacterComponent.OnSpawn(playerController.CharacterModel, playerController.SkinnedRigPrefab, -1, false);

                    _HeadBar = playerController.SkinnedRigPrefab.GetMonoILRComponent <HeadBars2D>(false);
                    if (_HeadBar == null)
                    {
                        _HeadBar = playerController.SkinnedRigPrefab.AddMonoILRComponent <HeadBars2D>("Hotfix_LT.UI.HeadBars2D");
                    }

                    if (mDMono.GetComponent <Collider>() != null && mDMono.GetComponent <Collider>() is BoxCollider)
                    {
                        BoxCollider box = mDMono.GetComponent <Collider>() as BoxCollider;
                        box.size        = new Vector3(1.5f, 1.5f, 1.5f) + new Vector3(0, playerController.CharacterModel.heightOffset, 0);
                        box.center      = new Vector3(0, box.size.y / 2.0f, 0);
                    }

                    _muzzle = GameUtils.SearchHierarchyForBone(playerController.SkinnedRigPrefab.transform, "muzzle");
                    if (null == _muzzle)
                    {
                        _muzzle = mDMono.transform;
                    }

                    if (firstCreate)
                    {
                        LevelOwnerComponent.AssignLevelOwner(mDMono.gameObject); // this must be called after PlayerManager.RegisterPlayerController(this);
                    }
                    _avatar             = playerController.SkinnedRigPrefab.GetComponent <AvatarComponent>();
                    _shouldSetHideColor = !PerformanceManager.Instance.CurrentEnvironmentInfo.slowDevice;

                    if (!firstCreate)
                    {
                        PlayerDataLookupSet PDLS = playerController.SkinnedRigPrefab.transform.GetDataLookupILRComponent <PlayerDataLookupSet>();
                        if (PDLS != null)
                        {
                            PDLS.UserId = playerController.playerUid;
                        }
                    }

                    MoveController mc = playerController.SkinnedRigPrefab.GetComponent <MoveController>();
                    if (mDMono != null && mDMono.GetComponent <CharacterComponent>().State != eCampaignCharacterState.Idle)
                    {
                        mc.TransitionTo(MoveController.CombatantMoveState.kLocomotion);
                    }
                }, null);
            }
            catch (System.NullReferenceException e)
            {
                EB.Debug.LogError(e.ToString());
            }
        }
Example #25
0
 // Use this for initialization
 void Start()
 {
     currentLife      = maximunLife;
     combatController = gameObject.GetComponent <CombatController>();
     enemy            = GameObject.FindGameObjectWithTag((tag == "Player") ? "Player2" : "Player");
 }
Example #26
0
    IEnumerator GoToEndCell(Vector2 _pos, Vector2 endPos)
    {
        CombatController cc   = FindObjectOfType <CombatController>();
        BattleGrid       grid = FindObjectOfType <BattleGrid>();

        grid.cells[(int)this.pos.x, (int)this.pos.y].isOccupied = false;
        int x = (int)endPos.x - (int)_pos.x;
        int y = (int)endPos.y - (int)_pos.y;

        if (x != 0)
        {
            int zx = x / Mathf.Abs(x);
            for (int i = 1; i < Mathf.Abs(x) + 1; i++)
            {
                cellToCross.Add(base.grid.cells[((int)this.pos.x + (zx * i)), (int)this.pos.y]);
            }
        }

        //Prendo l'ultima cella trovata se c'è
        if (cellToCross.Count != 0)
        {
            x = (int)cellToCross[cellToCross.Count - 1].GetComponent <CombatCell>().pos.x;
        }
        else
        {
            x = (int)_pos.x;
        }

        if (y != 0)
        {
            int zy = y / Mathf.Abs(y);
            for (int j = 1; j < Mathf.Abs(y) + 1; j++)
            {
                cellToCross.Add(base.grid.cells[x, (int)this.pos.y + (zy * j)]);
            }
        }
        int      newX = (int)_pos.x;
        Animator anim = GetComponent <Animator>();

        if (newX < (int)endPos.x)
        {
            anim.SetBool("WalkRight", true);
        }
        if (newX >= (int)endPos.x)
        {
            anim.SetBool("WalkLeft", true);
        }

        foreach (CombatCell item in cellToCross)
        {
            Vector3 distance;
            Vector3 direction;
            bool    isMoving = true;

            while (isMoving)
            {
                distance  = item.gameObject.transform.position - this.transform.position;
                direction = distance.normalized;
                this.transform.position = this.transform.position + direction * Time.deltaTime * 2;
                if (distance.sqrMagnitude < 0.01f)
                {
                    isMoving = false;
                    this.transform.position = new Vector3(item.transform.position.x, item.transform.position.y, 0);
                }
                base.pos = item.pos;
                yield return(null);
            }
            //  this.transform.position = item.gameObject.transform.position;
            //
            //SpriteRenderer sr2 = item.gameObject.GetComponent<SpriteRenderer>();
            //sr2.color = Color.white;
        }
        anim.SetBool("WalkLeft", false);
        anim.SetBool("WalkRight", false);
        anim.SetBool("IdleLeft", true);
        grid.cells[(int)this.pos.x, (int)this.pos.y].isOccupied = true;
        grid.cells[(int)this.pos.x, (int)this.pos.y].occupier   = this.gameObject;
        cellToCross.Clear();
        cc.EndOfTurn();
    }
Example #27
0
 /// <summary>
 /// Sets instance variable to current gameObject(s) the they respectivly relate to.
 /// </summary>
 /// <see cref="_myCombatController"/>
 /// <seealso cref="_myAIController"/>
 private void Awake()
 {
     _myCombatController = gameObject.GetComponent <CombatController>();
     _myAIController     = gameObject.GetComponent <AIController>();
 }
Example #28
0
 public AddEffect(CombatController cc)
 {
     InitializeComponent();
     this.combatController = cc;
 }
 /// <summary>
 /// Creates the combat controller for the character.
 /// </summary>
 protected virtual void CreateCombatController()
 {
     combatControllerReference = gameObject.AddComponent <CombatController>();
 }
Example #30
0
 public void Attack(GameObject ToAttack)
 {
     CombatController othercombat = CharacterDesign.CombatModule(ToAttack);
 }
 void Start()
 {
     state  = mySelf.GetComponent <CombatController>();
     health = myEnemy.GetComponent <PlayerHealth>();
     GetComponent <Collider>().enabled = false;
 }
 public abstract AbilityModifier Create(CombatController owner);
Example #33
0
 // Start is called before the first frame update
 void Awake()
 {
     combatCon = GetComponent <CombatController>();
     inv       = GetComponent <Inventory>();
 }
Example #34
0
	// Use this for initialization
	void Start () 
	{
		//initialize states and variables
		inputState = InputState.NOINPUT;
		attackState = AttackState.NORMAL;
		rb = GetComponent<Rigidbody2D>();
		shotSpeedCurrent = shotSpeedOriginal;
		ChargeIndicatorColor (Color.green);
		combat = GameObject.Find("CombatController").GetComponent<CombatController>();
		shotPath = line.GetComponent<ShotPath>();
	}
Example #35
0
 // Use this for initialization
 public void Init(Vector3 direction, CombatController combatCont)
 {
     combat_controller = combatCont;
     travelDirection   = direction;
     Debug.Log("Shot projectile towards " + direction);
 }
Example #36
0
	public void RegisterWithControllers()
	{
		Debug.Log("RegisterWithControllers()");
		m_currentCombatController = FindObjectOfType<CombatController>();
		Debug.Log (m_currentCombatController);
		m_currentHeroController = FindObjectOfType<HeroController> ();

		if (m_currentCombatController == null || m_currentHeroController == null) {
			Debug.LogWarning ("No Hero and/or CombatController found!");
		}
		else
		{
			m_currentCombatController._ancestorList.Add ( this );
			m_currentHeroController._ancestorList.Add ( this );
		}
	}
Example #37
0
        /// <summary>
        /// ATTENTION: 已改为异步,待观察是否有问题
        /// </summary>
        /// <param name="characterClass"></param>
        /// <param name="userid"></param>
        /// <param name="size"></param>
        public void CreateOtherPlayer(string characterClass, long userid, float size)
        {
            try
            {
                playerController.Gender         = eGender.Male;
                playerController.CharacterModel = CharacterCatalog.Instance.GetModel(characterClass);
                string      prefabName = playerController.CharacterModel.PrefabNameFromGenderMain(playerController.Gender);
                IDictionary partions   = GetPartitionsData(userid);
                PoolModel.GetModelAsync(prefabName, mDMono.transform.position, Quaternion.identity, (o, prm) =>
                {
                    var variantObj = o as GameObject;
                    variantObj.transform.SetParent(mDMono.transform);
                    variantObj.transform.localPosition = Vector3.zero;

                    CharacterVariant variant = variantObj.GetComponent <CharacterVariant>();
                    variant.InstantiateCharacter(partions);

                    playerController.SkinnedRigPrefab = variant.CharacterInstance;
                    if (playerController.SkinnedRigPrefab == null)
                    {
                        EB.Debug.LogError("SkinnedRigPrefab is NULL");
                        return;
                    }

                    #region 其他玩家的一些设置After Create
                    //SkinnedRigPrefab = PoolModel.GetNext(prefabName, transform.position, Quaternion.identity) as GameObject;
                    //_skinnedRigPrefabInstance = Instantiate(EB.Assets.Load(prefabName), transform.position, Quaternion.identity) as GameObject;
                    playerController.SkinnedRigPrefab.name = prefabName + "_Character";
                    playerController.SkinnedRigPrefab.tag  = "CharacterMesh";
                    playerController.SkinnedRigPrefab.transform.SetParent(mDMono.transform);
                    playerController.SkinnedRigPrefab.transform.localRotation = Quaternion.identity;
                    playerController.SkinnedRigPrefab.transform.localScale    = new Vector3(size, size, size);

                    // only enable once we have our skinned rig prefab instance resolved
                    _combatController = mDMono.GetComponent <CombatController>();
                    _combatController.Initialize(playerController.SkinnedRigPrefab.transform, playerController.CharacterModel, 1 << LayerMask.NameToLayer("Enemy"));

                    playerController.CharacterComponent = mDMono.GetComponent <CharacterComponent>();
                    playerController.CharacterComponent.OnSpawn(playerController.CharacterModel, playerController.SkinnedRigPrefab, -1, false);
                    //bool isUseCharacterRecord = (_viewRPC == null || _viewRPC.isMine);
                    //CharacterRecord characterRecord = null;
                    //NPC名字
                    _HeadBar = playerController.SkinnedRigPrefab.GetMonoILRComponent <HeadBars2D>(false);
                    if (_HeadBar == null)
                    {
                        _HeadBar = playerController.SkinnedRigPrefab.AddMonoILRComponent <HeadBars2D>("Hotfix_LT.UI.HeadBars2D");
                    }
                    if (mDMono.GetComponent <Collider>() != null && mDMono.GetComponent <Collider>() is BoxCollider)
                    {
                        BoxCollider box = mDMono.GetComponent <Collider>() as BoxCollider;
                        box.size        = new Vector3(1.5f, 1.5f, 1.5f) + new Vector3(0, playerController.CharacterModel.heightOffset, 0);
                        box.center      = new Vector3(0, box.size.y / 2.0f, 0);
                    }
                    //if (isUseCharacterRecord)
                    //{
                    //	characterRecord = CharacterManager.Instance.CurrentCharacter;
                    //}
                    _muzzle = GameUtils.SearchHierarchyForBone(playerController.SkinnedRigPrefab.transform, "muzzle");
                    if (null == _muzzle)
                    {
                        _muzzle = mDMono.transform;
                    }

                    //ToDo:看起来无用,暂时屏蔽
                    //PlayMakerGlobals.Instance.Variables.FindFsmGameObject("Player" + (_initialPlayerIndex + 1)).Value =mDMono . gameObject;
                    #endregion
                }, null);
            }
            catch (System.NullReferenceException e)
            {
                EB.Debug.LogError(e.ToString());
            }
        }
 public abstract AbilityActivator Create(CombatController owner);
 /// <summary>
 /// Player init method.
 /// </summary>
 private void Awake()
 {
     _myCombatController = gameObject.GetComponent <CombatController>();
     leftGun.SetRangedWeaponStats(0f, rangedWeaponRange, rangedWeaponDamage, rangedWeaponMunition);
     rightGun.SetRangedWeaponStats(0f, rangedWeaponRange, rangedWeaponDamage, rangedWeaponMunition);
 }