12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- import { _decorator, BoxCollider2D, Button, CircleCollider2D, Collider2D, Color, Component, Enum, find, Node, NodeEventType, Sprite } from 'cc';
- import { WaterColorHex, WaterColors } from '../TakeGobletGlobalInstance';
- const { ccclass, property, executeInEditMode } = _decorator;
- @ccclass('Water')
- @executeInEditMode
- export class Water extends Component {
- @property({ type: Enum(WaterColors) })
- private _color: WaterColors = WaterColors.Blue;
- @property(Sprite)
- sprite: Sprite = null!
- get color() {
- return this._color;
- }
- set color(value: WaterColors) {
- this._color = value;
- this.updateColor();
- }
- start() {
- this.updateColor();
- }
- onLoad() {
- this.updateColor();
- }
- private updateColor() {
- const sprite = this.getComponent(Sprite);
- if (sprite) {
- sprite.color = new Color(WaterColorHex[this._color]);
- }
- }
- // 外部调用设置颜色
- public setColor(color: WaterColors) {
- this.color = color;
- }
- }
|