| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- import { _decorator, Color, Component, Node } from 'cc';
- import { ColorModel } from '../../util/JsonModel/ColorModel';
- const { ccclass, property } = _decorator;
- export class WaterData {
- private static ColorMap = new Map<string, Color>
- static clear() {
- WaterData.ColorMap.clear()
- }
- static getWaterByColorId(colorId: number, isHide = false) {
- let color = ColorModel.getById(colorId)
- let water = new WaterData(color,isHide)
- return water
- }
- private _color: ColorModel
- isHide: boolean
- static hideColor = new Color(50, 50, 50)
- get color() {
- return this._color
- }
- get id() {
- return this.color.Id
- }
- get buttomColor(): Color {
- if (this.isHide) {
- return WaterData.hideColor
- }
- return this.getColor(this.color.buttomColor)
- }
- get topColor(): Color {
- if (this.isHide) {
- return WaterData.hideColor
- }
- return this.getColor(this.color.topColor)
- }
- private getColor(colorStr: string) {
- let color = WaterData.ColorMap.get(colorStr)
- if (!color) {
- color = new Color(colorStr)
- WaterData.ColorMap.set(colorStr, color)
- }
- return color
- }
- constructor(color: ColorModel, isHide: boolean = false) {
- this._color = color
- this.isHide = isHide
- }
- }
|