IEnumerator DrawASkill() { while (true) { //Draw random skill int _rand = Random.Range(0, 200); if (_rand <= 20) { actionController.AddAction(skill1); //actionController.AddAction(skill3); } else if (_rand < 40) { actionController.AddAction(skill2); //actionController.AddAction(skill3); } else if (_rand < 60) { actionController.AddAction(skill4); } else if (_rand < 80) { actionController.AddAction(skill3); } else { _dash_goal = LevelManager.instance.randomPosInMap; actionController.AddAction(dash); } yield return(wait); } }
private void Update() { /* * if (Input.GetMouseButton(0)) * { * //TODO: Shoot evnet * actionController.AddAction(shoot_act); * } */ if (Input.GetKeyDown(KeyCode.Space)) { actionController.AddAction(dash_act); } //Auto Shoot actionController.AddAction(shoot_act); //Keyboard //if (Input.GetKey(KeyCode.RightArrow) || Input.GetKey(KeyCode.LeftArrow) || // Input.GetKey(KeyCode.DownArrow) || Input.GetKey(KeyCode.UpArrow)) //{ // _shoot_point = GetArrowKeyValue(); // actionController.AddAction(shoot_act); // // Vector3 look_dir = _shoot_point; // float m = look_dir.y / Mathf.Pow(look_dir.x * look_dir.x + look_dir.y * look_dir.y, 0.5f); // float m_angle = (float)(Math.Atan(m)) * Mathf.Rad2Deg; // weapon.transform.eulerAngles = new Vector3(0, 0, -m_angle) + transform.rotation.eulerAngles; //} Debug.Log(_shoot_point); }
private void Start() { sp = GetComponent <SpriteRenderer>(); actionController = GetComponent <ActionController>(); hitableObj = GetComponent <HitableObj>(); audioSource = GetComponent <AudioSource>(); filter.SetLayerMask(detect_layermask); filter.useTriggers = true; actionController.eOnActionComplete += SetDefaultAction; actionController.eActionQueueCleared += delegate { actionController.AddAction(Idle_act); }; move_act.action.AddListener(delegate { Move(); }); //First default action actionController.AddAction(Idle_act); shoot_act.gap_time = weapon.weaponData.shoot_gap_time; //generate move goal move_goal = new GameObject().transform; hitableObj.gotHit_event += OnHurt; hitableObj.Die_event += Die; }
private void OnDestroy() { actionController.eOnActionComplete -= SetDefaultAction; actionController.eActionQueueCleared -= delegate { actionController.AddAction(Idle_act); }; hitableObj.gotHit_event -= OnHurt; hitableObj.Die_event -= Die; }
private void MouseUp(int buttonID, Vector3 position) { if (!mousePressed || buttonID != 0) { return; } if (isCreatingMultipleVoxels) { lastVoxelCreated.transform.SetParent(null); bool canVoxelsBeCreated = true; foreach (VoxelPrefab voxel in createdVoxels.Values) { if (!voxel.IsAvailable()) { canVoxelsBeCreated = false; break; } } BuildInWorldCompleteAction buildAction = new BuildInWorldCompleteAction(); buildAction.actionType = BuildInWorldCompleteAction.ActionType.CREATE; List <BuilderInWorldEntityAction> entityActionList = new List <BuilderInWorldEntityAction>(); foreach (Vector3Int voxelPosition in createdVoxels.Keys) { if (canVoxelsBeCreated) { DecentralandEntity entity = builderInWorldEntityHandler.DuplicateEntity(lastVoxelCreated); entity.gameObject.tag = BuilderInWorldSettings.VOXEL_TAG; entity.gameObject.transform.position = voxelPosition; BuilderInWorldEntityAction builderInWorldEntityAction = new BuilderInWorldEntityAction(entity, entity.entityId, BuilderInWorldUtils.ConvertEntityToJSON(entity)); entityActionList.Add(builderInWorldEntityAction); } Destroy(createdVoxels[voxelPosition].gameObject); } if (!canVoxelsBeCreated) { builderInWorldEntityHandler.DeleteEntity(lastVoxelCreated); } else { buildAction.CreateActionType(entityActionList, BuildInWorldCompleteAction.ActionType.CREATE); actionController.AddAction(buildAction); } createdVoxels.Clear(); builderInWorldEntityHandler.DeselectEntities(); lastVoxelCreated = null; isCreatingMultipleVoxels = false; mousePressed = false; freeCameraMovement.SetCameraCanMove(true); } }
public void DuplicateSelectedEntities() { BuildInWorldCompleteAction buildAction = new BuildInWorldCompleteAction(); buildAction.actionType = BuildInWorldCompleteAction.ActionType.CREATE; List <BuilderInWorldEntityAction> entityActionList = new List <BuilderInWorldEntityAction>(); List <DCLBuilderInWorldEntity> entitiesToDuplicate = new List <DCLBuilderInWorldEntity>(selectedEntities); DeselectEntities(); foreach (DCLBuilderInWorldEntity entityToDuplicate in entitiesToDuplicate) { if (entityToDuplicate.isNFT) { continue; } var entityDuplicated = DuplicateEntity(entityToDuplicate); BuilderInWorldEntityAction builderInWorldEntityAction = new BuilderInWorldEntityAction(entityDuplicated.rootEntity, entityDuplicated.rootEntity.entityId, BuilderInWorldUtils.ConvertEntityToJSON(entityDuplicated.rootEntity)); entityActionList.Add(builderInWorldEntityAction); SelectEntity(entityDuplicated); } currentActiveMode?.SetDuplicationOffset(duplicateOffset); buildAction.CreateActionType(entityActionList, BuildInWorldCompleteAction.ActionType.CREATE); actionController.AddAction(buildAction); }
public void DuplicateSelectedEntities() { BuildInWorldCompleteAction buildAction = new BuildInWorldCompleteAction(); buildAction.actionType = BuildInWorldCompleteAction.ActionType.CREATE; List <BuilderInWorldEntityAction> entityActionList = new List <BuilderInWorldEntityAction>(); int amount = selectedEntities.Count; for (int i = 0; i < amount; i++) { if (selectedEntities[i].isNFT) { continue; } DecentralandEntity entityDuplicated = DuplicateEntity(selectedEntities[i]); BuilderInWorldEntityAction builderInWorldEntityAction = new BuilderInWorldEntityAction(entityDuplicated, entityDuplicated.entityId, BuilderInWorldUtils.ConvertEntityToJSON(entityDuplicated)); entityActionList.Add(builderInWorldEntityAction); } currentActiveMode?.SetDuplicationOffset(duplicateOffset); Cursor.SetCursor(duplicateCursorTexture, Vector2.zero, CursorMode.Auto); buildAction.CreateActionType(entityActionList, BuildInWorldCompleteAction.ActionType.CREATE); actionController.AddAction(buildAction); }
private IEnumerator Start() { //GCManager.RegisterObject(_ammo.ammoData.GC_key, _ammo); yield return(new WaitForFixedUpdate()); actionController = GetComponent <ActionController>(); shoot.action.AddListener(delegate { Shoot(); }); while (true) { actionController.AddAction(shoot); yield return(new WaitForSeconds(time)); } }
public void UndoRedoMoveAction() { BuildInWorldCompleteAction buildModeAction = new BuildInWorldCompleteAction(); Vector3 oldPosition = scene.entities[ENTITY_ID].gameObject.transform.position; Vector3 newPosition = new Vector3(5, 5, 5); BuilderInWorldEntityAction entityAction = new BuilderInWorldEntityAction(ENTITY_ID); entityAction.oldValue = oldPosition; entityAction.newValue = newPosition; buildModeAction.CreateActionType(entityAction, BuildInWorldCompleteAction.ActionType.MOVE); scene.entities[ENTITY_ID].gameObject.transform.position = newPosition; actionController.AddAction(buildModeAction); actionController.TryToUndoAction(); Assert.IsTrue(scene.entities[ENTITY_ID].gameObject.transform.position == oldPosition); actionController.TryToRedoAction(); Assert.IsTrue(scene.entities[ENTITY_ID].gameObject.transform.position == newPosition); }
public void ChangeFloor(CatalogItem newFloorObject) { CatalogItem lastFloor = lastFloorCalalogItemUsed; if (lastFloor == null) { lastFloor = FindCurrentFloorCatalogItem(); } builderInWorldEntityHandler.DeleteFloorEntities(); CreateFloor(newFloorObject); BuildInWorldCompleteAction buildAction = new BuildInWorldCompleteAction(); buildAction.CreateChangeFloorAction(lastFloor, newFloorObject); actionController.AddAction(buildAction); }
void OnSceneObjectSelected(SceneObject sceneObject) { if (IsSceneObjectFloor(sceneObject)) { builderInWorldEntityHandler.DeleteFloorEntities(); SceneObject lastFloor = lastFloorSceneObjectUsed; CreateFloor(sceneObject); BuildInWorldCompleteAction buildAction = new BuildInWorldCompleteAction(); buildAction.CreateChangeFloorAction(lastFloor, sceneObject); actionController.AddAction(buildAction); } else { CreateSceneObject(sceneObject); } }
public void DuplicateSelectedEntities() { foreach (DCLBuilderInWorldEntity entity in selectedEntities) { if (!DCL.Environment.i.world.sceneBoundsChecker.IsEntityInsideSceneBoundaries(entity.rootEntity)) { return; } } BuildInWorldCompleteAction buildAction = new BuildInWorldCompleteAction(); buildAction.actionType = BuildInWorldCompleteAction.ActionType.CREATE; List <BuilderInWorldEntityAction> entityActionList = new List <BuilderInWorldEntityAction>(); int amount = selectedEntities.Count; for (int i = 0; i < amount; i++) { if (selectedEntities[i].isNFT) { continue; } DecentralandEntity entityDuplicated = DuplicateEntity(selectedEntities[i]); BuilderInWorldEntityAction builderInWorldEntityAction = new BuilderInWorldEntityAction(entityDuplicated, entityDuplicated.entityId, BuilderInWorldUtils.ConvertEntityToJSON(entityDuplicated)); entityActionList.Add(builderInWorldEntityAction); } currentActiveMode.SetDuplicationOffset(duplicateOffset); Cursor.SetCursor(duplicateCursorTexture, Vector2.zero, CursorMode.Auto); buildAction.CreateActionType(entityActionList, BuildInWorldCompleteAction.ActionType.CREATE); actionController.AddAction(buildAction); }
private void Update() { if (_pv != null && !_pv.IsMine) { return; } //跳躍 //Duck and jump down if (Input.GetKey(duck_key) && Input.GetKeyDown(jump_key)) { //check ground is pass throughable? GameObject __ground = listeners.currentStandingGround; if (__ground != null && __ground.tag == "ThinWall") { transform.DOMoveY(transform.position.y - 3.5f, 0.1f); } } else if (Input.GetKeyDown(jump_key) && (jumpCount < 2)) { Debug.Log("jump"); if (jumpCount == 0) { Debug.Log("Jump start"); Jump_start(); AddJumpForce(); actionController.AddAction(jump_start); } //else if (!listeners.isGrounded) else if (jumpCount == 1) { Debug.Log("Jump double"); actionController.AddAction(doubleJump); } jumpCount++; Debug.Log("jump count" + jumpCount); } //Dash //if (Input.GetKeyDown(KeyCode.LeftShift)) if (Input.GetKeyDown(dash_key)) { actionController.AddAction(dash); } //Duck if (Input.GetKeyDown(duck_key)) { actionController.AddAction(duck); } //Duck Finish if (Input.GetKeyUp(duck_key)) { actionController.AddAction(stop); //StopCoroutine(c_heal); } }
public void AddAction(String name) { control.AddAction(name); }