1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- import { _decorator, Component, Node, tween, UITransform, Vec3 } from 'cc';
- import { PinAction } from './PinAction';
- import { AudioMgr } from './AudioMgr';
- import { Clips } from './Enums';
- import { Tools } from './Tools';
- import { Global } from './Global';
- const { ccclass, property } = _decorator;
- @ccclass('BucketAction')
- export class BucketAction extends Component {
-
- @property({type:Node})
- container:Node
- start() {
- }
- update(deltaTime: number) {
- }
- clear_container(){
- this.container.removeAllChildren();
- }
- /**
- *
- * @param pin
- */
- public put_pins(pin: PinAction[]) {
- pin.forEach(element => {
- this.put_pin(element);
- });
- }
- /**
- *
- * @param pin
- */
- public put_pin(pin: PinAction) {
- let target_hole_pos = new Vec3(Tools.random_between(-20,20),Tools.random_between(-30,30),1);
- //
- let world_pos = pin.node.getWorldPosition();
- let target = this.container.getComponent(UITransform).convertToNodeSpaceAR(world_pos);
- this.container.addChild(pin.node);
- pin.node.setPosition(target);
- pin.remove_collider();
- tween(pin.node)
- .to(0.25, { position: target_hole_pos },Global.our_easing)
- .call(() => {
- AudioMgr.ins.playSound(Clips.close_screw);
- })
- .start();
- }
- /**
- *
- * @param color_id
- * @param pin_arr
- */
- public get_pin_arr_by_color_id(color_id:number,pin_arr:PinAction[]){
- this.container.children.forEach(element => {
- if (element.getComponent(PinAction)) {
- let pin_action = element.getComponent(PinAction);
- if(pin_action.pin_color&&pin_action.pin_color.id == color_id){
- pin_arr.push(pin_action);
- }
- }
- });
- }
- /**
- *
- * @param pin_arr
- */
- public get_pin_arr(pin_arr:PinAction[]){
- this.container.children.forEach(element => {
- if (element.getComponent(PinAction)) {
- let pin_action = element.getComponent(PinAction);
- if(pin_action.pin_color){
- pin_arr.push(pin_action);
- }
- }
- });
- }
- }
|