public T CreateCmd <T>(SnakeBlock excer, ICmdParam param) where T : SnakeCmd { if (param != null) { ObjectCacheModel cache = SingleModel <ObjectCacheModel> .Get(); T cmd = cache.GetObjectCache <T>(); cmd.Gen(excer, param); return(cmd); } else { return(null); } }
public void RotateControl(ICmdParam param) { _cacheParam.SetParam(CmdType.Rotate, param); }
private void Inject(ControlAction action, ICmdParam param) { action?.Invoke(param); }
public override void Gen(SnakeBlock excer, ICmdParam param) { rotParam = (RotateParam)param; type = CmdType.Rotate; this.excer = excer; }
public override void Gen(SnakeBlock excer, ICmdParam param) { moveParam = (MoveParam)param; type = CmdType.Move; this.excer = excer; }
public abstract void Gen(SnakeBlock excer, ICmdParam param);
public void SetParam(CmdType type, ICmdParam param) { group[(int)type] = param; }