public void UseItem(PlayerController player) { if (selectedItem == null) { LevelManager lManager = FindObjectOfType <LevelManager>(); lManager.ActivateNPCFeedback("No hay un item en esta casilla"); return; } ActivableSystem system = GetActivableSystem(player); if (system) { if (system.PlaceItem(selectedItem.Value.sprite)) { RemoveItem(); } } }
private void HandleGearSystemA(GearSystem gearSystem, bool notifyOthers) { // Dispose every used gear in case of reconnection for (int i = 0; i < gearSystem.components.Length; i++) { string usedGearName = gearSystem.components[i].sprite.name; GameObject usedGear = GameObject.Find(usedGearName); if (usedGear) { DestroyObject(usedGearName, .1f); } } // Hide every placed gear SpriteRenderer[] componentSlots = gearSystem.GetComponentsInChildren <SpriteRenderer>(); for (int i = 0; i < componentSlots.Length; i++) { componentSlots[i].sprite = null; } // Change the gearsystem sprite SpriteRenderer systemSpriteRenderer = gearSystem.GetComponent <SpriteRenderer>(); systemSpriteRenderer.sprite = gearSystem.activatedSprite; gearSystem.ToggleParticles(true); SetAnimatorBool("startMoving", true, gearSystem); GameObject secondMachine = GameObject.Find("MaqEngranaje2"); if (secondMachine) { ActivableSystem secondGear = secondMachine.GetComponent <ActivableSystem>(); SetAnimatorBool("startMoving", true, secondGear); } MoveTowardsAndDie blocksMover = GameObject.Find("GiantBlockers").GetComponent <MoveTowardsAndDie>(); blocksMover.StartMoving(gearSystem.GetParticles()); if (notifyOthers) { SetAnimatorBool("startMovingMachine", false, gearSystem, 2f); } if (Object.FindObjectOfType <Planner>()) { if (gearSystem.switchObj) { gearSystem.switchObj.ActivateSwitch(); Planner planner = Object.FindObjectOfType <Planner>(); planner.Monitor(); } } if (notifyOthers) { SendMessageToServer("ObstacleDestroyed/GiantBlockers", true); SendMessageToServer("ActivateSystem/" + gearSystem.name, true); } }
protected void SetAnimatorBool(string parameter, bool value, ActivableSystem activableSystem, float time) { SceneAnimator sceneAnimator = GameObject.FindObjectOfType <SceneAnimator>(); sceneAnimator.SetBool(parameter, value, activableSystem.gameObject, time); }
protected void StartAnimation(string animationName, ActivableSystem activableSystem) { SceneAnimator sceneAnimator = GameObject.FindObjectOfType <SceneAnimator>(); sceneAnimator.StartAnimation(animationName, activableSystem.gameObject); }