|
- using System;
- using SUISSEngine;
- using UnityEngine;
-
- public class ReadOnlyWrapper : MonoBehaviour
- {
- public void WrapAround(GameObject original)
- {
- GridTile component = original.GetComponent<GridTile>();
- if (component == null)
- {
- return;
- }
- SpriteRenderer spriteRenderer = component.spriteRenderer;
- SpriteRenderer bottomRenderer = component.bottomRenderer;
- this.CopyGridTile(component);
- this.CopySpriteRenderer(this.mainSprite, spriteRenderer);
- this.CopyAnimator(this.mainAnimator, original.GetComponent<Animator>());
- this.CopySpriteRenderer(this.bottomSprite, bottomRenderer);
- }
-
- private void CopyGridTile(GridTile oTile)
- {
- this.tile.gridSizeU = oTile.gridSizeU;
- this.tile.gridSizeV = oTile.gridSizeV;
- this.tile.canMirror = oTile.canMirror;
- this.tile.offset = oTile.offset;
- this.tile.orderOffset = oTile.orderOffset;
- this.tile.fixedOrder = oTile.fixedOrder;
- this.tile.requiredGridType = oTile.requiredGridType;
- this.tile.canHide = oTile.canHide;
- }
-
- private void CopySpriteRenderer(SpriteRenderer renderer, SpriteRenderer original)
- {
- if (original != null)
- {
- renderer.enabled = true;
- renderer.sprite = original.sprite;
- renderer.color = original.color;
- }
- else
- {
- renderer.sprite = null;
- renderer.color = Color.white;
- renderer.enabled = false;
- }
- }
-
- private void CopyAnimator(Animator animator, Animator original)
- {
- if (original != null)
- {
- animator.enabled = true;
- animator.runtimeAnimatorController = original.runtimeAnimatorController;
- animator.avatar = original.avatar;
- animator.applyRootMotion = original.applyRootMotion;
- animator.updateMode = original.updateMode;
- animator.cullingMode = original.cullingMode;
- }
- else
- {
- animator.runtimeAnimatorController = null;
- animator.avatar = null;
- animator.applyRootMotion = false;
- animator.updateMode = AnimatorUpdateMode.Normal;
- animator.cullingMode = AnimatorCullingMode.AlwaysAnimate;
- animator.enabled = false;
- }
- }
-
- public SpriteRenderer mainSprite;
-
- public SpriteRenderer bottomSprite;
-
- public Animator mainAnimator;
-
- public Animator bottomAnimator;
-
- public GridTile tile;
-
- public Material defaultSprite;
- }
|