54 lines
1.1 KiB
C#
54 lines
1.1 KiB
C#
using LE_LevelEditor.Logic;
|
|
using UnityEngine;
|
|
|
|
namespace LE_LevelEditor.Commands
|
|
{
|
|
public class LE_CmdAddTerrainTexture : LE_CmdBase
|
|
{
|
|
private LE_LogicTerrain m_logicTerrain;
|
|
|
|
private Texture2D m_texToAdd;
|
|
|
|
public LE_CmdAddTerrainTexture(LE_LogicTerrain p_logicTerrain, Texture2D p_texToAdd)
|
|
{
|
|
m_logicTerrain = p_logicTerrain;
|
|
m_texToAdd = p_texToAdd;
|
|
}
|
|
|
|
public override long GetStoredBytes()
|
|
{
|
|
return 16L;
|
|
}
|
|
|
|
public override bool Execute()
|
|
{
|
|
if (!base.Execute())
|
|
{
|
|
return false;
|
|
}
|
|
if (m_logicTerrain == null)
|
|
{
|
|
Debug.LogError("LE_CmdAddTerrainTexture: Execute: could not execute, because m_logicTerrain is null!");
|
|
return false;
|
|
}
|
|
m_logicTerrain.AddTerrainTexture(m_texToAdd);
|
|
return true;
|
|
}
|
|
|
|
public override bool Rollback()
|
|
{
|
|
if (!base.Rollback())
|
|
{
|
|
return false;
|
|
}
|
|
if (m_logicTerrain == null)
|
|
{
|
|
Debug.LogError("LE_CmdAddTerrainTexture: Rollback: could not rollback, because m_logicTerrain is null!");
|
|
return false;
|
|
}
|
|
m_logicTerrain.RemoveTerrainTexture(m_texToAdd);
|
|
return true;
|
|
}
|
|
}
|
|
}
|