void SetImgAttr(SetImgAttrCmd cmd) { #if FDB Should.True("nodeIdxDict.ContainsKey(cmd.id)", PtrIntDict.Contains(nodeDict, cmd.id)); Should.InRange("cmd.imgAttrId", cmd.imgAttrId, 0, ImgAttr.End - 1); #endif var img = (TpSprite *)PtrIntDict.Get(nodeDict, cmd.id); var args = cmd.args; switch (cmd.imgAttrId) { case ImgAttr.Interactable: SetImgInteractable(cmd); break; case ImgAttr.Position: TpSprite.SetPosition(img, (float)args[0], (float)args[1], (float)args[2]); needDepthSort = true; break; case ImgAttr.Rotation: TpSprite.SetRotation(img, (float)args[0]); break; case ImgAttr.Scale: TpSprite.SetScale(img, (float)args[0], (float)args[1]); break; case ImgAttr.Alpha: TpSprite.SetAlpha(img, (float)args[0]); break; case ImgAttr.Tint: TpSprite.SetTint(img, (float)args[0], (float)args[1], (float)args[2]); break; case ImgAttr.ImgId: TpSprite.SetMeta(img, Res.GetSpriteMeta((int)args[0])); break; } }
void SetImgInteractable(SetImgAttrCmd cmd) { int id = cmd.id; var onTouch = (OnTouchDelegate)cmd.args[0]; if (onTouch == null) { if (nodeTouchHandlerDict.ContainsKey(id)) { nodeTouchHandlerDict.Remove(id); } } else { nodeTouchHandlerDict[id] = onTouch; } }