[SyncVar] public bool isWalking; // bools for synchronizing animations #endregion #region //====== MONOBEHAVIOURS ======\\ public override void Start() { base.Start(); // UI nameText.text = Name.ToString(); if (!isLocalPlayer) { onStartIfNotLocal.Invoke(); return; } localPlayer = this; // camera m_Camera = Camera.main; m_Camera.GetComponentInParent <CameraController>().SetTarget(transform); // scripts positionSynchronization = GetComponent <PositionSynchronization>(); weaponController = GetComponent <WeaponController>(); // indicator indicator = Instantiate(indicatorPrefab, Vector3.zero, Quaternion.identity).transform; indicatorAnimator = indicator.GetComponent <Animator>(); onStartIfLocal.Invoke(); StartCoroutine(CheckTarget()); // show inventory InventorySystem.Instance.Reset(); foreach (var key in inventoryData.Keys) { InventorySystem.Instance.OnInventoryUpdate(key, inventoryData[key]); } foreach (var key in equipmentData.Keys) { EquipmentSystem.OnEquipmentUpdate(SyncIDictionary <EquipmentSlot, ItemData> .Operation.OP_ADD, key, equipmentData[key]); } inventoryData.Callback += OnInventoryUpdate; equipmentData.Callback += EquipmentSystem.OnEquipmentUpdate; UIStatsPanel.SetNameText(Name); EquipmentSystem.SetPlayer(this); InventorySystem.LoadToolbar(); }
private void Update() { if (isLocalPlayer) { HandleInput(); if (target != null) { if (localCooldown <= 0 && Vector3.Distance(target.transform.position, transform.position) <= usedWeapon.attackRange) { Attack(target); } MessageSystem.SetEntityInfoData(target); } else { HandleMouseHover(); } // ATTACKING if (localCooldown > 0) { localCooldown -= Time.deltaTime; } // ANIMATION bool nIsSprinting = isRunning && Input.GetKey(KeyCode.LeftShift); bool nIsWalking = isRunning && Input.GetKey(KeyCode.LeftControl); if (nIsSprinting != isSprinting || nIsWalking != isWalking) { CmdSetInput(nIsSprinting, nIsWalking); } // MOVEMENT if (movementClickCooldown > 0) { movementClickCooldown -= Time.deltaTime; } UIStatsPanel.SetHealthbarValue(Health, maxHealth); } agent.speed = Speed; }